| name | analyze-architecture |
| description | Comprehensive brownfield architecture analysis for existing codebases. Discovers structure, identifies patterns, assesses quality, calculates production readiness, and provides actionable recommendations. Use when analyzing existing codebases to understand architecture, assess quality, or prepare for modernization. |
| acceptance | [object Object], [object Object], [object Object], [object Object], [object Object], [object Object], [object Object], [object Object] |
| inputs | [object Object] |
| outputs | [object Object] |
| telemetry | [object Object] |
Analyze Architecture (Brownfield)
Purpose
Perform comprehensive, production-ready architecture analysis of existing codebases. Designed for brownfield projects where formal architecture documentation may not exist. Discovers structure, identifies patterns, assesses quality across 8 dimensions, and provides actionable recommendations.
Core Principles:
- Discovery-first: Understand what exists before judging
- Pattern recognition: Identify architectural patterns in use
- Multi-dimensional: Quality assessment across 8 key areas
- Actionable insights: Prioritized recommendations with effort estimates
- Production focus: Calculate readiness for production deployment
- Brownfield-optimized: Works without existing documentation
Prerequisites
- Codebase accessible on filesystem
- Read access to all source files
- Build configuration files present (package.json, etc.)
- Database schema files accessible (if applicable)
Workflow Modes
Choose the analysis depth based on time constraints and requirements:
Quick Mode (--depth quick)
Duration: 5-7 minutes Token Usage: ~50,000 tokens Steps: 1-8 only Output: Executive summary + key metrics
Best For:
- Initial assessments
- Time-sensitive decisions
- High-level overviews
- Quick health checks
Steps Included:
- Discover Codebase Structure
- Detect Project Type
- Analyze Technology Stack
- Identify Architectural Patterns
- Calculate Quality Scores (simplified)
- Identify Critical Technical Debt
- Generate Quick Report
- Emit Telemetry
Standard Mode (--depth standard) [DEFAULT]
Duration: 10-12 minutes Token Usage: ~80,000 tokens Steps: 1-12 Output: Comprehensive analysis without deep-dives
Best For:
- Regular assessments
- Pre-production reviews
- Architecture validation
- Team presentations
Steps Included: 1-11 from full workflow (excludes integration analysis, deep testing review, and extended report sections)
Comprehensive Mode (--depth comprehensive)
Duration: 15-20 minutes Token Usage: ~120,000 tokens Steps: All 15 steps Output: Complete analysis with all sections
Best For:
- Production readiness assessments
- Architecture audits
- Documentation creation
- Detailed planning
Steps Included: All 15 steps with deep analysis, complete recommendations, risk assessment, and extended report
Adaptive Workflow
The skill automatically adapts based on available information:
Early Exit Conditions:
- If
docs/architecture.mdexists and is recent (<30 days): Reference existing documentation, skip redundant discovery - If all package.json files parsed successfully: Skip manual tech stack discovery
- If documentation is comprehensive: Validate metrics instead of rediscovering
Token Budget Management:
- Track token usage per step
- Warn at 80% of budget
- Switch to quick mode if budget exceeded
- Prioritize critical findings if limited budget
Workflow
1. Discover Codebase Structure
Action: Analyze directory structure and identify key components
Early Exit Condition:
If docs/architecture.md or docs/ARCHITECTURE.md exists and is recent (<30 days):
- Read existing architecture documentation
- Extract project structure from docs
- Validate structure still matches (quick check)
- Skip to Step 4 (Architectural Patterns)
Execute:
# Check for existing architecture docs
find {codebase_path}/docs -name "*architecture*.md" -mtime -30 2>/dev/null
# If no recent docs, discover structure
# Find all major directories and files
find {codebase_path} -maxdepth 3 -type d | head -50
find {codebase_path} -name "package.json" -o -name "*.config.*" -o -name "tsconfig.json"
Identify:
- Monorepo detection: Multiple package.json files, workspaces config
- Package structure: packages/, apps/, libs/, src/ directories
- Configuration files: tsconfig.json, .eslintrc, vite.config.ts, etc.
- Documentation: README.md, docs/ folder, ARCHITECTURE.md
- Build artifacts: dist/, build/, node_modules/
Classification:
- Monorepo: Multiple packages with shared configuration
- Standalone: Single package with unified source
- Microservices: Multiple independent services
- Modular monolith: Single codebase with clear module boundaries
See: references/codebase-discovery-guide.md for detection heuristics
2. Detect Project Type
Action: Determine primary domain (frontend, backend, fullstack, monorepo)
Frontend indicators:
- React, Vue, Angular, Svelte dependencies
- Component directories (components/, pages/, views/)
- State management (Redux, Zustand, Pinia)
- UI libraries (Material-UI, TailwindCSS, shadcn)
- Build tools (Vite, Webpack, Next.js)
Backend indicators:
- Express, Fastify, NestJS, Koa dependencies
- API routes (routes/, controllers/, endpoints/)
- Database ORM (Prisma, TypeORM, Sequelize)
- Service layers (services/, handlers/, use-cases/)
- Middleware (auth, validation, error handling)
Fullstack indicators:
- Next.js, Remix, SvelteKit, Nuxt
- Both frontend and backend patterns present
- API routes within same codebase
- Shared types between client/server
Monorepo indicators:
- Workspaces in package.json (npm, yarn, pnpm)
- Turborepo, Nx, Lerna configuration
- Multiple packages with dependencies
- Shared libraries and utilities
Output: project_type = frontend | backend | fullstack | monorepo
3. Analyze Technology Stack
Action: Extract and document all technologies with versions
Early Exit Condition: If all package.json files found and successfully parsed:
- Extract dependencies and devDependencies
- Parse versions directly from package.json
- Skip manual grep-based discovery
- Proceed to Step 4
Execute:
# Read all package.json files
find {codebase_path} -name "package.json" -not -path "*/node_modules/*" -exec cat {} \;
# Extract tech stack using primitive (preferred)
python .claude/skills/bmad-commands/scripts/extract_tech_stack.py \
--codebase {codebase_path} \
--output json
# Read Prisma schema if exists
find {codebase_path} -name "schema.prisma" -exec cat {} \;
Extract:
Backend Stack:
- Runtime (Node.js version from .nvmrc or package.json)
- Framework (Express, NestJS, Fastify, etc.)
- ORM/Database (Prisma, TypeORM, Mongoose, etc.)
- Caching (Redis, Memcached)
- Job queues (Bull, Inngest, Agenda)
- Auth (Passport, JWT, Clerk, Auth0)
- Validation (Zod, Joi, Yup)
- Testing (Jest, Vitest, Mocha)
Frontend Stack:
- Framework (React, Vue, Angular, Svelte)
- UI Library (Material-UI, Ant Design, Chakra)
- State Management (Redux, Zustand, Recoil, Context)
- Data Fetching (React Query, SWR, Apollo)
- Routing (React Router, Vue Router)
- Styling (CSS-in-JS, Tailwind, CSS Modules)
- Build Tool (Vite, Webpack, Rollup)
- Testing (Vitest, Jest, Playwright, Cypress)
Database & Infrastructure:
- Database (PostgreSQL, MongoDB, MySQL, etc.)
- Caching layer (Redis, Memcached)
- Search (Elasticsearch, Algolia)
- File storage (S3, Cloudinary, Supabase)
- Real-time (WebSocket, SSE, Socket.io)
DevOps & Tools:
- Package manager (npm, yarn, pnpm)
- Monorepo tool (Turborepo, Nx, Lerna)
- CI/CD (GitHub Actions, CircleCI, etc.)
- Linting (ESLint, Prettier)
- Type checking (TypeScript)
Output: Complete technology inventory with versions
See: references/tech-stack-catalog.md for common patterns
4. Identify Architectural Patterns
Action: Recognize and document architectural patterns in use
Search for pattern indicators:
Domain-Driven Design (DDD):
# Look for DDD structure
grep -r "domain/entities" {codebase_path}/src
grep -r "domain/value-objects" {codebase_path}/src
grep -r "AggregateRoot" {codebase_path}/src
grep -r "DomainEvent" {codebase_path}/src
CQRS (Command Query Responsibility Segregation):
# Use metric validation primitive for accuracy (RECOMMENDED)
python .claude/skills/bmad-commands/scripts/validate_metrics.py \
--codebase {codebase_path}/src \
--metric cqrs \
--output json
# Alternative: Manual discovery (less accurate)
# grep -r "CommandHandler" {codebase_path}/src
# grep -r "QueryHandler" {codebase_path}/src
# find {codebase_path}/src -path "*/commands/*" -o -path "*/queries/*"
Expected Output:
{
"command_files": 92,
"query_files": 119,
"command_handlers": 65,
"query_handlers": 87,
"total_handlers": 152,
"total_files": 211
}
Layered Architecture:
# Look for layers
find {codebase_path}/src -type d -name "presentation" -o -name "application" -o -name "domain" -o -name "infrastructure"
find {codebase_path}/src -type d -name "controllers" -o -name "services" -o -name "repositories"
Microservices:
# Look for service boundaries
find {codebase_path} -name "docker-compose.yml" -o -name "Dockerfile"
find {codebase_path}/services -type d -maxdepth 1
Event-Driven:
# Look for event patterns
grep -r "EventEmitter" {codebase_path}/src
grep -r "EventBus" {codebase_path}/src
find {codebase_path}/src -path "*/events/*"
Hexagonal/Ports & Adapters:
# Look for ports and adapters
find {codebase_path}/src -path "*/ports/*" -o -path "*/adapters/*"
grep -r "interface.*Port" {codebase_path}/src
Repository Pattern:
# Look for repositories
find {codebase_path}/src -path "*/repositories/*"
grep -r "Repository" {codebase_path}/src | grep -E "(class|interface)"
Output: Array of identified patterns with evidence
Pattern Confidence Scoring:
- Strong evidence: 5+ files matching pattern
- Moderate evidence: 3-4 files matching pattern
- Weak evidence: 1-2 files matching pattern
See: references/architectural-patterns-catalog.md for complete list
5. Evaluate Domain Model (if DDD/CQRS)
Action: Analyze domain entities, services, and events
Discover Entities:
# Find entity files
find {codebase_path}/src -path "*/domain/entities/*" -o -path "*/entities/*"
grep -r "class.*Entity" {codebase_path}/src
Discover Value Objects:
# Find value objects
find {codebase_path}/src -path "*/domain/value-objects/*" -o -path "*/value-objects/*"
Discover Aggregates:
# Find aggregate roots
grep -r "AggregateRoot" {codebase_path}/src
Discover Domain Events:
# Find domain events
find {codebase_path}/src -path "*/domain/events/*" -o -path "*/events/*"
grep -r "DomainEvent" {codebase_path}/src
Discover Application Services:
# Find services
find {codebase_path}/src -path "*/application/services/*" -o -path "*/services/*"
grep -r "class.*Service" {codebase_path}/src | head -20
Discover Command/Query Handlers:
# Find CQRS handlers
find {codebase_path}/src -path "*/handlers/commands/*" -o -path "*/handlers/queries/*"
grep -r "CommandHandler\|QueryHandler" {codebase_path}/src | wc -l
Output:
- Entity count and list
- Value object count
- Aggregate roots identified
- Domain events count
- Service count
- Command handler count
- Query handler count
Domain Model Quality Indicators:
- Excellent: Clear separation, proper aggregates, rich domain logic
- Good: Entities present, some business logic in domain
- Fair: Anemic domain model, logic in services
- Poor: No domain layer, data structures only
6. Assess API Architecture
Action: Analyze API design, endpoints, and middleware
Discover API Endpoints:
# Find route definitions
find {codebase_path}/src -path "*/routes/*" -o -path "*/controllers/*"
grep -r "router\." {codebase_path}/src | grep -E "(get|post|put|patch|delete)" | wc -l
Identify API Style:
- REST: router.get(), router.post(), /api/v1/ patterns
- GraphQL: schema definitions, resolvers, apollo-server
- tRPC: .query(), .mutation(), typed procedures
- gRPC: .proto files, protobuf definitions
Discover Middleware:
# Find middleware
find {codebase_path}/src -path "*/middleware/*"
grep -r "app.use\|router.use" {codebase_path}/src
Common Middleware to Check:
- Authentication (JWT verification, OAuth)
- Authorization (RBAC, permissions)
- Validation (request body/params validation)
- Error handling (global error handler)
- Rate limiting (DDoS protection)
- Request logging (audit trail)
- CORS (cross-origin handling)
API Versioning:
# Check for versioning
grep -r "/api/v[0-9]" {codebase_path}/src
Output:
- API style (REST, GraphQL, tRPC, gRPC)
- Endpoint count
- Middleware stack
- Versioning strategy
- Authentication method
- Authorization approach
API Quality Indicators:
- Excellent: Versioned, validated, authenticated, documented
- Good: Proper middleware, error handling, basic validation
- Fair: Basic routes, some middleware missing
- Poor: No middleware, no validation, security gaps
7. Review Data Architecture
Action: Analyze database schema, caching, and real-time infrastructure
Analyze Database Schema:
# Find Prisma schema
find {codebase_path} -name "schema.prisma" -exec wc -l {} \;
find {codebase_path} -name "schema.prisma" -exec grep -E "model |enum " {} \; | wc -l
# Find migrations
find {codebase_path} -path "*/prisma/migrations/*" -name "migration.sql" | wc -l
Extract from Schema:
- Model count (database tables)
- Enum count (type enums)
- Relationship patterns (one-to-many, many-to-many)
- Index count (performance indexes)
- Multi-tenancy patterns (tenantId fields)
Check Caching Strategy:
# Look for caching
grep -r "redis\|cache\|memcache" {codebase_path}/src --include="*.ts" | wc -l
find {codebase_path}/src -path "*/cache/*"
Identify Real-time Architecture:
# Look for real-time
grep -r "WebSocket\|SSE\|socket.io\|EventSource" {codebase_path}/src
find {codebase_path}/src -path "*/realtime/*"
Output:
- Database type (PostgreSQL, MongoDB, etc.)
- Model count
- Index optimization level
- Multi-tenant design (yes/no)
- Caching strategy (Redis, in-memory, none)
- Real-time approach (WebSocket, SSE, polling, none)
Data Architecture Quality Indicators:
- Excellent: Optimized indexes, caching, multi-tenant, real-time
- Good: Proper schema, some indexes, basic caching
- Fair: Basic schema, missing indexes, no caching
- Poor: Unoptimized schema, no indexes, performance issues
8. Analyze Security Posture
Action: Assess authentication, authorization, and security measures
Authentication Analysis:
# Find auth implementation
grep -r "passport\|jwt\|clerk\|auth0\|supabase" {codebase_path}/src
find {codebase_path}/src -path "*/auth/*"
Authorization Analysis:
# Find authorization logic
grep -r "RBAC\|permissions\|roles\|authorize" {codebase_path}/src
grep -r "canAccess\|hasPermission\|checkRole" {codebase_path}/src
Security Measures Check:
# Check for security practices
grep -r "helmet\|cors\|csurf\|express-rate-limit" {codebase_path}/src
grep -r "bcrypt\|argon2\|scrypt" {codebase_path}/src
grep -r "sanitize\|escape\|validator" {codebase_path}/src
Secrets Management:
# Check for environment variables and secrets
find {codebase_path} -name ".env*" | wc -l
grep -r "process.env" {codebase_path}/src | wc -l
grep -r "AWS_SECRET\|API_KEY\|PASSWORD" {codebase_path}/src
SQL Injection Protection:
- Prisma (parameterized queries) = Protected
- Raw SQL queries = Vulnerable
- Input validation with Zod/Joi = Protected
XSS Protection:
- React (JSX escaping) = Protected
- Helmet CSP headers = Protected
- User input sanitization = Protected
Output:
- Authentication method (JWT, OAuth, Clerk, etc.)
- Authorization approach (RBAC, ABAC, etc.)
- Security headers (Helmet, CORS, CSP)
- Password hashing (bcrypt, argon2)
- Input validation (Zod, Joi, Yup)
- SQL injection protection (ORM usage)
- XSS protection (React, sanitization)
- Secrets management (env vars, vault)
Security Score Calculation:
- Auth present: 20 points
- Authorization (RBAC): 15 points
- Security headers: 15 points
- Password hashing: 10 points
- Input validation: 15 points
- SQL injection protected: 10 points
- XSS protection: 10 points
- Secrets properly managed: 5 points
- Total: 0-100
9. Evaluate Performance Characteristics
Action: Identify bottlenecks and optimization opportunities
Database Performance:
# Check for indexes
grep -r "@@index\|@@id\|@@unique" {codebase_path}/prisma/schema.prisma | wc -l
# Look for N+1 query patterns
grep -r "findMany\|findFirst" {codebase_path}/src | wc -l
grep -r "include:\|select:" {codebase_path}/src | wc -l
Caching Strategy:
# Check caching implementation
grep -r "redis.get\|cache.get" {codebase_path}/src | wc -l
grep -r "redis.set\|cache.set" {codebase_path}/src | wc -l
Frontend Performance:
# Check for code splitting
grep -r "React.lazy\|lazy(" {codebase_path}/src
grep -r "dynamic(.*import" {codebase_path}/src
# Check for memoization
grep -r "useMemo\|useCallback\|React.memo" {codebase_path}/src | wc -l
Query Optimization:
- Proper indexes present: +20 points
- Connection pooling configured: +10 points
- Caching implemented: +20 points
- Code splitting: +10 points
- Memoization used: +10 points
Output:
- Database index count
- Caching strategy (Redis, in-memory, none)
- Code splitting (yes/no)
- Memoization usage (high, medium, low)
- Query optimization level (excellent, good, fair, poor)
- Performance score (0-100)
Performance Quality Indicators:
- Excellent (80-100): Optimized indexes, caching, code splitting, memoization
- Good (60-79): Some optimization, basic caching, indexes present
- Fair (40-59): Minimal optimization, missing key optimizations
- Poor (0-39): No optimization, performance bottlenecks likely
10. Assess Scalability
Action: Evaluate horizontal and vertical scaling capabilities
Horizontal Scaling Readiness:
- Stateless API design: +30 points
- Distributed caching (Redis): +20 points
- Database connection pooling: +15 points
- Load balancer ready: +10 points
- Background job processing: +15 points
- No server-side sessions: +10 points
Vertical Scaling Concerns:
- Single database instance: -20 points
- No read replicas: -15 points
- Synchronous processing: -10 points
- No queue system: -15 points
Scalability Checks:
# Check for stateless design
grep -r "session\|cookie-session" {codebase_path}/src
# Check for background jobs
grep -r "bull\|inngest\|agenda" {codebase_path}/src
# Check for distributed caching
grep -r "redis\|memcached" {codebase_path}/src
Output:
- Horizontal scaling readiness (0-100)
- Bottlenecks identified
- Scaling recommendations
- Current limitations
Scalability Quality Indicators:
- Excellent (80-100): Stateless, distributed cache, job queue, load balancer ready
- Good (60-79): Mostly stateless, basic caching, some async processing
- Fair (40-59): Some stateful components, limited caching
- Poor (0-39): Stateful design, no distributed components, single points of failure
11. Identify Technical Debt
Action: Find type errors, deprecated patterns, missing tests, documentation gaps
Type Safety Analysis (TypeScript):
# Run TypeScript compiler
npx tsc --noEmit 2>&1 | grep "error TS" | wc -l
# Count errors by type
npx tsc --noEmit 2>&1 | grep "error TS" | awk '{print $2}' | sort | uniq -c
Deprecated Patterns:
# Look for old patterns
grep -r "componentWillMount\|componentWillReceiveProps" {codebase_path}/src
grep -r "@ts-ignore\|@ts-expect-error" {codebase_path}/src | wc -l
grep -r "any" {codebase_path}/src | grep -v "node_modules" | wc -l
Missing Tests:
# Count test files
find {codebase_path}/src -name "*.test.*" -o -name "*.spec.*" | wc -l
# Count source files
find {codebase_path}/src -name "*.ts" -o -name "*.tsx" | grep -v ".test\|.spec" | wc -l
# Calculate rough coverage
# test_files / source_files * 100
Documentation Gaps:
# Check for documentation
find {codebase_path} -name "README.md" -o -name "*.md" | wc -l
find {codebase_path}/docs -name "*.md" 2>/dev/null | wc -l
Output:
- TypeScript error count
- Error breakdown by type
- Deprecated pattern count
- Test coverage estimate
- Documentation file count
- Technical debt priority list
Technical Debt Scoring:
- 0-100 errors: Low debt (90-100 points)
- 101-500 errors: Moderate debt (60-89 points)
- 501-1000 errors: High debt (30-59 points)
- 1000+ errors: Critical debt (0-29 points)
12. Review Testing Infrastructure
Action: Assess unit, integration, and E2E test coverage
Unit Tests:
# Find unit test files
find {codebase_path}/src -name "*.test.*" -o -name "*.spec.*" | wc -l
grep -r "describe\|it\|test(" {codebase_path}/src --include="*.test.*" | wc -l
Integration Tests:
# Look for integration test patterns
grep -r "supertest\|request(" {codebase_path}/src | wc -l
find {codebase_path} -path "*/tests/integration/*" -o -path "*/e2e/*"
E2E Tests:
# Check for E2E frameworks
find {codebase_path} -name "playwright.config.*" -o -name "cypress.config.*"
find {codebase_path} -path "*/e2e/*" -name "*.spec.*" | wc -l
Test Coverage:
# Check for coverage configuration
find {codebase_path} -name "vitest.config.*" -o -name "jest.config.*"
grep -r "coverage" {codebase_path}/package.json
Output:
- Unit test count
- Integration test count
- E2E test count
- Test framework (Vitest, Jest, Playwright, Cypress)
- Coverage tracking (yes/no)
- Testing score (0-100)
Testing Quality Indicators:
- Excellent (85-100): High coverage, all test types, automated CI
- Good (70-84): Unit + integration tests, some E2E, CI setup
- Fair (50-69): Basic unit tests, missing integration/E2E
- Poor (0-49): Minimal tests, no automation, no coverage tracking
13. Analyze External Integrations
Action: Identify third-party services and integration methods
Search for Integration Patterns:
# Look for API clients
grep -r "axios\|fetch\|got\|node-fetch" {codebase_path}/src
grep -r "prisma\|supabase\|firebase" {codebase_path}/src
# Look for SDKs
grep -r "@clerk\|@auth0\|stripe\|sendgrid\|twilio" {codebase_path}/package.json
Common Integrations to Check:
- Authentication: Clerk, Auth0, Firebase, Supabase
- Payments: Stripe, PayPal, Square
- Email: SendGrid, Mailgun, AWS SES
- SMS: Twilio, Vonage
- Storage: AWS S3, Cloudinary, Supabase Storage
- Analytics: Google Analytics, Mixpanel, Segment
- Monitoring: Sentry, Datadog, New Relic
- AI: OpenAI, Anthropic, Hugging Face
- Search: Algolia, Elasticsearch, Typesense
- Database: PostgreSQL, MongoDB, Redis
Integration Method:
- REST API
- SDK/Client Library
- Webhooks
- Event-driven
- Polling
Output:
- Service list with purpose
- Integration method per service
- SDK versions
- Webhook endpoints
14. Calculate Production Readiness Score
Action: Compute weighted score across all quality dimensions
Quality Dimensions & Weights:
| Dimension | Weight | Score (0-100) |
|---|---|---|
| Architecture | 20% | Calculated |
| Code Quality | 15% | Calculated |
| Security | 15% | Calculated |
| Performance | 10% | Calculated |
| Scalability | 10% | Calculated |
| Maintainability | 15% | Calculated |
| Testing | 10% | Calculated |
| Monitoring | 5% | Calculated |
Formula:
Production Readiness Score =
(Architecture × 0.20) +
(Code Quality × 0.15) +
(Security × 0.15) +
(Performance × 0.10) +
(Scalability × 0.10) +
(Maintainability × 0.15) +
(Testing × 0.10) +
(Monitoring × 0.05)
Score Interpretation:
- 90-100: ⭐⭐⭐⭐⭐ Excellent - Production Ready
- 80-89: ⭐⭐⭐⭐ Very Good - Minor improvements needed
- 70-79: ⭐⭐⭐⭐ Good - Moderate improvements needed
- 60-69: ⭐⭐⭐ Fair - Significant work required
- 50-59: ⭐⭐ Poor - Major rework needed
- 0-49: ⭐ Critical - Not production ready
Output: Overall production readiness score with breakdown
15. Generate Comprehensive Analysis Report
Action: Create detailed markdown report with all findings
Report Structure:
# {Project Name} - Architecture Analysis Report
## Executive Summary
- Project overview
- Overall assessment
- Production readiness score
- Key verdict
## 1. Architecture Overview
- Project structure
- Architecture pattern
- Key characteristics
## 2. Technology Stack
- Backend stack (with versions)
- Frontend stack (with versions)
- Database & infrastructure
## 3. Domain Model Analysis (if applicable)
- Domain entities
- Value objects
- Aggregates
- Domain events
- Application services
- CQRS handlers
## 4. CQRS Implementation (if applicable)
- Command side
- Query side
- Application services
## 5. Infrastructure Layer Analysis
- Database (schema stats)
- Real-time infrastructure
- Caching strategy
- Queue system
## 6. API Architecture
- REST API structure
- Middleware stack
- API versioning
## 7. Multi-Tenant Architecture (if applicable)
- Tenant isolation strategy
- Data isolation
- Security enforcement
## 8. Quality Assessment
- 8.1 Architecture Quality (score/100)
- 8.2 Code Quality (score/100)
- 8.3 Security (score/100)
- 8.4 Performance (score/100)
- 8.5 Scalability (score/100)
- 8.6 Maintainability (score/100)
- 8.7 Testing (score/100)
- 8.8 Monitoring (score/100)
## 9. Technical Debt Analysis
- Current technical debt items
- Priority breakdown (high/medium/low)
- Effort estimates
## 10. External Integrations
- Integration points table
- Integration methods
## 11. Key Recommendations
- 🔴 HIGH PRIORITY (with effort estimates)
- 🟡 MEDIUM PRIORITY (with effort estimates)
- 🟢 LOW PRIORITY (with effort estimates)
## 12. Risk Assessment
- Technical risks table
- Operational risks table
## 13. Production Readiness Checklist
- ✅ Already Complete (%)
- 🔧 Needs Completion (%)
## 14. Final Verdict
- Overall Score: X/100 ⭐⭐⭐⭐
- Category Breakdown (table)
- Success Probability
## 15. Conclusion
- Key achievements
- Critical path to production
- Bottom line recommendation
Output Formats:
Markdown (Default):
- Save to
docs/architecture-analysis-{timestamp}.md - Include emoji indicators (✅, ⚠️, ❌, 🔴, 🟡, 🟢)
- Tables for structured data
- Code blocks for examples
JSON (if requested):
{
"timestamp": "2025-11-04T...",
"project_name": "...",
"project_type": "fullstack",
"production_readiness_score": 85,
"quality_scores": {
"architecture": 95,
"code_quality": 90,
"security": 88,
"performance": 78,
"scalability": 82,
"maintainability": 95,
"testing": 85,
"monitoring": 60
},
"architecture_patterns": ["DDD", "CQRS", "Layered"],
"tech_stack": {...},
"tech_debt": [...],
"recommendations": [...],
"risks": [...]
}
Success Criteria
An architecture analysis is complete when:
Analysis Coverage:
- ✅ Codebase structure discovered and documented
- ✅ Project type detected (frontend/backend/fullstack/monorepo)
- ✅ Architecture patterns identified (3+ if present)
- ✅ Technology stack documented with versions
- ✅ Domain model analyzed (if DDD/CQRS)
- ✅ API architecture assessed
- ✅ Security posture reviewed
Quality Assessment:
- ✅ Quality scores calculated for all 8 dimensions
- ✅ Production readiness score computed (0-100)
- ✅ Technical debt identified and prioritized
- ✅ Performance bottlenecks identified
- ✅ Scalability limitations documented
Recommendations:
- ✅ Recommendations provided (high/medium/low priority)
- ✅ Effort estimates included for each recommendation
- ✅ Risk assessment completed (technical + operational)
- ✅ Production readiness checklist generated
Report Quality:
- ✅ Comprehensive report generated (markdown and/or JSON)
- ✅ Report saved to docs/ directory
- ✅ Report includes all 15 sections
- ✅ Actionable insights provided
Example Usage
Example 1: Full Analysis (Current Directory)
User: /analyze-architecture
Winston: Analyzing architecture of current codebase...
[Discovers monorepo structure]
Project Type: Monorepo (backend + dashboard + chat-widget + shared packages)
Architecture: Pure 4-Layer DDD with CQRS
[Analyzes technology stack]
Backend: Node.js 20, TypeScript 5.8, Express 4.18, Prisma 6.9, PostgreSQL
Frontend: React 19, Material-UI 7.1, TanStack Query 5.81, Zustand 4.5
[Identifies patterns]
Patterns: Domain-Driven Design, CQRS, Layered Architecture, Event-Driven, Repository Pattern
[Calculates scores]
Architecture Quality: 95/100 ⭐⭐⭐⭐⭐
Code Quality: 90/100 ⭐⭐⭐⭐
Security: 88/100 ⭐⭐⭐⭐
Performance: 78/100 ⭐⭐⭐⭐
Scalability: 82/100 ⭐⭐⭐⭐
Maintainability: 95/100 ⭐⭐⭐⭐⭐
Testing: 85/100 ⭐⭐⭐⭐
Monitoring: 60/100 ⭐⭐⭐
Production Readiness Score: 85/100 ⭐⭐⭐⭐
✅ Report generated: docs/architecture-analysis-2025-11-04.md
Example 2: Focused Security Analysis
User: /analyze-architecture . --focus security
Winston: Analyzing security posture of codebase...
[Security analysis only]
✅ Authentication: Clerk-based JWT (Strong)
✅ Authorization: RBAC with permissions (Strong)
✅ Multi-tenant RLS: Row-level security enforced (Excellent)
✅ Input Validation: Zod schemas (Strong)
✅ SQL Injection: Protected by Prisma ORM (Strong)
✅ XSS Protection: React JSX escaping (Strong)
⚠️ Secrets: .env files (Needs secret manager)
⚠️ DDoS Protection: Basic rate limiting (Needs enhancement)
❌ Security Monitoring: No SIEM (Critical gap)
Security Score: 88/100 ⭐⭐⭐⭐
🔴 HIGH PRIORITY Recommendations:
1. Migrate secrets to AWS Secrets Manager or Vault
2. Implement comprehensive security monitoring (SIEM)
3. Add DDoS protection (Cloudflare, AWS Shield)
✅ Report generated: docs/security-analysis-2025-11-04.md
Example 3: JSON Output
User: /analyze-architecture . --output json
Winston: Analyzing architecture and generating JSON output...
✅ Analysis complete
✅ JSON report: docs/architecture-analysis-2025-11-04.json
✅ Markdown report: docs/architecture-analysis-2025-11-04.md
JSON output includes:
- production_readiness_score
- quality_scores (8 dimensions)
- architecture_patterns
- tech_stack
- tech_debt
- recommendations
- risks
Integration with Other Skills
Prerequisites:
- No formal architecture document required
- Works with brownfield codebases
- Discovers structure dynamically
Outputs used by:
- create-architecture: Use analysis to document existing architecture
- validate-architecture: Use findings to validate quality
- review-architecture: Use as input for peer review
- Implementation skills: Use recommendations to prioritize work
Workflow:
# Step 1: Analyze existing codebase
/analyze-architecture
# Step 2: Document architecture (if needed)
/design-architecture docs/prd.md --existing docs/architecture-analysis.md
# Step 3: Review and validate
/review-architecture docs/architecture.md
# Step 4: Implement recommendations
@james *implement <recommendation-from-analysis>
Telemetry
Track analysis metrics for continuous improvement:
{
"skill": "analyze-architecture",
"timestamp": "2025-11-04T...",
"project_type": "monorepo",
"architecture_patterns": ["DDD", "CQRS", "Layered"],
"production_readiness_score": 85,
"quality_scores": {
"architecture": 95,
"code_quality": 90,
"security": 88,
"performance": 78,
"scalability": 82,
"maintainability": 95,
"testing": 85,
"monitoring": 60
},
"tech_debt_count": 283,
"recommendations_count": 10,
"duration_ms": 180000,
"focus_area": "all",
"output_format": "markdown"
}
Quality Gates
Minimum Requirements for Complete Analysis:
- ✅ Codebase structure analyzed (directory tree, package.json files)
- ✅ Project type detected (with confidence score)
- ✅ Technology stack documented (with versions from package.json)
- ✅ At least 1 architectural pattern identified
- ✅ All 8 quality dimensions scored (0-100)
- ✅ Production readiness score calculated
- ✅ At least 3 recommendations provided
- ✅ Report generated in requested format
Escalation Triggers:
- Unable to detect project type (no package.json, no recognizable patterns)
- Zero architectural patterns identified
- Critical security vulnerabilities found (exposed secrets, SQL injection)
- Production readiness score < 50
References
references/codebase-discovery-guide.md- Techniques for discovering structurereferences/architectural-patterns-catalog.md- Complete pattern referencereferences/tech-stack-catalog.md- Technology identification guidereferences/quality-scoring-rubrics.md- Scoring methodology for each dimensionreferences/production-readiness-checklist.md- Complete checklist template
Analyze Architecture skill is ready to provide deep, comprehensive analysis of existing codebases. 🔍