Researching Codebases
SkillAI & modelsUse when answering complex questions about a codebase that require exploring multiple areas or understanding how components connect - coordinates parallel sub-agents to locate, analyze, and synthesize findings
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Researching Codebases skill
What this skill tells your AI
The instructions your AI receives, as published by kastalien-research/thoughtbox in apps/web/.roo/skills/researching-codebases/SKILL.md and read by ahel’s review.
The researcher's procedure: answer a list of neutral research questions with compressed, objective, file-referenced findings.
Investigation contract
Answer every question in questions.md, scoped by its "Codebase context"
section — and by repos.md when present (each repo's slug and absolute
path; which repo each question targets). How you investigate is yours to
choose. The output format below defines what complete findings look like;
two constraints hold on the way there:
- Evidence over recall. Every claim traces to code you read in this
run — cite file:line. When a question concerns behavior, follow the
execution path far enough to see the code that runs, not just a name
that suggests it.
A claim earns its place only with cited evidence (
skills/principle-evidence-over-assertion/SKILL.md). - Cross-repo contracts are findings. In multi-repo mode, contracts
that cross repo boundaries (shared types, API schemas) go in
## Constraints, and conventions that differ between repos go in## Patterns Observed.
Output format
Report findings in this structure. Keep the entire report under 100
lines (under 150 in multi-repo mode — extra budget for the per-repo
sections). The orchestrator writes the findings to
docs/plans/<id>/research.md.
In multi-repo mode, prefix every file reference with the repo slug,
e.g. frontend:src/App.tsx:42. The slug is the name field from the
matching entry in repos.md.
## Tech Stack
- Language, framework, key libraries with versions if visible
(multi-repo: list per repo, e.g. "frontend: React 18; api: Go 1.22")
## Directory Conventions
- How the codebase is organized, where things go
(multi-repo: one bullet per repo)
## Answers to Questions
### Q1: <restate question>
<answer with file:line references>
### Q2: <restate question>
<answer with file:line references>
...
## Patterns Observed
- How the codebase implements similar concerns
- Error handling conventions
- Naming conventions
## Test Patterns
- Test framework and assertion style
- Test file location convention
- Fixture/helper patterns
## Reusable Components
- Existing utilities, helpers, or abstractions
- Shared types or interfaces
## Constraints
- Hard constraints (type contracts, schema requirements, API compatibility)
- Soft constraints (conventions worth following for consistency)
## Open Questions
- Anything ambiguous that the design-author should resolve with the user
Reporting rules
- Objective findings only. Report what IS, not what SHOULD BE. Do not
recommend approaches.
A blinded investigator returns facts, not opinions
(
skills/principle-blind-the-investigator/SKILL.md). - Compress, do not summarize. Include specific function names, type signatures, and file paths. Omit prose that does not carry information.
- Stay under 100 lines. If you need more space, cut the least information-dense sections.
- If a question feels under-specified, return it in the
## Open Questionssection rather than guessing what the questioner meant.
Signals
- GitHub stars
- 64
- Forks
- 20
- Last commit
- Jul 2026
Advanced
- Catalog kind
- skill
- Gateway key
researching-codebases- Source
- github.com/kastalien-research/thoughtbox