Advanced CLI tool for navigating and analyzing code structure.

Install

mkdir -p .claude/skills/tilth && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18051" && unzip -o skill.zip -d .claude/skills/tilth && rm skill.zip

Installs to .claude/skills/tilth

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Use the `tilth` CLI for code reading, outlining, search, callers, blast-radius deps, and structural diffs. Activate when the user asks to explore a repo, find a symbol, trace callers, read a file, view a diff, or analyze impact. Prefer `tilth` over `grep`/`cat`/`find`/`ls` — one invocation returns AST-aware outlines, definitions, callees, and usages.
352 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

Key capabilities

  • Read code files with smart outlines
  • Search for symbol definitions and usages
  • Find call sites for symbols
  • Perform content and regex searches
  • Analyze dependencies to determine blast radius
  • Generate structural diffs for code changes

How it works

The `tilth` CLI combines Tree-sitter, ripgrep, and smart file reading to provide AST-aware code intelligence across multiple programming languages.

Inputs & outputs

You give it
tilth <symbol> --scope <dir>
You get back
Definitions and usages of the specified symbol within the directory.

When to use tilth

  • Search symbol definitions
  • Explore codebase structure
  • View structural code diffs
  • Find caller references

About this skill

tilth — code intelligence CLI

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.

Read

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].

Search

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                       # expand every match (capped at 50)
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:

  • File path → return whole file (bypass smart-view outline).
  • Symbol / text / regex → expand every match (capped at 50). Explicit --expand=N wins.
  • Glob → no-op.

Symbol search also surfaces markdown headings as soft definitionstilth 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.

Files

tilth "*.test.ts" --scope <dir>   # glob (respects .gitignore)
tilth --map --scope <dir>         # codebase skeleton with directory token rollups

Deps (blast radius)

tilth <file> --deps               # what it imports + what depends on it

Use only before renaming, removing, or changing an export's signature.

Diff (structural)

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 symbols

Function-level change detection — [+] added, [-] removed, [~] modified, [~:sig] signature changed. Replaces git diff for symbol-level review.

Budget

tilth <args> --budget 2000        # cap response at ~N tokens

Use when an outline or search returns more than you need.

When not to use it

  • When needing to use traditional text-based search tools like grep or cat
  • When re-reading files whose content is already shown in expanded search results

Limitations

  • Symbol search for indirect calls may require broader reference searches.
  • The tool is designed for code intelligence, not general file operations.

How it compares

This tool offers structural code analysis and search, providing more precise results than traditional text-based search utilities.

Compared to similar skills

tilth side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
tilth (this skill)02moReviewIntermediate
python-testing-patterns772moReviewIntermediate
error-handling-patterns352moNo flagsIntermediate
deepwiki-rs259moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

python-testing-patterns

wshobson

Implement comprehensive testing strategies with pytest, fixtures, mocking, and test-driven development. Use when writing Python tests, setting up test suites, or implementing testing best practices.

77204

error-handling-patterns

wshobson

Master error handling patterns across languages including exceptions, Result types, error propagation, and graceful degradation to build resilient applications. Use when implementing error handling, designing APIs, or improving application reliability.

35170

deepwiki-rs

sopaco

AI-powered Rust documentation generation engine for comprehensive codebase analysis, C4 architecture diagrams, and automated technical documentation. Use when Claude needs to analyze source code, understand software architecture, generate technical specs, or create professional documentation from any programming language.

25170

codex-claude-loop

bear2u

Orchestrates a dual-AI engineering loop where Claude Code plans and implements, while Codex validates and reviews, with continuous feedback for optimal code quality

13132

serena

massgen

This skill provides symbol-level code understanding and navigation using Language Server Protocol (LSP). Enables IDE-like capabilities for finding symbols, tracking references, and making precise code edits at the symbol level.

1597

python-code-style

wshobson

Python code style, linting, formatting, naming conventions, and documentation standards. Use when writing new code, reviewing style, configuring linters, writing docstrings, or establishing project standards.

971

Search skills

Search the agent skills registry