decision-labs/geobase-skills/geobase-embeddings-rpc-applications

Claude Code and agent skill by decision-labs/geobase-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Application RPC: similarity_search and change_detection with geoembeddings schema, auth, overloads. Triggers on similarity search, nearest neighbor, change detection, embedding query from app code.

Install

npx vskill@latest install decision-labs/geobase-skills/geobase-embeddings-rpc-applications

SKILL.md

Applications: RPC API (Similarity + Change Detection)

When to use this skill

  • Build app code calling similarity_search or change_detection
  • Choose the correct RPC overload and parameters
  • Embeddings tables already exist (creation is @geobase-embeddings-create-via-workers)

Use GeoEmbeddings RPC for embedding-native analysis after embeddings tables exist.

Required Inputs

  • GEOBASE_PROJECT_URL
  • GEOBASE_ANON_KEY
  • table name(s) and optional label/filter inputs for your overload

Resolve URL/key from Studio / project settings during beta, or (when shipped):

bash
geobase-cli projects env <project-ref> --persona web --format dotenv

See @geobase → Private beta (CLI not shipped).

Client Setup

JavaScript client should use geoembeddings schema:

ts
import { createClient } from '@supabase/supabase-js'
const geobase = createClient(process.env.GEOBASE_PROJECT_URL!, process.env.GEOBASE_ANON_KEY!, {
db: { schema: 'geoembeddings' },
})

Similarity Search (similarity_search)

PostgREST picks the PostgreSQL overload from the parameter names you send. Optional parameters (?) share defaults listed under Defaults and Behavior. The overload table below is the authoritative reference for agents using this skill (including change_detection). Public docs at docs.geobase.app are planned; until then, use this skill.

Function NameParametersInput TypeLabelSpatial FilterOutput
Similarity Search (Single Table)
similarity_searchtable_name, patch_id, similarity_threshold?, result_limit?, result_offset?, include_geom?, include_embeddings?, spatial_filter?, srid?patch_id❌✅ Optionalid, similarity (+ optional geom, embedding)
similarity_searchtable_name, patch_id, label_name, similarity_threshold?, result_limit?, result_offset?, include_geom?, include_embeddings?, spatial_filter?, srid?patch_id✅✅ Optionalid, similarity (+ optional geom, embedding)
similarity_searchtable_name, lon, lat, radius?, similarity_threshold?, result_limit?, result_offset?, include_geom?, include_embeddings?, spatial_filter?, srid?point/circle❌✅ Optionalid, similarity (+ optional geom, embedding)
similarity_searchtable_name, lon, lat, label_name, radius?, similarity_threshold?, result_limit?, result_offset?, include_geom?, include_embeddings?, spatial_filter?, srid?point/circle✅✅ Optionalid, similarity (+ optional geom, embedding)
similarity_searchtable_name, query_geometry (Polygon/MultiPolygon), similarity_threshold?, result_limit?, result_offset?, include_geom?, include_embeddings?, spatial_filter?, srid?polygon❌✅ Optionalid, similarity (+ optional geom, embedding)
similarity_searchtable_name, query_geometry (Polygon/MultiPolygon), label_name, similarity_threshold?, result_limit?, result_offset?, include_geom?, include_embeddings?, spatial_filter?, srid?polygon✅✅ Optionalid, similarity (+ optional geom, embedding)
Similarity Search (Between Two Tables)
similarity_searchtable_name_1, table_name_2, similarity_threshold?, result_limit?, result_offset?, include_geom?, include_embeddings?, spatial_filter?, srid?two tables❌✅ Optionalid (from table_1), similarity (+ optional geom, embedding)
similarity_searchtable_name_1, table_name_2, label_name, similarity_threshold?, result_limit?, result_offset?, include_geom?, include_embeddings?, spatial_filter?, srid?two tables✅✅ Optionalid (from table_1), similarity (+ optional geom, embedding)

Examples below use the patch_id overload. For point/polygon/two-table calls, send the matching keys from the table (e.g. lon, lat, query_geometry, or table_name_1 + table_name_2).

Minimal JavaScript pattern:

ts
const { data, error } = await geobase.rpc('similarity_search', {
table_name: 'your_embeddings_table',
patch_id: 1,
})
if (error) throw error

Raw HTTP pattern:

bash
curl -sS -X POST "${GEOBASE_PROJECT_URL}/rest/v1/rpc/similarity_search" \
-H "apikey: ${GEOBASE_ANON_KEY}" \
-H "Authorization: Bearer ${GEOBASE_ANON_KEY}" \
-H "Content-Type: application/json" \
-H "Content-Profile: geoembeddings" \
-H "Accept-Profile: geoembeddings" \
-d '{"table_name":"your_embeddings_table","patch_id":1}'

Change Detection (change_detection)

Minimal JavaScript pattern:

ts
const { data, error } = await geobase.rpc('change_detection', {
table_name_1: 'baseline_embeddings_table',
table_name_2: 'comparison_embeddings_table',
similarity_threshold: 0.0,
})
if (error) throw error

Raw HTTP pattern:

bash
curl -sS -X POST "${GEOBASE_PROJECT_URL}/rest/v1/rpc/change_detection" \
-H "apikey: ${GEOBASE_ANON_KEY}" \
-H "Authorization: Bearer ${GEOBASE_ANON_KEY}" \
-H "Content-Type: application/json" \
-H "Content-Profile: geoembeddings" \
-H "Accept-Profile: geoembeddings" \
-d '{"table_name_1":"baseline_embeddings_table","table_name_2":"comparison_embeddings_table"}'

Defaults and Behavior

  • similarity_threshold default 0.0
  • result_limit default NULL (no limit)
  • result_offset default 0
  • include_geom default false
  • include_embeddings default false
  • spatial_filter default NULL
  • srid default 4326
  • point overloads: radius default NULL, unit default 'm' ('m' or 'deg')
  • change_detection returns change_score = 1 - similarity
  • PostgREST selects overload by the exact parameter keys you send

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/decision-labs/geobase-skills/geobase-embeddings-rpc-applications/badge)](https://verified-skill.com/skills/decision-labs/geobase-skills/geobase-embeddings-rpc-applications)

Something wrong with this skill or its page? Tell us.