Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Analyze and visualize software architecture patterns, dependencies, and module boundaries for migration planning
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 125% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 119% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 129% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 59% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 97% | 0% |
Analyzes and visualizes software architecture patterns and dependencies to support migration planning, module boundary identification, and architectural decision-making.
Enable comprehensive architecture analysis for:
This skill can leverage the following external tools when available:
| Tool | Purpose | Integration Method | |------|---------|-------------------| | Structure101 | Architecture visualization | Export analysis | | Lattix | Dependency analysis | CLI / API | | NDepend | .NET architecture analysis | CLI | | JDepend | Java package dependencies | CLI | | Madge | JavaScript/TypeScript | CLI | | deptree | Python dependencies | CLI | | go-arch-lint | Go architecture | CLI | | ast-grep | Pattern matching | MCP Server |
bash# Invoke skill for architecture analysis # The skill will analyze structure and dependencies # Expected inputs: # - targetPath: Path to codebase root # - analysisDepth: 'module' | 'package' | 'class' | 'function' # - outputFormat: 'json' | 'dot' | 'mermaid' | 'plantuml' # - includeMetrics: boolean
json{ "analysisId": "string", "timestamp": "ISO8601", "target": { "path": "string", "language": "string", "moduleCount": "number", "totalFiles": "number" }, "architecture": { "pattern": "string (layered|modular|monolithic|microservices)", "layers": [ { "name": "string", "modules": ["string"], "allowedDependencies": ["string"] } ], "boundedContexts": [ { "name": "string", "modules": ["string"], "interfaces": ["string"] } ] }, "modules": [ { "name": "string", "path": "string", "files": "number", "linesOfCode": "number", "dependencies": ["string"], "dependents": ["string"], "metrics": { "afferentCoupling": "number", "efferentCoupling": "number", "instability": "number", "cohesion": "number" } } ], "dependencies": [ { "from": "string", "to": "string", "type": "import|call|inherit|implement", "count": "number" } ], "violations": [ { "type": "circular|layer-bypass|abstraction-leak", "severity": "high|medium|low", "from": "string", "to": "string", "description": "string", "recommendation": "string" } ], "metrics": { "averageCoupling": "number", "maxCoupling": "number", "cyclomaticComplexity": "number", "circularDependencies": "number", "layerViolations": "number" }, "graphs": { "dot": "string (file path)", "mermaid": "string (file path)", "plantuml": "string (file path)" } }
This skill integrates with the following Code Migration/Modernization processes:
Create .architecture-analyzer.json in the project root:
json{ "analysisDepth": "module", "excludePaths": [ "node_modules", "vendor", "dist", "build", ".git", "__tests__" ], "modulePatterns": { "javascript": "src/*", "java": "src/main/java/**", "python": "src/*" }, "layers": { "enabled": true, "definitions": [ { "name": "presentation", "patterns": ["**/ui/**", "**/views/**", "**/controllers/**"], "allowedDependencies": ["business", "shared"] }, { "name": "business", "patterns": ["**/services/**", "**/domain/**"], "allowedDependencies": ["data", "shared"] }, { "name": "data", "patterns": ["**/repositories/**", "**/dao/**"], "allowedDependencies": ["shared"] }, { "name": "shared", "patterns": ["**/common/**", "**/utils/**"], "allowedDependencies": [] } ] }, "rules": { "maxCoupling": 10, "maxModuleSize": 5000, "forbiddenDependencies": [ {"from": "presentation", "to": "data"} ] }, "visualization": { "formats": ["mermaid", "dot"], "groupBy": "layer", "showMetrics": true } }
When ast-grep MCP Server is available for pattern detection:
javascript// Example architecture pattern detection { "tool": "ast_grep_search", "arguments": { "pattern": "import { $_ } from '../data/$_'", "language": "typescript", "path": "./src/ui" } }
┌─────────────────────────────────┐
│ Presentation Layer │
│ (UI, Controllers, Views) │
└──────────────┬──────────────────┘
│
┌──────────────▼──────────────────┐
│ Business Layer │
│ (Services, Domain, Logic) │
└──────────────┬──────────────────┘
│
┌──────────────▼──────────────────┐
│ Data Layer │
│ (Repositories, DAOs, ORM) │
└─────────────────────────────────┘┌─────────────────────────────────────────────┐
│ Application Shell │
├───────────┬───────────┬───────────┬─────────┤
│ Module A │ Module B │ Module C │ Shared │
│ ┌─────┐ │ ┌─────┐ │ ┌─────┐ │ ┌─────┐ │
│ │ UI │ │ │ UI │ │ │ UI │ │ │Utils│ │
│ ├─────┤ │ ├─────┤ │ ├─────┤ │ └─────┘ │
│ │Logic│ │ │Logic│ │ │Logic│ │ │
│ ├─────┤ │ ├─────┤ │ ├─────┤ │ │
│ │Data │ │ │Data │ │ │Data │ │ │
│ └─────┘ │ └─────┘ │ └─────┘ │ │
└───────────┴───────────┴───────────┴─────────┘┌─────────┐ ┌─────────┐ ┌─────────┐
│Service A│ │Service B│ │Service C│
│ ┌───┐ │ │ ┌───┐ │ │ ┌───┐ │
│ │API│ │ │ │API│ │ │ │API│ │
│ └─┬─┘ │ │ └─┬─┘ │ │ └─┬─┘ │
│ │ │ │ │ │ │ │ │
│ ┌─▼─┐ │ │ ┌─▼─┐ │ │ ┌─▼─┐ │
│ │DB │ │ │ │DB │ │ │ │DB │ │
│ └───┘ │ │ └───┘ │ │ └───┘ │
└─────────┘ └─────────┘ └─────────┘
│ │ │
└────────────┼────────────┘
│
┌──────▼──────┐
│ Event Bus │
└─────────────┘| Metric | Formula | Good | Warning | Bad | |--------|---------|------|---------|-----| | Afferent Coupling (Ca) | Incoming dependencies | < 10 | 10-20 | > 20 | | Efferent Coupling (Ce) | Outgoing dependencies | < 10 | 10-20 | > 20 | | Instability (I) | Ce / (Ca + Ce) | 0-0.3 or 0.7-1.0 | 0.3-0.7 | - | | Abstractness (A) | Abstract classes / Total | Context dependent | - | - |
D = |A + I - 1|
static-code-analyzer: Code-level analysisdomain-model-extractor: DDD boundary identificationtechnical-debt-quantifier: Architecture debt assessmentlegacy-system-archaeologist: Uses this skill for architecture discoverymicroservices-decomposer: Uses this skill for boundary identificationddd-analyst: Uses this skill for context mappingmigration-readiness-assessor: Uses this skill for architecture evaluationOther measured skills in the registry, with their headline benchmark lift.