/codebase-exploration
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
$ npx -y skills add repowise-dev/repowise --skill codebase-exploration --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/codebase-exploration
Context preview
The summary Claude sees to decide when to auto-load this skill.
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
SKILL.md
codebase-exploration.SKILL.mdname: codebase-exploration
description: >
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.
user-invocable: false
Codebase Exploration with Repowise
This project has a Repowise intelligence layer. Before grepping and reading raw source to understand the codebase, 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.
Which tool for which question
| You want… | Call | |---|---| | 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. | | A direct answer to "how/where/why does X work" | `get_answer(question="…")` — synthesised answer with citations + a `retrieval_quality` signal. Collapses the search → read → reason loop. | | Find a symbol, file, or fuzzy concept | `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. 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`. |
Recommended flow
1. New area you don't know → `get_overview()` once. 2. A specific question → `get_answer(question=…)` first.
- High confidence → answer it, cite the paths.
- `medium`/`low` confidence → follow `best_guesses[0].file` or
`fallback_targets[0]` into `get_context`, then `get_symbol` for bytes. 3. A named symbol or a path → `search_codebase(query="Name")` / `search_codebase(query="path/to/file.py")`; symbol hits pipe straight into `get_symbol`, file hits into `get_context`. 4. More files around a concept → `search_codebase`, then `get_context` on the hits (batched), then `get_symbol` only for the bodies you actually need.
Fall back to raw Read/Grep only when the indexed context doesn't cover the specific detail the user asked about.
Trust signals — verify when
- `_meta.stale_warning` is present (the index has diverged from HEAD), or
- `retrieval_quality` is `partial`/`weak`, or
- a result's `search_method` is `bm25`.
Otherwise the response is current — act on it.
Error handling
- "No repositories found. Run 'repowise init' first." → suggest `/repowise:init`.
Add `--no-editor-setup` if this repo is a scratch clone, a fixture, or a worktree: `init` otherwise repoints the user's single global `repowise` MCP entry at it.
- `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.
- Tools fail to connect at all → the `repowise` binary may not be installed;
suggest `/repowise:init`.
Read more
name: codebase-exploration description: > 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. user-invocable: false
Codebase Exploration with Repowise
This project has a Repowise intelligence layer. Before grepping and reading raw source to understand the codebase, 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.
Which tool for which question
| You want… | Call | |---|---| | 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. | | A direct answer to "how/where/why does X work" | `get_answer(question="…")` — synthesised answer with citations + a `retrieval_quality` signal. Collapses the search → read → reason loop. | | Find a symbol, file, or fuzzy concept | `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. 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`. |
Recommended flow
1. New area you don't know → `get_overview()` once. 2. A specific question → `get_answer(question=…)` first.
- High confidence → answer it, cite the paths.
- `medium`/`low` confidence → follow `best_guesses[0].file` or
`fallback_targets[0]` into `get_context`, then `get_symbol` for bytes. 3. A named symbol or a path → `search_codebase(query="Name")` / `search_codebase(query="path/to/file.py")`; symbol hits pipe straight into `get_symbol`, file hits into `get_context`. 4. More files around a concept → `search_codebase`, then `get_context` on the hits (batched), then `get_symbol` only for the bodies you actually need.
Fall back to raw Read/Grep only when the indexed context doesn't cover the specific detail the user asked about.
Trust signals — verify when
- `_meta.stale_warning` is present (the index has diverged from HEAD), or
- `retrieval_quality` is `partial`/`weak`, or
- a result's `search_method` is `bm25`.
Otherwise the response is current — act on it.
Error handling
- "No repositories found. Run 'repowise init' first." → suggest `/repowise:init`.
Add `--no-editor-setup` if this repo is a scratch clone, a fixture, or a worktree: `init` otherwise repoints the user's single global `repowise` MCP entry at it.
- `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.
- Tools fail to connect at all → the `repowise` binary may not be installed;
suggest `/repowise:init`.
Codebase intelligence for AI and humans: code health scores, auto-generated docs, git analytics, dead code detection, and architectural decisions via MCP.
Repo: repowise-dev/repowise
Other skills on repowise.
- /architectural-decisions
Use when encountering questions about WHY code is built a certain way, when about to make architectural changes (new patterns, restructuring, choosing between approaches), or when the user asks about design rationale in a Repowise-indexed codebase (.repowise/ directory exists).
Open skill - /change-review
Use when reviewing a set of changes before they merge — a PR, a branch diff, or the working-tree changes you just made — in a Repowise-indexed codebase (.repowise/ directory exists). Activates for "review this PR", "is this safe to merge", "what's the blast radius of these
Open skill - /code-health
Use when the user asks about code health, code quality, complexity, technical debt, which files are risky or hard to maintain, what to refactor next, untested hotspots, or coverage gaps in a Repowise-indexed codebase (.repowise/ directory exists). Also use to get a before/after
Open skill - /dead-code-cleanup
Use when the user asks about cleanup, removing unused code, refactoring, reducing bundle size, or identifying dead code in a Repowise-indexed codebase (.repowise/ directory exists). Also activates when discussing technical debt, code hygiene, or repository maintenance.
Open skill - /pre-modification
Use before modifying, refactoring, or deleting files in a codebase that has Repowise indexed (indicated by a .repowise/ directory). Activates when Claude is about to edit code, especially shared utilities, core modules, or files the user didn't explicitly mention. Helps assess
Open skill - /architectural-decisions
Use when a task asks why code is built a certain way, proposes architectural changes, compares implementation approaches, or mentions decision markers such as WHY, DECISION, TRADEOFF, or ADR in a Repowise-indexed repository.
Open skill

