SkillAgentSearch skills...

repowise

Codebase intelligence for AI and humans: code health scores, auto-generated docs, git analytics, dead code detection, and architectural decisions via MCP.

Install / Use

claude mcp add repowise-dev -- npx -y github:repowise-dev/repowise

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

87/100

Supported Platforms

Claude Code
Claude Desktop
<!-- mcp-name: dev.repowise/repowise --> <div align="center">

<a href="https://www.repowise.dev"><img src=".github/assets/banner.png" alt="repowise: the codebase intelligence layer for your AI coding agent" width="100%" /></a>

<p align="center"> <a href="https://www.repowise.dev"><img src="https://img.shields.io/badge/LIVE_DEMO-repowise.dev-F59520?style=for-the-badge&labelColor=0A0A0A" alt="Live demo: repowise.dev" /></a> </p> <p align="center"> <a href="https://repowise.dev/repo/repowise-dev/repowise"><img src="https://api.repowise.dev/badge/wiki/repowise-dev/repowise.svg?style=for-the-badge" alt="repowise: explore code" /></a> <a href="https://repowise.dev/repo/repowise-dev/repowise/code-health"><img src="https://api.repowise.dev/badge/health/repowise-dev/repowise.svg?style=for-the-badge" alt="Code health" /></a> <a href="https://github.com/repowise-dev/repowise/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/repowise-dev/repowise/ci.yml?branch=main&style=for-the-badge&label=CI&labelColor=0A0A0A" alt="CI status" /></a> <a href="https://pypi.org/project/repowise/"><img src="https://img.shields.io/pypi/v/repowise?style=for-the-badge&color=1E293B&labelColor=0A0A0A&logo=pypi&logoColor=white" alt="PyPI version" /></a> <a href="https://www.gnu.org/licenses/agpl-3.0"><img src="https://img.shields.io/badge/License-AGPL--v3-059669?style=for-the-badge&labelColor=0A0A0A" alt="License: AGPL v3" /></a> <a href="https://github.com/repowise-dev/repowise/stargazers"><img src="https://img.shields.io/github/stars/repowise-dev/repowise?style=for-the-badge&logo=github&color=1E293B&labelColor=0A0A0A&logoColor=white" alt="GitHub stars" /></a> </p> <p align="center"> <a href="https://www.repowise.dev/#contact"><strong>Hosted for teams →</strong></a> · <a href="https://docs.repowise.dev"><strong>Docs</strong></a> · <a href="https://discord.gg/cQVpuDB6rh"><strong>Discord</strong></a> · <a href="mailto:hello@repowise.dev"><strong>Contact</strong></a> </p> <p align="center"><sub> <a href="#your-agent-stops-guessing">For your agent</a> · <a href="#what-one-index-actually-builds">The five layers</a> · <a href="#stop-paying-for-output-nobody-reads">Distill</a> · <a href="#know-whats-dangerous-before-you-merge">Change risk</a> · <a href="#-know-exactly-what-to-fix">Code health</a> · <a href="#see-all-of-it">Dashboard</a> · <a href="#past-one-repo">Workspaces</a> · <a href="#quickstart-under-5-minutes-no-api-key">Quickstart</a> · <a href="#the-ten-mcp-tools">MCP tools</a> · <a href="#measured-against-the-field">Benchmarks</a> · <a href="#how-it-compares-on-capability">Comparison</a> · <a href="#for-teams--enterprises">Teams</a> </sub></p>

Your AI agent burns most of its budget rediscovering your codebase. Index it once, and it never has to again.

<table align="center"> <tr> <td align="center" width="250"><h2>#1 of 6</h2></td> <td align="center" width="250"><h2>−31.6%</h2></td> <td align="center" width="250"><h2>97%</h2></td> </tr> <tr> <td align="center" valign="top"><sub><strong>at finding the right files.</strong><br />0.876 file coverage against the<br />next tool's 0.610, on a <strong>sealed</strong><br />42-instance split. <em>p=0.00004</em></sub></td> <td align="center" valign="top"><sub><strong>of your agent's own output tokens,</strong><br />reached in 3.8 tool calls where a<br />bare agent needed 7.2. <em>n=43,<br />p&lt;0.0001, leaner on 37 of 44</em></sub></td> <td align="center" valign="top"><sub><strong>fewer tokens to load a commit.</strong><br />393 instead of 13,984 raw, counted<br />with deterministic tiktoken across<br />30 commits. <em>35.6x, pooled</em></sub></td> </tr> </table>

<sub>Measured head to head against the open-source agent-context field, on instances held out from every improvement round. Defect risk validated separately at <strong>ROC AUC 0.737</strong> across 21 repos and 9 languages, leakage-free. Every layer computed with <strong>zero LLM calls</strong>. <strong>We publish the rows we lose</strong>, and we are the slowest indexer here. <a href="docs/BENCHMARKS.md"><strong>All of it, including the losses →</strong></a><br /> Free and self-hosted, runs on your machine, and the first index needs no API key.</sub>

<picture> <source media="(prefers-color-scheme: dark)" srcset=".github/assets/one-index-dark.svg" /> <img src=".github/assets/one-index.svg" alt="One index producing code health, a dependency graph, git history, generated docs, architectural decisions, and ten MCP tools" width="100%" /> </picture> </div>

Every question your agent asks about your repo has an answer that could have been computed ahead of time. Who calls this function? What breaks if I change it? Why is it written this way? Which of these files is actually dangerous? Instead, agents rediscover it from scratch on every task: grep, read, re-read, forget.

repowise computes those answers once and keeps them current on every commit. Your agent reads the answer instead of the codebase, and the same index gives your team a defect-validated health score, change-risk scoring on every PR, and a local dashboard for all of it. One pip install, no cloud, your code never leaves your machine.


Your agent stops guessing

repowise exposes ten task-shaped MCP tools to Claude Code, Codex, Cursor, VS Code and anything else that speaks MCP. Most tools are built around data entities (one file, one symbol), which forces agents into long chains of sequential calls. These are built around tasks: pass several targets in one call, get complete context back.

<img src=".github/assets/demo.gif" alt="The repowise dashboard running locally on localhost:3000: health score, code health map, a break-cycle refactoring plan, the agent prompt it generates, change coupling, and the generated wiki" width="100%" />

<sub>The same index those tools read from, browsable at localhost:3000. Recorded on this repository, no API key and nothing uploaded.</sub>

Because the exploration work is already done, that phase mostly disappears. Loading one commit's context through get_context costs 393 tokens instead of 13,984 raw, 35.6x fewer. In a measured agent loop, across 43 questions on django/django, that is worth -31.6% of the agent's own output tokens (p<0.0001), reached in 3.8 tool calls against a bare agent's 7.2 — roughly one answered question replacing six greps. The saving grows with how much of the codebase the task touches. CodeGraph is a genuine second here at -24.4%: we lead a field in which more than one tool works.

And it arrives without being asked. Optional hooks push context into the session at the moment it matters: the governing architectural decision when your agent edits a file that decision covers, a warning when it touches a file with a run of recent bug fixes, a compact briefing at session start. repowise also generates your CLAUDE.md and AGENTS.md from the real index, so even an agent with no MCP support starts informed.

It learns from how you actually work. repowise reads your own agent transcripts for the corrections you keep making ("use the shared HTTP client, not raw requests") and turns the durable ones into tracked decisions it delivers back later. The wiki generation budget tilts toward the modules you and your agent ask about most. All local, all deterministic, no extra LLM calls.


What one index actually builds

Five layers, built in a single pass and kept in sync on every commit. Each one is queryable from the CLI, the MCP tools, and the local dashboard.

| Layer | What it gives you | Edge | |---|---|---| | ◈ Graph | Dependency graph across 18 languages · file + symbol nodes · 3-tier call resolution · Leiden communities · PageRank and execution flows · route→handler edges across 22 frameworks | A real graph most tools never build | | ◈ Git | Hotspots (decayed churn + activity floors) · ownership % · co-change pairs (hidden coupling) · bus factor · which files actually get bug-fixed, and how recently | Behavioural signals static analysis cannot see | | ◈ Docs | A generated wiki page per module and file · rebuilt incrementally every commit · freshness and confidence scoring · hybrid search (full-text + vector) · selectable style and output language | Stays current instead of rotting | | ◈ Decisions | Architectural decisions mined from five sources, evidence-backed, each traced to a verbatim source span and stamped exact / fuzzy / unverified | ★ Captured nowhere else | | ★ Code health | 49 deterministic detectors, of which only 26 may move the number · 1 to 10 per file · three signals: defect risk · maintainability · performance · concrete refactoring plans (Extract Class / Method / Helper, Move Method, Break Cycle, Split File) · zero LLM, under 30s | ★ Defect-validated, with the fix attached |

The whole wiki is generated with no LLM, then upgraded to model-written prose on demand. repowise init --no-prose builds the graph, git, decision and health layers and renders every wiki page from your code's structure, with no API key and no spend. Convert any part of it to LLM-written prose whenever you want, one page, one directory, or a ranked coverage slice at a time, and pay only for what you pick, from the CLI or right in the dashboard with the cost shown before you confirm. (Seven of the eight decision sources are deterministic too; only the one harvested during doc generation needs a provider.)

Full detail on every layer: docs/layers/INTELLIGENCE_LAYERS.md →


Stop paying for output nobody reads

Most of what an agent reads back from a shell command is noise: 300 lines of passing tests wrapped around 4 failures, full commit bodies when it asked "what changed recently". repowise distill <cmd> compresses command output before the agent reads it, errors first, exit code preserved.

repowise distill pytest          # 61% fewer tokens, all 11 failure lines kept
repowise distill git log -50     # 89% fewer tokens
repowise saved                   # what distillation saved you, in tokens and dollars

Nothing is lost. Every omission leaves an inline [repowise#<ref>] marker that repowise expand <ref> reverses in full, so the agent can always pull the detail back without re-running the command. Small outputs pass through untouched. An opt-in hook rewrites noisy commands automatically, shown to you for approval first.

<div align="center"> <img src=".github/assets/savings.png" alt="repowise Costs dashboard: tokens and dollars saved across distill and the MCP tools" width="100%" /> <p align="center"><sub>The <strong>Costs</strong> dashboard tallies both savings surfaces, priced at your own agent's model. Example from a week of heavy local use.</sub></p> </div>

Full guide: docs/agent/DISTILL.md →


Know what's dangerous before you merge

Three deterministic signals, all computed from the graph and git history, no LLM:

  • Change risk. Score any commit or base..HEAD range 0-10 from the shape of the diff, ranked against your repo's own recent commits. PR mode returns directives rather than vibes: will_break, missing_cochanges, missing_tests, tests_to_run. One command: repowise risk main..HEAD. (reference →)
  • Bug history. Which files and symbols actually get bug-fixed, and how recently. Doc, test and config commits are filtered out so the count means what it says, and a file with a run of recent fixes gets flagged as a bug magnet while you edit it. (reference →)
  • Test intelligence. Ingest coverage, find untested hotspots, and run only the tests a diff actually exercises with repowise impacted-tests HEAD~1. (reference →)

Plus the free **[

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars6.8k
CategoryData
Updated18h ago
Forks726

Languages

Python

Security Score

100/100

Audited on Sep 21, 2026

No findings