From Gemdex — Semantic Code Search
Use the Gemdex `search_code` MCP tool before Grep/Glob when the user is asking about code by intent or meaning (e.g. "find the websocket reconnection logic", "JWT refresh handler", "retry-with-backoff helper", "error handling in the auth flow"). Gemdex performs semantic search over the indexed codebase; Grep only matches exact strings. This skill explains the exact tools to call, when to fall back to ripgrep, and how to keep the index fresh.
How this skill is triggered — by the user, by Claude, or both
Slash command
/gemdex:code-searchThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This repository is indexed by **Gemdex**, a semantic code search MCP server (Gemini embeddings + Milvus). Reach for it **first** for anything that's a question about meaning, intent, or behavior — and only fall back to `Grep`/`Glob` for exact-string lookups.
This repository is indexed by Gemdex, a semantic code search MCP server (Gemini embeddings + Milvus). Reach for it first for anything that's a question about meaning, intent, or behavior — and only fall back to Grep/Glob for exact-string lookups.
Prefer the search_code MCP tool (provided by the gemdex server) when:
Use Grep / Glob only when:
index_codebase once with the repo's absolute path. After that, the index stays in sync automatically — this plugin's PostToolUse hook touches ~/.gemdex/.sync-trigger after every Edit, Write, or MultiEdit, which the gemdex server picks up and uses to incrementally re-embed only what changed.search_code with a natural-language query and the absolute codebase path. Read the returned file:line hits first instead of guessing or grepping.get_indexing_status to check the last sync time and chunk count. If the codebase isn't covered, run index_codebase again.Grep/Glob only for exact-string lookups (function names you already have, log lines, error strings, file globs).The gemdex MCP server exposes four tools:
search_code(path, query, limit?) — semantic search; returns ranked file:line snippets. Default limit is 5; raise to 10–15 when scoping out an unfamiliar area.index_codebase(path) — initial full index of a directory.get_indexing_status(path) — last sync time, chunk count, and freshness for a codebase.clear_index(path) — drop the index for a codebase.Always pass an absolute path for path.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub nikships/gemdex --plugin gemdex