tilth Code Reading CLI
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.
Code search over the current repository. An agent skill from VeraTools/vera.
$ npx skills add VeraTools/vera --skill vera -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install VeraTools/vera vera --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/VeraTools/vera.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/vera .claude/skills/vera && 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 "vera" agent skill from https://github.com/VeraTools/vera/tree/master/skills/vera into .claude/skills/vera/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vera", 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/VeraTools/vera/tree/master/skills/veraType 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 VeraTools/vera --skill vera -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install VeraTools/vera vera --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VeraTools/vera.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/vera .agents/skills/vera && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "vera" agent skill from https://github.com/VeraTools/vera/tree/master/skills/vera into .agents/skills/vera/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vera", 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 VeraTools/vera --skill vera -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install VeraTools/vera vera --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VeraTools/vera.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/vera .cursor/skills/vera && 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 "vera" agent skill from https://github.com/VeraTools/vera/tree/master/skills/vera into .cursor/skills/vera/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vera", 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/VeraTools/vera.git --path skills/vera--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 VeraTools/vera --skill vera -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install VeraTools/vera vera --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VeraTools/vera.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/vera .gemini/skills/vera && 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 "vera" agent skill from https://github.com/VeraTools/vera/tree/master/skills/vera into .gemini/skills/vera/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vera", 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 VeraTools/vera veraInstalls 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 VeraTools/vera --skill vera -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/VeraTools/vera.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/vera .github/skills/vera && 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 "vera" agent skill from https://github.com/VeraTools/vera/tree/master/skills/vera into .github/skills/vera/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vera", 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 VeraTools/vera --skill vera -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install VeraTools/vera vera --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VeraTools/vera.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/vera .opencode/skills/vera && 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 "vera" agent skill from https://github.com/VeraTools/vera/tree/master/skills/vera into .opencode/skills/vera/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vera", 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.
veraCode search over the current repository. An agent skill from VeraTools/vera.
Vera is an agent skill from VeraTools/vera. Code search over the current repository. Your first search in a repository goes through Vera, not grep, rg, or file reads. Run vera overview in an unfamiliar repository, vera search "<what the code does" for how or where something works, vera structural definitions <symbol or vera references <symbol when the question names a symbol, and vera grep "pattern" for exact text or regex. Fall back to grep only after a Vera call has missed.
Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `agents/openai.yaml`, `references/install.md` and `references/mcp.md`).
It sits in AI & LLM Engineering, covering Codebase onboarding and Retrieval-augmented generation. It works with Model Context Protocol, Rust and ONNX. The repository describes itself as: Local code search combining BM25, vector similarity, and cross-encoder reranking. Parses 60+ languages with tree-sitter, runs entirely offline, and returns structured results… The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 6cb92d5. 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.
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.
No URLs in SKILL.md.
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.
Vera loads about 1.2k tokens when it runs, and up to ~4k if it reads all its reference files. Until then it costs about 114 tokens; SKILL.md has 592 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 VeraTools/vera at commit 6cb92d5, republished under its MIT licence (© VeraTools). 592 words, ~1,188 tokens.
.claude/skills/vera/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Ranked code search over an indexed repository. Results are markdown codeblocks: path:line_start-line_end symbol_type:symbol_name (split symbols render as name (part N) in that position, the bare name plus the part suffix), then the code.
The first search action in a task decides whether Vera gets used at all; later searches follow the first tool chosen. So:
vera overview (languages, entry points, hotspots) instead of ls and README skimming.| Question shape | Do this |
|---|---|
| How or where does something work | vera search "env file loading decision" |
| The question names a function, class, or config key | vera structural definitions make_config, then vera references make_config for callers |
| Who calls or what is called by a symbol | vera references make_config / vera references make_config --callees |
| Exact text or regex | vera grep "before_request" (line numbers always shown; --limit <N> caps results) |
| Enumerate every route, env read, implementation | vera structural routes / vera structural env / vera structural impls <symbol> |
| Documentation on a topic | vera search "deploying behind proxy" --scope docs |
| Files changed in this branch | add --changed, --since <rev>, or --base <rev> to any of the above |
| Edit the same pattern in many files mechanically | rg |
| Read a file you already know the path and lines of | Read it directly |
vera references resolves split-symbol call sites, vera structural definitions finds split symbols by bare name and deduplicates to the earliest declaration, and vera dead-code deduplicates split parts by (symbol, file).
"JWT expiry handling", not "auth" or "utils".vera search "OAuth token refresh" "JWT expiry" "auth middleware".--compact (signatures only, fewer tokens), then narrow with --lang, --path, --type, --limit.--path is relative to the repository root: --path src/flask, --path "tests/**/*.py". Absolute paths inside the repository are accepted and rewritten; paths outside it match nothing.--intent "<goal>" when the query is vague but the goal is clear.--deep expands the query and merges rankings; use it only after normal search misses.vera structural definitions <symbol> with the name from the hit. Do not try more phrasings.vera references <symbol>.rg there, then return to Vera for repository code.path:line from code you actually read.vera update . from any directory; it refreshes the repository root's index.| Symptom | Fix |
|---|---|
no index found | vera index . from the repository root, then rerun the search |
no indexed file matches <path> | Use a root-relative --path; stderr suggests a wildcard directory form when one applies |
| Stale results after edits | vera update . (or vera watch .); works from any subdirectory |
| A file is missing from results | vera explain-path path/to/file |
| Local model or ONNX error | vera doctor --probe, then references/troubleshooting.md |
| Missing local assets | vera repair |
| Install, API keys, backends | references/install.md |
| MCP server | references/mcp.md |
references/install.md: install, setup, API and local config, .veraignore rulesreferences/query-patterns.md: more query examples and rg guidancereferences/troubleshooting.md: common errors and fixesreferences/mcp.md: optional MCP server usage© VeraTools, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (references) in skills/vera of VeraTools/vera.
Open the folder on GitHubat commit 6cb92d5
Vera 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 |
|---|---|---|---|---|---|---|
| Vera this skillVeraTools/vera | 118 | — | ~1.2k | Automated safety check: Pass | MIT | |
| tilth Code Reading CLIjahala/tilth | 352 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Agentsop Repo Mapagentsope/SkillAlchemy | 459 | — | ~3.9k | Automated safety check: Pass | MIT | |
| Codeguaardvark/guaardvark | 255 | 1 repos | ~559 | Automated safety check: Pass | MIT | |
| Trusty Searchbobmatnyc/claude-mpm | 155 | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| SynalinksSynaLinks/synalinks-skills | 907 | — | ~4.8k | Automated safety check: Pass | Apache-2.0 |
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.
agentsope/SkillAlchemy
Symbol-level code context for LLM coder-agents: tree-sitter extracts symbols, PageRank ranks them over the cross-file reference graph, and the top class/function signatures are fed to the LLM as a…
guaardvark/guaardvark
Code intelligence over repositories Guaardvark has indexed: semantic code search, exact-text search, file listing, PageRank repository map, import dependency graph, reading one class or function…
bobmatnyc/claude-mpm
Hybrid code search (BM25 + vector + KG) with RRF fusion. An agent skill from bobmatnyc/claude-mpm.
SynaLinks/synalinks-skills
A skill your agent uses for anything involving the Synalinks neuro-symbolic LM framework (Keras-inspired): DataModel/Field/Input, JSON operators (+ & | ^ ~), synalinks.ops…
2FastLabs/agent-squad
Guide to building Node.js and TypeScript apps on the agent-squad package: orchestrator, agent types, classifier routing, storage, retrievers and MCP tools.
VeraTools/vera
Code search over the current repository. An agent skill from VeraTools/vera.
Works with
Categories
Code search over the current repository. An agent skill from VeraTools/vera. Vera is an agent skill from VeraTools/vera. Code search over the current repository.
Vera fits situations like: tasks that involve Codebase onboarding; tasks that involve Retrieval-augmented generation.
Run `npx skills add VeraTools/vera --skill vera -a claude-code`. Or copy the skill folder (skills/vera in VeraTools/vera) into .claude/skills/vera in your project. Claude Code loads it when a task matches its description.
Run `npx skills add VeraTools/vera --skill vera -a codex`. Or copy the skill folder (skills/vera in VeraTools/vera) into .agents/skills/vera 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 VeraTools/vera --skill vera -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vera, .gemini/skills/vera, .github/skills/vera and .opencode/skills/vera in your project.
SKILL.md names no scripts, command-line tools or credentials: Vera is instructions for the agent only.
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.
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.
Vera 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.2k tokens (SKILL.md is roughly 4.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Vera: tilth Code Reading CLI (jahala/tilth, 352 stars), Agentsop Repo Map (agentsope/SkillAlchemy, 459 stars), Code (guaardvark/guaardvark, 255 stars) and Trusty Search (bobmatnyc/claude-mpm, 155 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
VeraTools (a GitHub organization) maintains it in VeraTools/vera, which has 118 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on September 30, 2026.
Source: VeraTools/vera on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.