trace-mcp Code Navigation
nikolai-vysotskyi/trace-mcp
Routes code exploration through trace-mcp's indexed dependency graph, using symbol search, outlines, call graphs and change-impact tools instead of Read, Grep and Glob.
Replaces grep, cat, find and ls with the tilth CLI, which returns AST-aware outlines, definitions, usages and callers across many languages in one call.
$ npx skills add jahala/tilth --skill tilth -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jahala/tilth tilth --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jahala/tilth.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills .claude/skills/tilth && rm -rf skills-srcUse ~/.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/
Install the "tilth" agent skill from https://github.com/jahala/tilth/tree/main/skills into .claude/skills/tilth/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tilth", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jahala/tilth/tree/main/skillsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jahala/tilth --skill tilth -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jahala/tilth tilth --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jahala/tilth.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills .agents/skills/tilth && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "tilth" agent skill from https://github.com/jahala/tilth/tree/main/skills into .agents/skills/tilth/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tilth", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jahala/tilth --skill tilth -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jahala/tilth tilth --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jahala/tilth.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills .cursor/skills/tilth && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "tilth" agent skill from https://github.com/jahala/tilth/tree/main/skills into .cursor/skills/tilth/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tilth", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jahala/tilth.git --path skills--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jahala/tilth --skill tilth -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jahala/tilth tilth --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jahala/tilth.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills .gemini/skills/tilth && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "tilth" agent skill from https://github.com/jahala/tilth/tree/main/skills into .gemini/skills/tilth/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tilth", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jahala/tilth tilthInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jahala/tilth --skill tilth -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jahala/tilth.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills .github/skills/tilth && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "tilth" agent skill from https://github.com/jahala/tilth/tree/main/skills into .github/skills/tilth/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tilth", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jahala/tilth --skill tilth -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jahala/tilth tilth --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jahala/tilth.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills .opencode/skills/tilth && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "tilth" agent skill from https://github.com/jahala/tilth/tree/main/skills into .opencode/skills/tilth/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tilth", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
tilthReplaces grep, cat, find and ls with the tilth CLI, which returns AST-aware outlines, definitions, usages and callers across many languages in one call.
This skill tells the agent to use the tilth command-line tool, which combines tree-sitter, ripgrep-style search and smart file reading in one binary, instead of grep, rg, cat, head, tail, find and ls. It covers 14 languages, including Rust, TypeScript, Python, Go, Java, C++, Ruby, PHP, C#, Swift and Elixir. Reading a path gives the full file when it is small and an outline when it is large, with options for exact line ranges or markdown headings.
Searching a symbol within a scope returns definitions, usages and callee footers together, with multi-symbol queries, inline source expansion, a callers mode for direct call sites and file globs that respect .gitignore. The agent is told not to re-read files already shown in expanded results, and to fall back to a plain symbol search when callers finds nothing because the call is indirect. The description also lists blast-radius dependencies and structural diffs.
Read from SKILL.md and the folder at commit 9ecdc04. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
tilth Code Reading CLI loads about 1.1k tokens when it runs. Until then it costs about 90 tokens; SKILL.md has 290 words of instructions outside code blocks.
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.
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.
The full file from jahala/tilth at commit 9ecdc04, republished under its MIT licence (© jahala). 290 words, ~1,120 tokens.
.claude/skills/tilth/SKILL.md (or your agent's skills folder).Tree-sitter + ripgrep + smart file reading in one binary. Replaces grep, cat, find, ls with AST-aware equivalents across 14 languages (Rust, TS/TSX, JS, Python, Go, Java, Scala, C, C++, Ruby, PHP, C#, Swift, Elixir).
Run via Bash: tilth <args>. Search before reading — tilth <symbol> --scope . returns definitions, usages, and callee footers in one call.
DO NOT use grep, rg, cat, head, tail, find, ls — use tilth instead.
DO NOT re-read files whose content is already shown in expanded search results.
tilth <path> # smart view: full if small, outline if large
tilth <path> --section 45-89 # exact line range
tilth <path> --section "## Foo" # markdown heading (suggests fuzzy matches on miss)
tilth <path> --full # force full content (file paths)Outline format: [<start>-<end>] <symbol>. Full/section format: <line> │ <content>. Binary files print [skipped]; lockfiles, minified bundles, generated code print [generated].
tilth <symbol> --scope <dir> # definitions + usages
tilth "Foo,Bar,Baz" --scope <dir> # multi-symbol (max 5)
tilth <symbol> --expand # inline source for top 2 matches
tilth <symbol> --expand=5 # inline source for top 5
tilth <symbol> --full # up to 100 matches, source for the top 50
tilth <symbol> --full --expand=0 # up to 100 matches, no inline source
tilth <symbol> --callers --scope <dir> # call sites (structural, not text)
tilth "TODO: fix" --scope <dir> # content search (literal text)
tilth "/regex/" --scope <dir> # regex search
tilth <symbol> --glob "*.rs" --scope <dir> # file pattern filter--full semantics depend on query type:
--expand=N sets the inline-source count only, so --full --expand=0 still lists up to 100 matches. Multi-symbol ("Foo,Bar") is the exception: it always expands at least one match per symbol.Symbol search also surfaces markdown headings as soft definitions — tilth StreamingResponse --scope docs/ finds ## StreamingResponse headings ranked between code defs (60-80) and usages (0). Section body inlines automatically in the default preview (capped at 40 lines; pass --expand for the rest).
Output per match:
## <path>:<start>-<end> [definition|usage|impl]
<outline context>
<expanded source block>
── calls ──
<callee> <path>:<start>-<end> <signature>
── siblings ──
<related> <path>:<start>-<end> <signature>--callers finds direct, by-name call sites. If it returns 0 matches but the symbol exists, the call is likely indirect (trait/interface dispatch, reflection, route registration, callback) — fall back to tilth <symbol> --scope . to see references.
tilth "*.test.ts" --scope <dir> # glob (respects .gitignore)
tilth --map --scope <dir> # codebase skeleton with directory token rollupstilth <file> --deps # what it imports + what depends on itUse only before renaming, removing, or changing an export's signature.
tilth diff # uncommitted changes
tilth diff HEAD~1 # vs prior commit
tilth diff main..feat # branch comparison
tilth diff --log HEAD~5..HEAD # per-commit symbol summaries
tilth diff --blast # warn on signature-changed exports
tilth diff --expand 3 # inline source for top 3 changed symbolsFunction-level change detection — [+] added, [-] removed, [~] modified, [~:sig] signature changed. Replaces git diff for symbol-level review.
tilth <args> --budget 2000 # cap response at ~N tokensUse when an outline or search returns more than you need.
© jahala, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills of jahala/tilth.
Open the folder on GitHubat commit 9ecdc04
tilth Code Reading CLI 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| tilth Code Reading CLI this skilljahala/tilth | 352 | — | ~1.1k | Automated safety check: Pass | MIT | |
| trace-mcp Code Navigationnikolai-vysotskyi/trace-mcp | 188 | — | ~1.6k | Automated safety check: Notes | MIT | |
| Smart Explore Code Searchthedotmack/claude-mem | 99k | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Basemind Code ContextGoldziher/basemind | 108 | — | ~2.6k | Automated safety check: Pass | MIT | |
| ccc Semantic Code Searchcocoindex-io/cocoindex-code | 2.8k | — | ~938 | Automated safety check: Pass | Apache-2.0 | |
| Repomix Codebase Packeryamadashy/repomix | 29k | — | ~1.3k | Automated safety check: Notes | MIT |
nikolai-vysotskyi/trace-mcp
Routes code exploration through trace-mcp's indexed dependency graph, using symbol search, outlines, call graphs and change-impact tools instead of Read, Grep and Glob.
thedotmack/claude-mem
Explores code structure with tree-sitter AST search tools, getting a ranked symbol map and file outlines before reading full source, to save tokens.
Goldziher/basemind
Answers structural questions about a repository, such as where a symbol is defined, what calls it and what changed recently, through the basemind MCP server.
cocoindex-io/cocoindex-code
Semantic code search and index management with the ccc CLI: the agent initializes, indexes and queries the project by concept, filtering by language or path.
yamadashy/repomix
Packs a local directory or remote GitHub repository into one AI-friendly file with Repomix, then searches it to explore structure, find patterns and count tokens.
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.
Works with
Categories
Replaces grep, cat, find and ls with the tilth CLI, which returns AST-aware outlines, definitions, usages and callers across many languages in one call. This skill tells the agent to use the tilth command-line tool, which combines tree-sitter, ripgrep-style search and smart file reading in one binary, instead of grep, rg, cat, head, tail, find and ls. It covers 14 languages, including Rust, TypeScript, Python, Go, Java, C++, Ruby, PHP, C#, Swift and Elixir.
tilth Code Reading CLI fits situations like: exploring an unfamiliar repository by outline and symbol; finding where a function is defined and who calls it; assessing the impact of changing a symbol; reading a diff at function level.
Run `npx skills add jahala/tilth --skill tilth -a claude-code`. Or copy the skill folder (skills in jahala/tilth) into .claude/skills/tilth in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jahala/tilth --skill tilth -a codex`. Or copy the skill folder (skills in jahala/tilth) into .agents/skills/tilth in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jahala/tilth --skill tilth -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tilth, .gemini/skills/tilth, .github/skills/tilth and .opencode/skills/tilth in your project.
Going by SKILL.md and its folder, tilth Code Reading CLI needs the command-line tools its instructions call (git). Our summary lists: The tilth CLI, installed with cargo install tilth or npx tilth.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
tilth Code Reading CLI is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.1k tokens (SKILL.md is roughly 4.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with tilth Code Reading CLI: trace-mcp Code Navigation (nikolai-vysotskyi/trace-mcp, 188 stars), Smart Explore Code Search (thedotmack/claude-mem, 99k stars), Basemind Code Context (Goldziher/basemind, 108 stars) and ccc Semantic Code Search (cocoindex-io/cocoindex-code, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jahala (a GitHub user) maintains it in jahala/tilth, which has 352 GitHub stars. The repository was last updated on September 26, 2026.
Source: jahala/tilth on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.