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.
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).
Activate this skill when:
Ask the user:
📊 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.
Directory Analysis:
# 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:
📁 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.]
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:
Report features:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 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
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:
Report architecture:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🏗️ 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)
If user provided logs or documentation:
Read: [provided-log-file]
Read: [provided-docs]
Extract from logs:
Compare what exists vs what should exist:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔍 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)
Create apps/[app-name]/specs/[feature]-requirements.md:
Based on code analysis, reverse-engineer requirements using EARS format:
# [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]
Create apps/[app-name]/specs/[feature]-design.md:
Document the actual design from code:
# [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]
[Extracted from code - actual schemas, types, models]
[Extracted from routes]
[Extracted from controllers]
[Patterns found in code]
[Auth mechanisms found]
[What tests exist, what's missing]
[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)
Create apps/[app-name]/context/IMPLEMENTATION_STATUS.md:
# 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
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 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! 🚀
Quick Analysis (30 minutes):
Deep Analysis (2-3 hours):
Well-Structured Code:
Legacy/Messy Code:
Partial Implementation:
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.
Always analyze first if:
Provide Context:
Be Specific:
Review & Refine:
Cannot Infer:
Best Effort:
Always provide:
Use this skill to bridge legacy code into spec-driven development! 🔍→📄