Agent skill

Symdex Code Search

by husnainpk in husnainpk/SymDex

This skill should be used when finding, tracing, or understanding code in a repository with SymDex available.

MITAuto-check passedDevelopment

Install Symdex Code Search

skills CLI
$ npx skills add husnainpk/SymDex --skill symdex-code-search -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install husnainpk/SymDex symdex-code-search --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/husnainpk/SymDex.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/symdex-code-search .claude/skills/symdex-code-search && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
symdex-code-search
GitHub stars
209
Token cost
~2.3k tokens
SKILL.md length
1,153 words
Files
2
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

This skill should be used when finding, tracing, or understanding code in a repository with SymDex available.

  • Works in 8 steps: If the SymDex CLI reports a newer… → Confirm the repo id. → If the repo id is already known, pass… → …
  • It for requests like where is this defined?
  • SKILL.md covers Current SymDex Snapshot, Start Here, Core Rules and Tool Selection, plus 8 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Symdex Code Search is an agent skill from husnainpk/SymDex. This skill should be used when finding, tracing, or understanding code in a repository with SymDex available. Trigger it for requests like "where is this defined?", "who calls this?", "what route handles this path?", "show me the file outline", "search this codebase by intent", or any task that would otherwise rely on broad Read/Grep/Glob exploration.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Development, covering Codebase onboarding and Embeddings. It works with Model Context Protocol and Kotlin. The repository describes itself as: Repo-local codebase oracle for AI coding agents. Exact symbol search, semantic search, routes, and call graphs across 16 languages, from Python and Go to Dart and Swift. The licence is MIT.

When your agent uses it

  • It for requests like where is this defined?
  • Who calls this?
  • What route handles this path?
  • Show me the file outline

Example prompts

  • “where is this defined?”
  • “who calls this?”
  • “what route handles this path?”
  • “/symdex-code-search”

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. If the SymDex CLI reports a newer release, prefer upgrading before long sessions.
  2. Confirm the repo id.
  3. If the repo id is already known, pass repo on every scoped tool call.
  4. If the repo id is unknown, call list_repos and match the current worktree.
  5. Check freshness with get_index_status(repo).
  6. If the current worktree is not indexed, call index_folder(path=".").
  7. If the workspace already has .symdex, treat it as the intended local SymDex state and reuse it.
  8. Reuse the returned repo id for the rest of the task.

What it can do on your machine

Read from SKILL.md and the folder at commit 257bb3c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Symdex Code Search loads about 2.3k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 1,153 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~93
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from husnainpk/SymDex at commit 257bb3c, republished under its MIT licence (© husnainpk). 1,153 words, ~2,272 tokens.

Download SKILL.mdSave it as .claude/skills/symdex-code-search/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
symdex-code-search
description
This skill should be used when finding, tracing, or understanding code in a repository with SymDex available. Trigger it for requests like "where is this defined?", "who calls this?", "what route handles this path?", "show me the file outline", "search this codebase by intent", or any task that would otherwise rely on broad Read/Grep/Glob exploration.

Use SymDex before broad file browsing. Use it to save tokens by retrieving the exact code the agent needs instead of scanning whole files. SymDex currently covers 21 language surfaces, including Python, Go, Kotlin, Dart, Swift, HTML, CSS, Shell, Vue/Svelte script blocks, and Markdown headings plus supported fenced code blocks.

Current SymDex Snapshot

  • Package version: 0.1.26
  • Latest public tag: v0.1.26
  • MCP tool surface: 21 tools
  • Language coverage: 21 language surfaces, including Android/Kotlin, Flutter/Dart, iOS/Swift, HTML, CSS-family stylesheets, Shell, Vue/Svelte script blocks, Markdown headings, and supported fenced code blocks
  • Route extraction: Python, JavaScript/TypeScript, Spring/Kotlin, Laravel, Gin-style Go, ASP.NET, Rails/Sinatra, Phoenix, and Actix
  • Search outputs: one-line CLI token-savings footers plus MCP roi, roi_summary, and roi_agent_hint
  • Quality outputs: MCP results and CLI JSON include quality with confidence, freshness, parser mode, language surface, generated-file hints, and embedding availability
  • Context packs: CLI symdex pack and MCP build_context_pack assemble token-budgeted evidence bundles for broader feature questions
  • Semantic backends: local sentence-transformers, Voyage, OpenAI-compatible /embeddings, Gemini, and compatible proxies
  • Hosted embedding support: SYMDEX_EMBED_RPM plus symdex index --lazy for foreground structural indexing with background embedding fill
  • No-embedding mode: symdex index --no-embed skips semantic embedding work entirely
  • Watch behavior: low-memory structural refresh by default; use symdex watch --embed only when semantic embeddings must refresh continuously
  • State model: global ~/.symdex by default, optional workspace-local ./.symdex with registry.json
  • Markdown support: .md, .markdown, and .mdx headings plus supported fenced code blocks are indexed alongside source files

Start Here

  1. If the SymDex CLI reports a newer release, prefer upgrading before long sessions.
  2. Confirm the repo id.
  3. If the repo id is already known, pass repo on every scoped tool call.
  4. If the repo id is unknown, call list_repos and match the current worktree.
  5. Check freshness with get_index_status(repo).
  6. If the current worktree is not indexed, call index_folder(path=".").
  7. If the workspace already has .symdex, treat it as the intended local SymDex state and reuse it.
  8. Reuse the returned repo id for the rest of the task.

If SymDex is unavailable or indexing fails, say so clearly and fall back to normal file reads only as needed.

Core Rules

  • Search first.
  • Pass repo whenever you know it.
  • Use build_context_pack for broad "how does this feature work?", docs, API, or bug-investigation questions before issuing many separate narrow searches.
  • Prefer get_symbol or get_file_outline over full-file reads.
  • Use call graph and route tools before manual tracing.
  • Re-check get_index_status after major edits or worktree switches.
  • Read full files only when editing, reviewing unsupported or generated content, or when SymDex cannot answer.
  • Optimize for lower-token retrieval, not broad context loading.
  • If a search tool returns roi, roi_summary, or roi_agent_hint, mention the approximate token savings briefly in your response.
  • Inspect quality before reasoning from a result. Prefer fresh, parser-backed, high-confidence evidence; warn the user when evidence is stale, generated, fallback text, or missing embeddings.
  • If the repo uses workspace-local SymDex state (./.symdex), stay inside that workspace so the same index is auto-discovered.
  • Treat symdex watch as low-memory by default; only request --embed when semantic embeddings must refresh on file changes.
  • For remote embedding providers with strict request limits, prefer symdex index --lazy and set SYMDEX_EMBED_RPM instead of blocking an agent session on a long foreground embedding run.

Tool Selection

NeedTool
Index the current worktreeindex_folder
Register and index a repo explicitlyindex_repo
Find a function, class, or method by namesearch_symbols
Find code by intent or behaviorsemantic_search
Find literal text or regex matchessearch_text
Build a query-shaped evidence bundlebuild_context_pack
Read exact source for one symbolget_symbol
Get a file outline before readingget_file_outline
Get a repo map or summaryget_repo_outline or get_file_tree
Trace who calls a symbolget_callers
Trace what a symbol callsget_callees
Find HTTP routessearch_routes
Check repo freshnessget_index_status
Get code metrics and language mixget_repo_stats
List indexeslist_repos
Clean deleted-worktree indexesgc_stale_indexes

Typical Flow

  1. Confirm the repo id and freshness.
  2. Index with index_folder if needed.
  3. For broad feature, API, docs, or bug-investigation questions, start with build_context_pack.
  4. For narrow lookups, start with search_symbols, semantic_search, or search_text.
  5. Narrow to get_symbol or get_file_outline.
  6. Check quality fields on returned items before making code-understanding claims.
  7. Use get_callers, get_callees, search_routes, or get_repo_stats for deeper analysis.
  8. Fall back to direct file reads only when SymDex cannot answer precisely enough.
Show full SKILL.md (438 more words)Show less

Decision Guide

  • "Where is X defined?" -> search_symbols
  • "What does this do?" -> semantic_search, then get_symbol
  • "How does this feature work?" -> build_context_pack
  • "Gather evidence before documenting this API" -> build_context_pack with include=["routes", "docs", "tests"]
  • "Who uses this?" -> get_callers
  • "What does this call?" -> get_callees
  • "Where is the endpoint?" -> search_routes
  • "Show me the file structure first" -> get_file_outline
  • "Give me a repo-level picture" -> get_repo_outline or get_repo_stats
  • "Is the index current?" -> get_index_status

Good Trigger Phrases

  • "Find the function that validates JWTs"
  • "Who calls this route handler?"
  • "Show me the outline of this file"
  • "Search for the code that parses webhook payloads"
  • "Find the HTTP route for /api/checkout"
  • "Give me the repo summary before I edit anything"
  • "Find the code path that might explain this bug"
  • "Check whether this logic is coherent across callers and callees"
  • "Build a context pack for this feature"

Bug And Logic Investigation

Use SymDex as evidence retrieval, not as proof by itself.

  1. Start with the symptom, route, function, or text clue.
  2. Use build_context_pack when the bug spans multiple symbols, routes, docs, or tests.
  3. Retrieve the exact symbol, route, caller chain, callee chain, and relevant docs.
  4. Inspect quality.index_fresh, quality.confidence, quality.parser_mode, quality.is_generated, and quality.has_embeddings.
  5. If evidence quality is weak, say what is missing before claiming a bug.
  6. Cite the concrete symbol, file, route, or call edge behind any bug hypothesis.

Editing

When you need to edit code:

  1. Use SymDex to find the exact symbol or file location.
  2. Read only that file or symbol slice.
  3. Make the smallest change needed.
  • symdex watch refreshes structural indexes by default without loading local embedding models.
  • Use symdex watch --embed only when the task needs semantic search to stay fresh continuously.
  • If semantic_search has no embeddings, fall back to search_symbols or search_text, or re-index after enabling symdex[local], Voyage, OpenAI-compatible, Gemini, or another hosted embedding backend.
  • Use symdex index --lazy when embeddings may be slow because of hosted-model latency or RPM limits.
  • Workspace-local state keeps watcher metadata under ./.symdex, so commands should run from that workspace or pass the matching --state-dir.

Use Normal Browsing Only When Needed

  • SymDex is unavailable.
  • The repo is not indexed and cannot be indexed in the current environment.
  • The target file type is unsupported or generated.
  • You need surrounding context that the symbol-level response does not provide.

Output Checklist

  • Repo id confirmed or derived
  • Index freshness checked
  • SymDex tool chosen before broad file reads
  • Context pack used for broad multi-file questions
  • Exact symbol or file outline used before whole-file reads when possible
  • Quality metadata inspected before logic or bug claims
  • Direct file reads used only when SymDex could not answer cleanly

© husnainpk, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/symdex-code-search of husnainpk/SymDex.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 257bb3c

Compare with similar skills

Symdex Code Search next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Symdex Code Search compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Symdex Code Search this skillhusnainpk/SymDex209—~2.3kAutomated safety check: PassMIT
Codebase Explorationgiancarloerra/SocratiCode3.3k1 repos~1.5kAutomated safety check: PassAGPL-3.0
Grepaiyoanbernabeu/grepai1.9k—~1.1kAutomated safety check: PassMIT
GitDiagram Repository Overviewahmedkhaleel2004/gitdiagram18k—~427Automated safety check: PassMIT
Explore Codebase with Graphtirth8205/code-review-graph32k1 repos~335Automated safety check: PassMIT
Octocode Code Researchbgauryy/octocode949—~1.5kAutomated safety check: PassMIT

Similar skills

  • Codebase Exploration

    giancarloerra/SocratiCode

    Explore and understand codebases using SocratiCode semantic search, dependency graphs, and context artifacts.

    3.3k GitHub starsUsed in 1 repo~1.5k tokens
    DatabasesAuto-check passed
  • Grepai

    yoanbernabeu/grepai

    Semantic code search and call-graph tracing. An agent skill from yoanbernabeu/grepai.

    1.9k GitHub stars~1.1k tokensUpdated 18 days ago
    DevelopmentAuto-check passed
  • GitDiagram Repository Overview

    ahmedkhaleel2004/gitdiagram

    Explains the architecture of a public GitHub repository through GitDiagram: how the code is organized, the main components with paths, and a Mermaid diagram.

    18k GitHub stars~427 tokensUpdated today
    DevelopmentAuto-check passed
  • Explore Codebase with Graph

    tirth8205/code-review-graph

    Navigates a codebase through the code-review-graph MCP tools: architecture overview, symbol search, caller and callee tracing, flows and oversized functions.

    32k GitHub starsUsed in 1 repo~335 tokens
    DevelopmentAuto-check passed
  • Octocode Code Research

    bgauryy/octocode

    Researches code with evidence: traces callers, imports and cross-repo links, diagnoses failures and reports findings with exact file and line references and a confidence label.

    949 GitHub stars~1.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Release

    yoanbernabeu/grepai

    Create a new release for grepai. An agent skill from yoanbernabeu/grepai.

    1.9k GitHub stars~918 tokensUpdated 18 days ago
    DevelopmentAuto-check passed

Questions about Symdex Code Search

What does Symdex Code Search do?

This skill should be used when finding, tracing, or understanding code in a repository with SymDex available. Symdex Code Search is an agent skill from husnainpk/SymDex. This skill should be used when finding, tracing, or understanding code in a repository with SymDex available.

When should I use Symdex Code Search?

Symdex Code Search fits situations like: it for requests like where is this defined?; who calls this?; what route handles this path?; show me the file outline.

How do I install Symdex Code Search in Claude Code?

Run `npx skills add husnainpk/SymDex --skill symdex-code-search -a claude-code`. Or copy the skill folder (skills/symdex-code-search in husnainpk/SymDex) into .claude/skills/symdex-code-search in your project. Claude Code loads it when a task matches its description.

How do I install Symdex Code Search in Codex?

Run `npx skills add husnainpk/SymDex --skill symdex-code-search -a codex`. Or copy the skill folder (skills/symdex-code-search in husnainpk/SymDex) into .agents/skills/symdex-code-search in your project. Codex loads it when a task matches its description.

Can I use Symdex Code Search in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add husnainpk/SymDex --skill symdex-code-search -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/symdex-code-search, .gemini/skills/symdex-code-search, .github/skills/symdex-code-search and .opencode/skills/symdex-code-search in your project.

What does Symdex Code Search need to run?

SKILL.md names no scripts, command-line tools or credentials: Symdex Code Search is instructions for the agent only.

Does Symdex Code Search access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Symdex Code Search safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Symdex Code Search use?

Symdex Code Search is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Symdex Code Search use?

About 2.3k tokens (SKILL.md is roughly 9.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Symdex Code Search?

Skills that share tags, products or a category with Symdex Code Search: Codebase Exploration (giancarloerra/SocratiCode, 3.3k stars), Grepai (yoanbernabeu/grepai, 1.9k stars), GitDiagram Repository Overview (ahmedkhaleel2004/gitdiagram, 18k stars) and Explore Codebase with Graph (tirth8205/code-review-graph, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Symdex Code Search?

husnainpk (a GitHub user) maintains it in husnainpk/SymDex, which has 209 GitHub stars. The repository was last updated on April 22, 2026.

Source: husnainpk/SymDex on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.