Back to skills
SKILL.md
Codebase Analyzer Skill
ASecurityAnalyze existing code to reverse-engineer specifications (requirements, design, tasks). Use when user wants to document existing code, refactor legacy systems, or understand what has been implemented. Identifies implemented features, architecture, and missing pieces.
- 57 stars
- 0 votes
- 0 copies
- 0 views
- Added October 17, 2026
Works with
Security analysis
100/100npx -y skills add diegosouzapw/awesome-omni-skill --skill codebase-analyzer-skill --agent claude-codeAre you the author of Codebase Analyzer Skill?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/diegosouzapw-codebase-analyzer-skill)---
name: Codebase Analyzer Skill
description: Analyze existing code to reverse-engineer specifications (requirements, design, tasks). Use when user wants to document existing code, refactor legacy systems, or understand what has been implemented. Identifies implemented features, architecture, and missing pieces.
allowed-tools: Read, Grep, List, Glob, Bash
---
# Codebase Analyzer Skill
## Purpose
You are an expert code archaeologist. Your goal is to analyze existing code in `apps/[app-name]/` and reverse-engineer complete specifications: requirements (what it does), design (how it works), and implementation status (what's done, what's missing).
## When to Use This Skill
Activate this skill when:
- User has existing code without documentation
- User wants to refactor legacy code with spec-driven development
- User needs to understand what has been implemented
- User mentions: "analyze code", "reverse engineer", "document existing", "understand codebase", "what's implemented"
## Core Workflow
### Step 1: Understand the Scope
Ask the user:
```markdown
π CODEBASE ANALYSIS
I'll analyze your existing code and generate specs for spec-driven development.
What would you like me to analyze?
A) Entire app: apps/[app-name]/
B) Specific feature/module
C) Specific files (provide paths)
Do you have:
- Development logs?
- Existing documentation?
- Test files?
- Commit history to reference?
This will help me understand the implementation better.
```
### Step 2: Analyze Code Structure
**Directory Analysis**:
```bash
# List all files in the app
find apps/[app-name]/src -type f
# Identify structure
ls -R apps/[app-name]/src/
# Count files by type
find apps/[app-name] -type f | wc -l
```
**Report structure**:
```markdown
π Code Structure Analysis
Apps/[app-name]/
βββ src/ - [X] files
β βββ components/ - [Y] files
β βββ services/ - [Z] files
β βββ models/ - [N] files
β βββ utils/ - [M] files
βββ tests/ - [T] test files
βββ [other directories]
Languages: [TypeScript, Python, etc.]
Framework: [React, FastAPI, etc.]
Database: [PostgreSQL, MongoDB, etc.]
```
### Step 3: Identify Features Implemented
**Read key files**:
```
Read: apps/[app-name]/src/index.ts (or main entry point)
Read: apps/[app-name]/src/routes.ts (or routing file)
Read: apps/[app-name]/package.json (or dependencies file)
```
**Parse for features**:
- Routes/endpoints β user-facing features
- Components β UI features
- Services β business logic features
- Models β data features
- Tests β tested functionality
**Report features**:
```markdown
ββββββββββββββββββββββββββββββββββββββββββββ
π― FEATURES IDENTIFIED
ββββββββββββββββββββββββββββββββββββββββββββ
1. User Authentication
- Files: src/auth/, src/components/Login.tsx
- Routes: /login, /register, /logout
- Tests: β
auth.test.ts (12 tests)
- Status: β
Implemented
2. Recipe Creation
- Files: src/recipes/, src/components/RecipeForm.tsx
- Routes: /recipes/create, /recipes/:id
- Tests: β οΈ Partial (6/10 tests)
- Status: πΆ Partially Implemented
3. Search Functionality
- Files: src/search/, src/components/SearchBar.tsx
- Routes: /search
- Tests: β No tests found
- Status: πΆ Implemented but Untested
4. Admin Dashboard
- Files: None found
- Routes: None
- Tests: None
- Status: β Not Implemented (mentioned in docs)
Total Features Found: 3 implemented, 1 planned
```
### Step 4: Analyze Architecture & Design
**Read architecture-critical files**:
```
Read: apps/[app-name]/src/config.ts
Read: apps/[app-name]/src/database.ts
Read: apps/[app-name]/src/api/index.ts
```
**Identify patterns**:
- Architecture: MVC, Microservices, Layered, etc.
- Data flow: REST, GraphQL, WebSockets
- State management: Redux, Context API, Zustand
- Error handling: Try-catch, error boundaries, middleware
- Security: Authentication, authorization, validation
**Report architecture**:
```markdown
ββββββββββββββββββββββββββββββββββββββββββββ
ποΈ ARCHITECTURE ANALYSIS
ββββββββββββββββββββββββββββββββββββββββββββ
Pattern: Layered Architecture (MVC)
- Controllers: src/controllers/
- Services: src/services/
- Models: src/models/
- Views: src/components/
Technology Stack:
- Frontend: React 18 + TypeScript
- Backend: Express.js + Node.js
- Database: PostgreSQL (pg library)
- Auth: JWT (jsonwebtoken)
- Testing: Jest + React Testing Library
Data Flow:
Client β Routes β Controllers β Services β Models β Database
Key Design Decisions:
β
Separation of concerns (good)
β
Dependency injection in services
β οΈ Limited error handling in controllers
β οΈ No input validation middleware
β No API documentation (Swagger/OpenAPI)
```
### Step 5: Read Development Logs (if provided)
If user provided logs or documentation:
```
Read: [provided-log-file]
Read: [provided-docs]
```
**Extract from logs**:
- Development timeline
- Known issues
- Incomplete features
- Technical debt
- Future plans
### Step 6: Identify Gaps & Missing Pieces
**Compare what exists vs what should exist**:
```markdown
ββββββββββββββββββββββββββββββββββββββββββββ
π GAPS IDENTIFIED
ββββββββββββββββββββββββββββββββββββββββββββ
Missing Implementation:
β Admin Dashboard (mentioned in routes.ts but not built)
β Email notifications (service stub exists, not implemented)
β Image upload (component exists, backend missing)
Missing Tests:
β οΈ Search functionality - no tests
β οΈ Recipe creation - partial coverage (60%)
β οΈ User profiles - no integration tests
Technical Debt:
β οΈ Error handling - inconsistent patterns
β οΈ Input validation - missing in several endpoints
β οΈ API documentation - none
β οΈ Logging - minimal, needs structured logging
Security Concerns:
π΄ Password reset - no rate limiting
π΄ File upload - no size/type validation
π΄ SQL queries - potential injection risk in search
Performance Issues:
β οΈ N+1 queries in recipe listing
β οΈ No caching layer
β οΈ Large bundle size (3.2MB)
```
### Step 7: Generate Requirements Spec
**Create `apps/[app-name]/specs/[feature]-requirements.md`**:
Based on code analysis, reverse-engineer requirements using EARS format:
```markdown
# [Feature Name] - Requirements
**Status**: β
Implemented | πΆ Partial | β Missing
## Overview
[What the code does - inferred from implementation]
## User Stories
[Derived from routes, components, and functionality]
### Story 1: [Feature Name]
**As a** [user type inferred from code]
**I want** [functionality that exists]
**So that** [benefit inferred from context]
## Functional Requirements
[EARS format based on what code actually does]
### REQ-1: [Requirement Title]
**WHEN** [condition found in code]
**THEN** the system SHALL [behavior implemented]
**Status**: β
Implemented in: src/[file].ts
## Non-Functional Requirements
### Performance
[Inferred from code patterns]
### Security
[Inferred from auth, validation, etc.]
### Usability
[Inferred from UI components]
## Testing Requirements
**Current Test Coverage**: [X]%
- Unit Tests: [coverage]
- Integration Tests: [coverage]
- E2E Tests: [coverage]
## Known Issues
[From logs, TODOs, or analysis]
## Missing Functionality
[Gap analysis results]
```
### Step 8: Generate Design Spec
**Create `apps/[app-name]/specs/[feature]-design.md`**:
Document the actual design from code:
```markdown
# [Feature Name] - Design
**Status**: Reverse-engineered from implementation
## System Overview
[Architecture diagram in text form]
## Components
### [Component Name]
**Location**: src/components/[Component].tsx
**Purpose**: [Inferred from code]
**Responsibilities**:
- [What it does]
- [How it integrates]
**Dependencies**:
- [Other components/services it uses]
**Interfaces**:
```typescript
[Actual interfaces/types from code]
```
## Data Models
[Extracted from code - actual schemas, types, models]
## API Design
### Endpoints
[Extracted from routes]
### Request/Response
[Extracted from controllers]
## Error Handling
[Patterns found in code]
## Security
[Auth mechanisms found]
## Testing Strategy
[What tests exist, what's missing]
## Technical Debt
[Issues identified during analysis]
```
### Step 9: Generate Tasks/Refactoring Plan
**Create `apps/[app-name]/specs/[feature]-tasks.md`**:
```markdown
# [Feature Name] - Refactoring & Completion Tasks
**Generated from codebase analysis**
## Phase 1: Documentation & Testing
### Task 1.1: Add Missing Tests
- [ ] Create tests for search functionality
- [ ] Complete recipe creation tests (4 missing)
- [ ] Add integration tests for user profiles
**Estimated Effort**: 4 hours
**Priority**: High
**Dependencies**: None
### Task 1.2: Add API Documentation
- [ ] Install Swagger/OpenAPI
- [ ] Document all endpoints
- [ ] Add request/response examples
**Estimated Effort**: 2 hours
**Priority**: Medium
**Dependencies**: None
## Phase 2: Fix Technical Debt
### Task 2.1: Implement Error Handling
- [ ] Create error handling middleware
- [ ] Standardize error responses
- [ ] Add logging for all errors
**Estimated Effort**: 3 hours
**Priority**: High
**Dependencies**: None
### Task 2.2: Add Input Validation
- [ ] Install validation library (Zod/Joi)
- [ ] Add validation to all endpoints
- [ ] Create validation schemas
**Estimated Effort**: 4 hours
**Priority**: High
**Dependencies**: None
## Phase 3: Complete Missing Features
### Task 3.1: Implement Admin Dashboard
- [ ] Create admin routes
- [ ] Build admin components
- [ ] Add admin authorization
**Estimated Effort**: 8 hours
**Priority**: Medium
**Dependencies**: User authentication
### Task 3.2: Complete Email Notifications
- [ ] Implement email service
- [ ] Create email templates
- [ ] Add notification triggers
**Estimated Effort**: 6 hours
**Priority**: Low
**Dependencies**: None
## Phase 4: Security & Performance
### Task 4.1: Fix Security Issues
- [ ] Add rate limiting to password reset
- [ ] Implement file upload validation
- [ ] Sanitize SQL queries (use parameterized queries)
**Estimated Effort**: 4 hours
**Priority**: Critical
**Dependencies**: None
### Task 4.2: Optimize Performance
- [ ] Fix N+1 queries (add eager loading)
- [ ] Implement caching layer (Redis)
- [ ] Optimize bundle size (code splitting)
**Estimated Effort**: 6 hours
**Priority**: Medium
**Dependencies**: None
## Implementation Order
**Critical Path**:
1. Security fixes (Task 4.1) - ASAP
2. Error handling (Task 2.1)
3. Input validation (Task 2.2)
4. Testing (Task 1.1)
5. Missing features (Task 3.x)
6. Performance (Task 4.2)
```
### Step 10: Update Implementation Status
**Create `apps/[app-name]/context/IMPLEMENTATION_STATUS.md`**:
```markdown
# Implementation Status: [App Name]
**Last Analyzed**: [Date]
**Analyzer**: Codebase Analyzer Agent
## Overall Status
- **Total Features**: 4 (3 implemented, 1 missing)
- **Code Coverage**: 62%
- **Security Score**: β οΈ Medium Risk (3 critical issues)
- **Technical Debt**: High (12 items)
## Features
### β
User Authentication
- **Status**: Complete
- **Files**: 15
- **Tests**: 12/12 passing
- **Issues**: None
### πΆ Recipe Creation
- **Status**: Partial (90%)
- **Files**: 22
- **Tests**: 6/10 (60% coverage)
- **Issues**: Missing backend for image upload
### πΆ Search Functionality
- **Status**: Implemented, Untested
- **Files**: 8
- **Tests**: 0 (no tests)
- **Issues**: No tests, potential SQL injection
### β Admin Dashboard
- **Status**: Not Implemented
- **Files**: 0
- **Tests**: 0
- **Issues**: Mentioned in plans, never built
## Refactoring Priorities
1. **Critical**: Fix security issues (Task 4.1)
2. **High**: Add error handling (Task 2.1)
3. **High**: Add input validation (Task 2.2)
4. **High**: Add missing tests (Task 1.1)
5. **Medium**: Complete missing features (Task 3.x)
## Next Steps
1. Review generated specs in `apps/[app-name]/specs/`
2. Prioritize refactoring tasks
3. Use `/implement-task` to work on specific tasks
4. Track progress in this file
```
### Step 11: Final Report
```markdown
ββββββββββββββββββββββββββββββββββββββββββββ
β
CODEBASE ANALYSIS COMPLETE
ββββββββββββββββββββββββββββββββββββββββββββ
App: [app-name]
Code Analyzed: [X] files ([Y] lines)
Features Identified: [N]
Generated Specs:
π apps/[app-name]/specs/user-authentication-requirements.md
π apps/[app-name]/specs/user-authentication-design.md
π apps/[app-name]/specs/user-authentication-tasks.md
π apps/[app-name]/specs/recipe-creation-requirements.md
π apps/[app-name]/specs/recipe-creation-design.md
π apps/[app-name]/specs/recipe-creation-tasks.md
[...]
Context Updated:
π apps/[app-name]/context/IMPLEMENTATION_STATUS.md
π apps/[app-name]/context/architecture.md
Status Summary:
β
3 features fully implemented
πΆ 2 features partially implemented
β 1 feature missing
π΄ 3 critical security issues
β οΈ 12 technical debt items
ββββββββββββββββββββββββββββββββββββββββββββ
π― RECOMMENDED NEXT STEPS
ββββββββββββββββββββββββββββββββββββββββββββ
1. Review Generated Specs
- Read specs to understand documented implementation
- Refine/correct any misunderstood functionality
2. Prioritize Refactoring
- Start with security fixes (CRITICAL)
- Then error handling & validation
- Then missing tests
3. Complete Missing Features
- Implement admin dashboard
- Complete email notifications
4. Use Spec-Driven Development Going Forward
- /set-context [app-name]
- /implement-task [feature] [task-id]
- All future work follows specs
ββββββββββββββββββββββββββββββββββββββββββββ
Your existing codebase is now integrated into the spec-driven development workflow! π
```
## Best Practices
### Analysis Depth
**Quick Analysis** (30 minutes):
- Directory structure
- Main files only
- High-level features
- Critical issues
**Deep Analysis** (2-3 hours):
- All source files
- Test coverage
- Architecture patterns
- Technical debt
- Performance analysis
- Security audit
### Handling Different Codebases
**Well-Structured Code**:
- Easy to identify features
- Clear separation of concerns
- Good test coverage
β Generate detailed, accurate specs
**Legacy/Messy Code**:
- Unclear structure
- Mixed concerns
- No tests
β Document "as-is", mark areas needing refactoring
**Partial Implementation**:
- Some features done, some stubbed
- Mixed quality
β Separate implemented vs planned in specs
### Working with Logs
If user provides logs:
```
Read: [log-file]
Extract:
- Development timeline
- Feature implementation order
- Known issues
- Developer notes
- TODO items
```
Use this to enrich specs with context.
## Integration with Other Skills
### After Analysis
1. **Use builder-skill** to implement missing tasks
2. **Use spec-orchestrator-skill** for new features
3. **Use worktree-manager-skill** for isolated refactoring
### Before Implementation
Always analyze first if:
- Code exists but no docs
- Refactoring needed
- Understanding legacy system
## Tips for Users
**Provide Context**:
- Development logs help immensely
- Commit history can show evolution
- Tests reveal intended behavior
- Documentation (even partial) clarifies intent
**Be Specific**:
- "Analyze entire app" vs "Analyze auth module"
- Point to specific files for focused analysis
- Mention known issues or areas of concern
**Review & Refine**:
- Generated specs are inferred, not perfect
- Review requirements for accuracy
- Correct any misunderstood functionality
- Add missing context
## Limitations
**Cannot Infer**:
- Business requirements not evident in code
- User stories beyond what's implemented
- Design rationale (only current state)
- Future plans (unless in comments/docs)
**Best Effort**:
- Test coverage calculation (approximation)
- Feature completeness (based on visible code)
- Security analysis (not a full audit)
- Performance issues (static analysis only)
## Report Format
Always provide:
1. **Structure**: What exists
2. **Features**: What's implemented
3. **Architecture**: How it works
4. **Gaps**: What's missing
5. **Specs**: Generated documentation
6. **Next Steps**: Recommended actions
---
**Use this skill to bridge legacy code into spec-driven development!** πβπ
Attribution
Comments
Loading commentsβ¦
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.