SkillAgentSearch skills...

ripwire

The ripgrep of AI context: a zero-dependency C++23 CLI + MCP server for coding agents. Find what you want without reading the repo, then check you built what you meant — blast radius, tests-to-run, quality deltas.

Install / Use

claude mcp add redhat-et -- npx -y github:redhat-et/ripwire

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

85/100

Supported Platforms

Claude Code
Claude Desktop
OpenAI Codex

Our assessment of ripwire

ripwire scores 85/100 on our quality scale, 2517th of 4,606 Development & Engineering skills we index.

Its MCP Server is 182 KB long, well organised into 62 sections with 27 code examples: long enough that it reads more like full documentation than a focused instruction file, which agents can find harder to follow.

With 2,468 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
21/30
Structure
20/20
Description
15/15
Adoption
14/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated today, so ripwire is actively maintained.
  • Our last check on 2026-10-21 found the source still online.
  • It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the first 100 KB of the file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.

AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

ripwire compared with similar skills

All 4 of these similar skills score higher than ripwire; compare them before choosing.

SkillScoreStarsUpdatedFormat
ripwire (this skill)by redhat-et852.5ktodayMCP Server
taste-skillby Leonxlnx100101.1k2d agoCLAUDE.md
Agent-Reachby Panniantong100101.0k2d agoCLAUDE.md
headroomby headroomlabs-ai10077.5ktodayCLAUDE.md
ai-job-searchby ai-job-search-dev10063.5k1d agoCLAUDE.md

Frequently asked questions

How do I install ripwire?
Run claude mcp add redhat-et -- npx -y github:redhat-et/ripwire. The install tabs above show the steps for each supported agent.
Which AI agents does ripwire work with?
It is written for Claude Code, Claude Desktop and OpenAI Codex, as a MCP Server file. Other agents that read the same format can often use it too.
Is ripwire safe to use?
Our scan of the first 100 KB of the file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is Apache-2.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is ripwire still maintained?
The repository was last updated today, so ripwire is actively maintained.

CI Release Licence Standard Runtime dependencies Slides

<p align="center"><img src="docs/assets/banner.svg" alt="ripwire — the ripgrep of AI context" width="880"></p>

Rip'n Fast. Fewer Tokens. Better Code.

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. On the edit: blast radius, tests that reach it, ten quality kinds reporting only what got worse, forgotten co-changes, fields read and written, names that resolve more than one way.

Just want to use it? Install it with the one line below, then start each coding session by telling your agent to use it, for example: "Use ripwire on this repo." That is all most people need: the install also teaches your agent when to reach for each command.

Want every detail? The reference guide near the bottom covers install, commands, output format, exit codes and limits. You do not need it to get started.

<p align="center"><a href="https://trendshift.io/repositories/217924?utm_source=trendshift-badge&amp;utm_medium=badge&amp;utm_campaign=badge-trendshift-217924"><img src="https://trendshift.io/api/badge/trendshift/repositories/217924/weekly?language=C%2B%2B" alt="Trendshift: C++ Repository of the Week badge for redhat-et/ripwire" width="250" height="55"></a></p> <details> <summary><b>Fifty years of software-engineering results, and research from last month.</b> 49 repositories and 71 papers folded — McCabe (1976) through to <b>seven published in the last two months</b> — each row in <a href="docs/LINEAGE.md"><b>docs/LINEAGE.md</b></a> naming the lesson taken and the file it lives in</summary>

Beside those sits a labelled survey of 237 tools that contributed nothing and says so. The two sets are disjoint by construction, so they add rather than nest — a tool that gave a lesson is never counted twice.

Both halves are load-bearing, and they are doing different jobs. The settled results are what make the quality lens trustworthy: McCabe on complexity (1976), Halstead on volume (1977), Spärck Jones on term specificity (1972), Nagappan & Ball on churn. Fifty years of replication means those are not opinions, and a tool that measures your code should be built on the ones that survived.

The recent work is what makes it current: seventeen of the folded papers are from 2026, seven published in the last two months and three in the last thirty days (dates as of 2026-09-08; every row carries its arXiv id, so the claim is checkable rather than atmospheric). Retrieval for coding agents, context-compression cost, placebo-controlled localization — that literature is months old, not decades, and several rows were folded within weeks of the paper appearing.

Neither half alone would be enough. A tool built only on the classics would not know what an agent needs; one built only on last month's preprints would have nothing underneath it. And the newest row is a result that failed when it was tested here — which is the point of writing them down. All three counts are re-derived from that document's own tables by test/readmedriftcheck.sh on every run, which fails if this page and those tables disagree, so the claim cannot quietly drift. The row-by-row ledger is docs/LINEAGE.md.

</details>

Languages: Rust · C++ · Objective-C/C++ · C · Metal · CUDA · Python · Go · Swift · TypeScript · JavaScript · Java · Ruby · PHP · Lua · Elixir · Dart · Kotlin · GDScript · Bash · C# · JSON · TOML · YAML · Markdown — see language support and limits.

ripwire 0.6.2 — complete, honest, fast lookups, and Windows. Calls that live outside any named function now have a caller: on vue-core, 72.83% of call sites that --callers, --impact and --test-gate could not see. Answers got smaller where it counts: the compact legend is the default (--legend=full restores the old bytes byte-for-byte), and over MCP each definition is sent once per session instead of in every answer. --quality-delta is trustworthy on a clean tree again. Native Windows x64 now builds and gates with both clang-cl and MSVC's own cl.exe, verified in CI on every full matrix — the 647-gate suite doesn't run on Windows yet, and ASan compiles there but never executes.

ripwire 0.6.1 — the answers an agent reads got smaller. A compact answer is 46–66% smaller per call, and on llvm-project the declined-call index drops from 114 MB to 368 KB with every count and every byte of output unchanged. --in=DIR scopes "what changed recently" to a directory. Elixir resolves natively by module, name and arity (thanks @henry-hz), --scip reads scip-java indexes (thanks @dpunosevac), and a file:name selector no longer answers with a definition from another file (thanks @andriytyurnikov).

ripwire 0.6.0 — out now. Kotlin and Dart bring it to 24 vendored grammars, and Ruby now reads the dependencies a Rails application actually has: superclasses, mixins, autoload, and the constant receivers an autoloader loads through. On llvm-project — 182,555 files — the cold parse drops from 194 s to 156 s of CPU. Declined calls, derailed parses and cut answers now say so, instead of returning a quiet zero.

The presentation · the changelog — with thanks to the contributors named there; this release is largely theirs.


<p align="center"><img src="docs/assets/no-deps.svg" alt="No API key. No embeddings. No index server. No daemon." width="470"></p> <details> <summary><b>One process, no server</b> — indexes this repository in <b>0.25 s</b> using <b>6.6 MB</b>, against <b>46.8 s</b> and <b>391 MB</b> for the graph-database MCP server it was measured against; warm queries answer in <b>197 ms</b> to its <b>1,082 ms</b></summary>

Measured on 48 matched questions across django, webpack and this repository. Across all three, ripwire indexes in 0.25–0.45 s and 6.6–16.5 MB against that server's 23–52 s and 391–623 MB. The full method, the wins named one by one and the losses included, is in Against the leading graph-database code-context MCP server and docs/EVALS.md.

</details> <details> <summary>One binary, offline — and the same line <b>activates the skills</b> for every agent it finds: Claude Code · Codex · Cursor · Windsurf · Gemini · opencode · aider</summary>

One self-contained binary on your own machine, offline, installed in one line — and the same line installs and activates the task-shaped skills that teach your agent when to reach for it, not just how, for every agent it finds on the machine. If your agent can run shell commands — Claude Code, Codex, Cursor, Windsurf, Gemini, opencode, aider — it is set up the moment the install finishes; the MCP server is the optional second interface. Install it and ask it something before you finish reading this page:

</details>
RIPWIRE_REPO=redhat-et/ripwire bash -c "$(curl -fsSL https://raw.githubusercontent.com/redhat-et/ripwire/main/scripts/install.sh)"
export PATH="$HOME/.local/bin:$PATH"      # where it installed; the installer prints this line if you need it
cd your-repo
ripwire . --for="<the change you are about to make, in words>"

Every install route (prebuilt, from source, per-agent skills, hooks, the MCP server) is in INSTALL.md.

Reach for the CLI first — it is the cheaper interface. The MCP server is the optional second way in, and its convenience has a cost the shell pipe does not carry: its verb schemas sit in your agent's context every session, whether or not it calls them.

The goal: one question, one complete answer.

Terminality is the objective. Ask the codebase a question and the answer should carry everything you need — no follow-on grep, no three more whole-file reads to fill in what it left out. A call followed by three greps is the same search paid for twice: it does not save you tokens and it does not make the coding faster.

<details> <summary>The two stair-steps that make it reachable — <b>honest about what is missing</b>, <b>priced in what it spends</b></summary>

Two things make that reachable in practice, and neither is the destination. Answers are honest about their own limits — a count that cannot be a total is labelled a floor, a zero means "none found" and never "none exists", every truncation is disclosed — so an answer never looks more complete than it is, and the map never degrades the code by guessing. And an answer can be given a token budget, so what one costs is something you ask for rather than discover; where a complete answer will not fit, it says it went over rather than silently dropping the row you needed.

Those two are the stair-steps: honest about what is missing, priced in what it spends. The step they climb toward is a question fully answered in one call, which is not always trivial to reach — and where it is not, the output says so rather than pretending otherwise.

</details>

Same answer, a fraction of the tokens — read this table first if your agent is on a budget

<details> <summary>How these ten rows were measured — <b>2026-08-08</b>, figures in ~tokens (≈ bytes/4), every ratio from a real run reproduced by the command in its row</summary>

Ten everyday moments, re-measured on this repository, 2026-08-08. Figures are ~tokens (≈ bytes/4); every ratio comes from a real run, reproduced by the command in its row — raw byte counts and exact commands in docs/EVALS.md §5.

</details>

Ordered understand → navigate → review-the-change:

| Ask it | Command | ripwire | naive read | token savings | | --- | --- | --- | --- | --- | | "Orient me in this repo" | ripwire . | ~5.6K tok | ~20K–25K tok — read README.md (+docs/ARCHITECTURE.md) | 3.6×–4.5× | | "Where is X handled?" | ripwire . --for="…" | ~2.1K tok | ~4.9K–20K tok — grep -rn <term> src/, then read the file it points at | 2.3×–9.3× | | "What do I already know?" | ripwire . --recall="…" | ~15K tok | ~445K tok — read all 119 markdown docs this repo carries | 29.2× | | "Set me up for this task" | ripwire . --pack-task="…" | ~2.1K tok | ~16K–80K tok — read every relevant file, whole | 7.7×–37.7× | | "Show me this one function" | ripwire . --expand=SYM --top-k=0 | ~260–16.5K tok body (+~5.7K for the ranked-neighborhood bundle) | ~43K–174K tok — read the whole file it lives in | 2.6×–670× | | "Who calls this function?" | ripwire . --callers=SYM | ~580 tok | ~40K–52K tok — grep -rn SYM src/ (mostly noise), then open 2–3 files to sort real calls from mentions | 69.2×–89.1× | | "Is it safe to change this?" | ripwire . --impact=SYM + --uses=SYM | ~1.3K tok | ~18K tok — open every direct-use file, whole | 14.4× | | "I have a stack trace" | ripwire . --from-trace=FILE | ~1.4K tok | ~124K–298K tok — grep all 7 frame names, then open the innermost file(s) | 86.9×–208.6× | | "I changed these files — tests? blast radius?" | ripwire . --situ | ~410 tok | ~3K–132K tok — git diff + grep -rn <syms> test/, then open the candidates | 7.3×–324.2× | | "Review this PR/diff" | `ripwire . --pr-con

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars2.5k
CategoryDevelopment
Updated6h ago
Forks158

Languages

C++

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions