Code Analyzer
Analyze codebase to build comprehensive mental model for downstream operations.
Workflow Overview
- Scan — Collect facts via bash script (deterministic)
- Understand — Interpret structure and stack
- Trace — Follow execution paths through abstraction layers (skip if greenfield)
- Build — Construct dependency graph and mental model
- Confirm — Output summary with key files list
Step 1: Scan Project
Run the codebase scanner to collect facts — scripts/scan-codebase.sh from this skill's
directory:
bash "<this skill's directory>/scripts/scan-codebase.sh"
Scanner auto-detects project root (git root or pwd) and collects:
- Structure: file count, extensions, configs, directories, src modules
- Markers: AICODE-NOTE, AICODE-TODO, AICODE-FIX with locations
- Git: branch, modified/added/deleted files
Outputs JSON. No external dependencies required.
Exclusions (automatic)
- node_modules, .git, dist, build
- pycache, .venv, venv
- ai-docs, .next, .nuxt, coverage, .cache
Step 2: Understand Structure
Interpret scan results to determine:
- Stack: Language(s) from extensions, framework from configs
- Entry points: Main/index/app files in directories
- Modules: Domain boundaries from src_modules or directories
- Conventions: Naming patterns, structure style
Step 3: Trace Patterns
Skip if greenfield project (no src files found in Step 1).
For existing codebases, trace how code actually works — not just what files exist:
3.1 Find similar features
- Grep for features with similar domain (e.g., if building "payments", find existing "orders" or "billing")
- Identify entry points: API routes, UI components, CLI commands
3.2 Trace execution paths
- Follow call chain from entry point through business logic to data layer
- Note data transformations at each hop with file:line references
- Document side effects and state changes encountered
3.3 Map abstraction layers
- Identify boundaries: presentation → business logic → data access
- Note which patterns are in use (repository, service layer, controller, middleware, etc.)
- Document cross-cutting concerns encountered (auth, logging, caching, error handling)
3.4 Identify reuse opportunities
- Shared utilities and helpers with 3+ consumers
- Existing patterns that new code should follow
- Modules that new feature should integrate with (not duplicate)
Step 4: Build Mental Model
Extract and internalize from scan results + tracing:
From structure:
- Stack:
[language] | [framework] | [build-tool]
- Entry points with types
- Module list with inferred domains
- Directory organization
From tracing (if performed):
- Abstraction layers:
[presentation] → [business] → [data]
- Design patterns in use with file:line examples
- Cross-cutting concerns and how they're implemented
- Reusable modules for new feature integration
From markers:
- AICODE-NOTE → Implementation context (why decisions were made)
- AICODE-TODO → Planned work (incomplete areas)
- AICODE-FIX → Known issues (from previous reviews)
From git:
- Current branch → feature context
- Changed files → review/focus scope
From reading key files:
- Import patterns → dependency relationships
- Shared modules → components with 3+ incoming connections
- Circular dependencies → architectural issues
Step 5: Confirm Readiness
Output minimal confirmation with key files list:
✅ Code context loaded: [project-name]
Stack: [language] | [framework]
Modules: [count] ([list])
Patterns: [list of design patterns found, if traced]
Markers: [N] NOTE, [N] TODO, [N] FIX
Key files (read these for deep context):
- [path] — [why this file matters]
- [path] — [why this file matters]
- ... (5-10 files max)
Ready for: review | planning | documentation | agent-generation
Key files list — the 5-10 most important files for understanding the area being worked on. Calling agents/commands should read these files after Code Analyzer completes rather than re-scanning independently.
Error Handling
- Empty project: Report "No source files found"
- No git repo: Continue without git section (is_repo: false)
- Permission denied: Report file, continue with available
- No similar features found: Skip tracing, note "greenfield area — no existing patterns to follow"
Usage Notes
This skill prepares context for:
- Code review (scope, markers, dependencies)
- Implementation planning (patterns, reuse, architecture)
- Documentation generation (structure, stack)
- Agent creation (domains, boundaries)
Context remains in memory for entire conversation.
1---2name: code-analyzer3description: Comprehensive codebase analysis for building mental model of project structure, dependencies, and implementation context. Use when needing to: (1) Understand project architecture before review or documentation, (2) Find dependencies and shared modules, (3) Trace execution paths and abstraction layers for similar features, (4) Locate implementation markers (AICODE-*), (5) Prepare context for review, memory generation, or agent creation. Triggers on: analyze code, load code context, scan codebase, understand project structure, trace feature.4---56# Code Analyzer78Analyze codebase to build comprehensive mental model for downstream operations.910## Workflow Overview11121. **Scan** — Collect facts via bash script (deterministic)132. **Understand** — Interpret structure and stack143. **Trace** — Follow execution paths through abstraction layers (skip if greenfield)154. **Build** — Construct dependency graph and mental model165. **Confirm** — Output summary with key files list1718## Step 1: Scan Project1920Run the codebase scanner to collect facts — `scripts/scan-codebase.sh` from this skill's21directory:2223```bash24bash "<this skill's directory>/scripts/scan-codebase.sh"25```2627Scanner auto-detects project root (git root or pwd) and collects:28- Structure: file count, extensions, configs, directories, src modules29- Markers: AICODE-NOTE, AICODE-TODO, AICODE-FIX with locations30- Git: branch, modified/added/deleted files3132Outputs JSON. No external dependencies required.3334### Exclusions (automatic)35- node_modules, .git, dist, build36- __pycache__, .venv, venv37- ai-docs, .next, .nuxt, coverage, .cache3839## Step 2: Understand Structure4041Interpret scan results to determine:42- **Stack**: Language(s) from extensions, framework from configs43- **Entry points**: Main/index/app files in directories44- **Modules**: Domain boundaries from src_modules or directories45- **Conventions**: Naming patterns, structure style4647## Step 3: Trace Patterns4849**Skip if greenfield project (no src files found in Step 1).**5051For existing codebases, trace how code actually works — not just what files exist:5253**3.1 Find similar features**54- Grep for features with similar domain (e.g., if building "payments", find existing "orders" or "billing")55- Identify entry points: API routes, UI components, CLI commands5657**3.2 Trace execution paths**58- Follow call chain from entry point through business logic to data layer59- Note data transformations at each hop with file:line references60- Document side effects and state changes encountered6162**3.3 Map abstraction layers**63- Identify boundaries: presentation → business logic → data access64- Note which patterns are in use (repository, service layer, controller, middleware, etc.)65- Document cross-cutting concerns encountered (auth, logging, caching, error handling)6667**3.4 Identify reuse opportunities**68- Shared utilities and helpers with 3+ consumers69- Existing patterns that new code should follow70- Modules that new feature should integrate with (not duplicate)7172## Step 4: Build Mental Model7374Extract and internalize from scan results + tracing:7576**From structure:**77- Stack: `[language] | [framework] | [build-tool]`78- Entry points with types79- Module list with inferred domains80- Directory organization8182**From tracing (if performed):**83- Abstraction layers: `[presentation] → [business] → [data]`84- Design patterns in use with file:line examples85- Cross-cutting concerns and how they're implemented86- Reusable modules for new feature integration8788**From markers:**89- AICODE-NOTE → Implementation context (why decisions were made)90- AICODE-TODO → Planned work (incomplete areas)91- AICODE-FIX → Known issues (from previous reviews)9293**From git:**94- Current branch → feature context95- Changed files → review/focus scope9697**From reading key files:**98- Import patterns → dependency relationships99- Shared modules → components with 3+ incoming connections100- Circular dependencies → architectural issues101102## Step 5: Confirm Readiness103104Output minimal confirmation with key files list:105```106✅ Code context loaded: [project-name]107 Stack: [language] | [framework]108 Modules: [count] ([list])109 Patterns: [list of design patterns found, if traced]110 Markers: [N] NOTE, [N] TODO, [N] FIX111112 Key files (read these for deep context):113 - [path] — [why this file matters]114 - [path] — [why this file matters]115 - ... (5-10 files max)116117 Ready for: review | planning | documentation | agent-generation118```119120**Key files list** — the 5-10 most important files for understanding the area being worked on. Calling agents/commands should read these files after Code Analyzer completes rather than re-scanning independently.121122## Error Handling123124- **Empty project**: Report "No source files found"125- **No git repo**: Continue without git section (is_repo: false)126- **Permission denied**: Report file, continue with available127- **No similar features found**: Skip tracing, note "greenfield area — no existing patterns to follow"128129## Usage Notes130131This skill prepares context for:132- Code review (scope, markers, dependencies)133- Implementation planning (patterns, reuse, architecture)134- Documentation generation (structure, stack)135- Agent creation (domains, boundaries)136137Context remains in memory for entire conversation.