Agent skill
search-benmarte-codemunch
Search the codemunch index for symbols matching a name, pattern, kind (function/class/method), or file. Returns a compact list of matches with location and signature — no source code read until you fetch. Use this to explore unfamiliar codebases token-efficiently.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/search-benmarte-codemunch
SKILL.md
Search Skill
Find symbols without reading any files. Returns a compact index listing.
Search modes
By name (exact or fuzzy)
# Exact
jq '[.symbols[] | select(.name == "validateToken")]' .claude/codemunch/index.json
# Case-insensitive
jq '[.symbols[] | select(.name | ascii_downcase | contains("validate"))]' .claude/codemunch/index.json
# Fuzzy: split query into chars and find symbols containing all of them in order
# e.g. "vt" matches "validateToken", "visitTree"
By kind
# Find all classes
jq '[.symbols[] | select(.kind == "class")]' .claude/codemunch/index.json
# Find all exported functions
jq '[.symbols[] | select(.kind == "function")]' .claude/codemunch/index.json
# Kinds vary by language:
# TypeScript: function, class, method, property, interface, type, enum, constant, variable
# Python: function, class, method, variable
# Go: function, struct, interface, method, constant, variable, type
# Rust: function, struct, enum, trait, impl, method, constant, type
# Ruby: method, class, module, constant
# Java/Kotlin: class, interface, method, field, enum, constructor
# C/C++: function, class, struct, enum, method, field, typedef
By file
jq --arg f "auth" '[.symbols[] | select(.file | contains($f))]' .claude/codemunch/index.json
By container (class/module)
jq --arg c "AuthService" '[.symbols[] | select(.container == $c)]' .claude/codemunch/index.json
Combined
# All methods in a specific class
jq --arg c "Invoice" --arg k "method" \
'[.symbols[] | select(.container == $c and .kind == $k)]' \
.claude/codemunch/index.json
Output format
Always return a compact list — never the full source. Source is fetched separately with the fetch skill:
Found 6 symbols matching "validate":
1. validateToken function src/auth/tokens.ts:142 AuthService
2. validateInvoice function src/lib/validation.ts:89 —
3. validateAmount function src/lib/validation.ts:112 —
4. validateEmail method src/models/user.ts:34 UserModel
5. validateExpense function convex/expenses.ts:67 —
6. validateDateRange function src/utils/dates.ts:23 —
Use /codemunch:fetch <name> to read the source of any symbol.
Tokens used: 12 (vs reading 6 files: ~18,000 tokens)
LSP-enhanced search (when available)
If LSP is configured, additionally offer:
Workspace symbol search — searches across the entire project including symbols not yet in the index:
Use Claude Code's /lsp tool:
workspace/symbol
query: "[search term]"
This is the most powerful mode — LSP returns every symbol in the project matching the query, with full type information, even in files not yet indexed.
Smart exploration helpers
When searching an unfamiliar codebase, these compound searches help:
"Show me the shape of this file"
jq --arg f "$FILENAME" '[.symbols[] | select(.file == $f) | {name, kind, start_line, container}]' \
.claude/codemunch/index.json | jq 'sort_by(.start_line)'
"What are the entry points?"
# Find exported/public top-level functions
jq '[.symbols[] | select(.kind == "function" and (.container == null or .container == ""))]' \
.claude/codemunch/index.json
"Show me the class hierarchy"
jq '[.symbols[] | select(.kind == "class" or .kind == "interface" or .kind == "struct")] |
group_by(.file) |
map({file: .[0].file, types: map(.name)})' \
.claude/codemunch/index.json
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?