Codebase Proficiency
Build comprehensive understanding of the codebase before starting work. Single-session, no subagents needed.
Method
Phase 2 - Structure Mapping:
- Explore directory structure
- Identify key modules and their responsibilities
- Map entry points and main code paths
Phase 3 - Pattern Recognition:
- Note coding conventions and patterns used
- Identify abstractions and how they're applied
- Understand testing approach and file organization
Phase 4 - Synthesize:
- Build mental model of how components connect
- Identify the most important files to understand
- Offer to write or refresh the project's
CLAUDE.mdfrom these findings — commands, conventions, entry points, gotchas — for the user to review. The map then loads every session instead of being re-derived; keep it short (under ~50 lines, facts Claude can't infer from the code). The standalone config ships a starter template at.claude/CLAUDE.md.example. - Your findings persist through project memory for future sessions
Method:
- Read documentation first, then explore code
- Follow imports to understand dependencies
- Look at tests to understand intended behavior
- Trace a request/operation end-to-end
Depth:
- Understand the "why" behind architectural choices
- Know which files are central vs peripheral
- Grasp the domain model and key abstractions
Output
## Codebase: [project-name]
### Tech Stack
- Language: [primary language and version]
- Framework: [main framework]
- Build: [build tool and key scripts]
- Test: [test framework and command]
### Architecture
[2-3 sentences describing the overall architecture]
### Key Components
- `[path]` - [responsibility]
- `[path]` - [responsibility]
### Patterns & Conventions
- [Notable pattern 1]
- [Notable pattern 2]
### Entry Points
- Main: `[file]`
- Tests: `[command]`
- Dev: `[command]`
### Understanding Checklist
- [ ] Core data flow understood
- [ ] Main abstractions identified
- [ ] Test patterns recognized
- [ ] Build process clear
Findings persist via project memory automatically.
Constraints
AVOID: Superficial scanning without comprehension. Suggesting changes (just understand). Making assumptions without verification.