emitting-output
Writing or converting formatted output in ripwire's C++ source — std::print/std::format via…
Use ripwire CLI to map a repo before reading it.
$ npx -y skills add redhat-et/ripwire --skill ripwire-repo-map --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ripwire-repo-mapContext preview
The summary Claude sees to decide when to auto-load this skill.
Use ripwire CLI to map a repo before reading it.
name: ripwire-repo-map
description: "Use ripwire CLI to map a repo before reading it."
version: 1.0.0
author: Ashutosh Singh
license: Apache-2.0
platforms: [linux, macos]
metadata:
hermes:
tags: [ripwire, repo-map, call-graph, context-engineering, code-navigation, static-analysis]
related_skills: [systematic-debugging, codebase-inspection]
prerequisites:
commands: [ripwire]`ripwire` (v0.4.x at authoring time; the release binary must be on PATH) is a zero-dependency C++23 CLI that builds a ranked, deterministic call graph of any repo in ~1s (parses once, then auto-caches warm). It answers "what to touch, what it breaks, which tests to run" for a fraction of the tokens of grep + whole-file reads. No API key, no daemon, no index server, offline. Invoke it via the terminal tool.
Do NOT use for trivial single-file lookups (plain `rg`/search_files wins) or broad common-word questions — ripwire shines on specific technical asks.
ripwire <dir> --report # architecture summary: modules, god-files, cycles, top symbols ripwire <dir> --for="<task in your own words>" # ranked task lens: what to touch first, with 1-hop edges ripwire <dir> --callers=someFunc --legend=compact # who calls it (blast radius) ripwire <dir> --test-gate --legend=compact # which tests must run before committing ripwire <dir> --tree --legend=compact # file-by-file: top symbols per file ripwire <dir> --hotspots --legend=compact # files ranked by churn × complexity ripwire <dir> --communities --legend=compact # cohesive modules (Louvain) + bridges — where a new feature belongs ripwire <dir> --situ # what the working tree already changed + its blast radius (resuming work) ripwire <dir> --notes --legend=compact # pinned gotchas from past sessions (field notes) ripwire <git-url> # orient in a remote repo (shallow-clones into a cached temp dir; --refetch refreshes)
Read the map, then open only the files it surfaces (god-files and hotspots first). For a body of one ranked symbol: `ripwire <dir> --for="..." --expand=path:name` (paste `p=`/`n=` off the row).
`est_tokens=` — `confidence="low"` or a flat ranking means treat the set as a starting point, not an answer.
restores them. A `reason="budget"` means the caller's token budget cut them — raise the budget instead).
restores the full walk). A "not found" is only trustworthy after checking this.
resolver split the weight instead of choosing one. Read the source if the target matters. (`lpin=` is a separate, disclosed guess the resolver made; same remedy.)
1. **First call on a tree parses** (~1s at 1,500+ files; measured ≈1.2s wall for a 2,355-file / 77k-edge checkout on Apple M2). Later calls are warm and near-instant — chain verbs freely. 2. `--top-k` is NOT read by `--for`'s own bundle (it shapes the default map and `--query`; it still applies to `--format=candidates` with `--for`). 3. Markdown/docs-only or shell-only repos yield few call-graph edges — `--report` is still useful, edges are not. 4. The tool indexes signatures, not necessarily full bodies, by default on conceptual queries — `--expand` or `--auto-bodies` when you need the body. 5. Cache/notes live in the repo tree (`.ripwire_notes` for `--note-add`); the notes file is meant to be committed. 6. ripwire output can be large on big repos — budget with `--max-tokens=8000` / `--top-k=50` where supported.
skill is the distilled Hermes-format counterpart to that family (`ripwire-orient` is the closest base); read those upstream for deeper flows.
The ripgrep of AI context. A map before your agent reads the repo — and a check on what it writes. Ranked, deterministic call graph: what to touch, what it breaks, which tests to run.
Repo: redhat-et/ripwire
Writing or converting formatted output in ripwire's C++ source — std::print/std::format via…
Starting a FEATURE (multi-symbol work): the plan, the API boundary, the scope — how big does…
Merge-SAFETY of an existing diff — yours before you push, or a PR you review: blast radius,…
You have a SYMPTOM — crash, exception, wrong output, failing test, error string — and don't…
Maintenance risk in code you did NOT write — inheriting a module, planning a refactor, a…
A call-graph question the fixed verbs can't phrase — 'which high-complexity functions can…