Agent skill

tilth Code Reading CLI

by jahala in jahala/tilth

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.

MITAuto-check passedDevelopment

Install tilth Code Reading CLI

skills CLI
$ npx skills add jahala/tilth --skill tilth -a claude-code

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

GitHub CLI
$ gh skill install jahala/tilth tilth --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/jahala/tilth.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills .claude/skills/tilth && 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
tilth
GitHub stars
352
Token cost
~1.1k tokens
SKILL.md length
290 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

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.

  • Exploring an unfamiliar repository by outline and symbol
  • SKILL.md covers Read, Search, Files and Deps (blast radius), plus 2 more sections
  • Calls git
  • Finding where a function is defined and who calls it

What it does

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.

When your agent uses it

  • 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
  • Reading part of a large file by line range or heading

Example prompts

  • “Where is StreamingResponse defined, and who calls it?”
  • “Outline src/server/router.ts so I can see its structure.”
  • “What would break if I change the signature of parseConfig?”
  • “Show me the function-level diff for my last commit.”

Requirements

  • The tilth CLI, installed with cargo install tilth or npx tilth

What it can do on your machine

Read from SKILL.md and the folder at commit 9ecdc04. 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

    Shell commands in SKILL.md call:

    • git

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

  • Network

    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.

  • 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

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.

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

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 jahala/tilth at commit 9ecdc04, republished under its MIT licence (© jahala). 290 words, ~1,120 tokens.

Download SKILL.mdSave it as .claude/skills/tilth/SKILL.md (or your agent's skills folder).
name
tilth
description
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.

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

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

bash
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:

  • File path → return whole file (bypass smart-view outline).
  • Symbol / text / regex → raise the match cap from 10 to 100 and inline source for the top 50 matches. --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.
  • Glob → no-op.

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.

Files

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

Deps (blast radius)

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

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

Diff (structural)

bash
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

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

Use 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

Files

Just SKILL.md in skills of jahala/tilth.

Open the folder on GitHubat commit 9ecdc04

Compare with similar skills

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.

tilth Code Reading CLI compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
tilth Code Reading CLI this skilljahala/tilth352—~1.1kAutomated safety check: PassMIT
trace-mcp Code Navigationnikolai-vysotskyi/trace-mcp188—~1.6kAutomated safety check: NotesMIT
Smart Explore Code Searchthedotmack/claude-mem99k—~2.3kAutomated safety check: PassApache-2.0
Basemind Code ContextGoldziher/basemind108—~2.6kAutomated safety check: PassMIT
ccc Semantic Code Searchcocoindex-io/cocoindex-code2.8k—~938Automated safety check: PassApache-2.0
Repomix Codebase Packeryamadashy/repomix29k—~1.3kAutomated safety check: NotesMIT

Similar skills

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

    188 GitHub stars~1.6k tokensUpdated today
    DevelopmentAuto-check: notes
  • Smart Explore Code Search

    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.

    99k GitHub stars~2.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Basemind Code Context

    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.

    108 GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check passed
  • ccc Semantic Code Search

    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.

    2.8k GitHub stars~938 tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed
  • Repomix Codebase Packer

    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.

    29k GitHub stars~1.3k tokensUpdated 5 days ago
    Agent WorkflowsAuto-check: notes
  • 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

Questions about tilth Code Reading CLI

What does tilth Code Reading CLI do?

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.

When should I use tilth Code Reading CLI?

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.

How do I install tilth Code Reading CLI in Claude Code?

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.

How do I install tilth Code Reading CLI in Codex?

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.

Can I use tilth Code Reading CLI 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 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.

What does tilth Code Reading CLI need to run?

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.

Does tilth Code Reading CLI access the network?

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.

Is tilth Code Reading CLI 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 tilth Code Reading CLI use?

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.

How many tokens does tilth Code Reading CLI use?

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.

What are the alternatives to tilth Code Reading CLI?

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.

Who maintains tilth Code Reading CLI?

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.