Use when exploring, understanding, or answering questions about a codebase that has Repowise indexed (a .repowise/ directory in the project root). Activates for "how does X work", "explain the architecture", "where is Y implemented", "what does this module do", or any task that needs an understanding of structure before diving into source files.
89%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
This project has a Repowise intelligence layer. For an exact identifier, string or file name, Grep, Glob and Read are faster. For how code works, who calls it, what a change breaks and why it is shaped this way, reach for the Repowise MCP tools: they return documentation, ownership, history, decisions, and graph structure that plain file reads don't, usually in one round-trip instead of many.
| You want… | Call |
|---|---|
| An exact identifier, string or file name | Grep, Glob and Read. |
| First orientation in an unfamiliar repo | get_overview(): architecture summary, key modules, entry points, git health, knowledge map. Skip it once you have the map. |
| How X works or flows end to end | get_answer(question="how does …"), one question per call: synthesised answer with citations + one confidence trust signal. Collapses the search → read → reason loop. |
| Callers before a rename or signature change | get_context(targets=["<symbol>"], include=["references"]): definition, imports and calls; a complete list is the whole edit set. |
| What breaks if X changes | get_risk(targets=["<file>"]). |
| Why X is shaped this way, before changing a pattern | get_why(query="why …", targets=["<file>"]). |
| Before finishing a multi-file change | get_change_risk(revspec="<base>..HEAD"), then get_health(targets=["<files you touched>"]). |
A fuzzy concept, or symbol ids and line bounds to feed get_symbol | search_codebase(query="…"): hybrid search. mode="auto" routes an identifier to indexed symbol hits (symbol_id/line bounds → pipe into get_symbol), a path to file pages (→ get_context), and prose to semantic wiki search (each hit reports search_method: embedding vs bm25). Force a branch with mode=symbol|path|concept|hybrid; narrow symbols with symbol_kind. |
| A triage card for specific files/symbols | get_context(targets=[…]): title, summary, signatures, hotspot bit, top callers, decision titles, symbol_ids (a row without one is path::name). Batch many targets in one call. |
| The actual source of one symbol | get_symbol("path/to/file.py::Name"): exact bytes with line bounds. Cheaper than Read + offset math. Use a symbol_id from get_context. |
get_overview() once.get_answer(question=…) first.
medium/low confidence → follow best_guesses[0].file or
fallback_targets[0] into get_context, then get_symbol for bytes.get_context, get_risk
or get_why instead.search_codebase, then get_context on the
hits (batched), then get_symbol only for the bodies you actually need.Read source directly for details the indexed context doesn't cover.
_meta.stale_warning is present (the index has diverged from HEAD), orconfidence is medium/low, orsearch_method is bm25.Otherwise the response is current — act on it.
/repowise:init.
Add --no-editor-setup if this repo is a scratch clone, a fixture, or a
worktree, so init writes nothing outside .repowise/ (no editor config,
agent hooks or git hook)./repowise:ask, /repowise:context, /repowise:symbol,
/repowise:search) rather than grepping blind.get_answer/search_codebase come back empty → the repo may have a
template-rendered wiki. Fall back to get_context with explicit paths, and note
that model-written pages (repowise generate, or /repowise:init with an LLM
provider) unlock richer docs + semantic search.repowise binary may not be installed;
suggest /repowise:init.repowise-dev/repowise
006af82
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.