This skill should be used when the user asks to "design the internal structure", "define module boundaries", "select architecture patterns", "document architecture decisions", "evaluate code architecture", or mentions CQRS, Hexagonal, Event Sourcing, Clean Architecture, ADRs, or technical debt. Produces comprehensive software architecture documentation covering module views, component decomposition, design patterns, quality attribute scenarios, ADRs, and debt evolution plans. Use this skill whenever internal system structure needs to be designed, documented, or evaluated, even if they don't explicitly ask for "software-architecture". [EXPLICIT]
From jm-adknpx claudepluginhub javimontano/jm-adk-alfaThis skill is limited to using the following tools:
agents/guardian.mdagents/lead.mdagents/specialist.mdagents/support.mdevals/evals.jsonknowledge/body-of-knowledge.mdknowledge/knowledge-graph.mdprompts/meta.mdprompts/primary.mdprompts/variations/deep.mdprompts/variations/quick.mdreferences/software-arch-patterns.mdtemplates/output.docx.mdtemplates/output.htmlSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Software architecture defines how code is organized internally — module boundaries, layer separation, dependency direction, design patterns, and the reasoning behind technical decisions. This skill produces comprehensive architecture documentation that enables teams to understand structure, maintain it consistently, and evolve it strategically. [EXPLICIT]
La arquitectura es la decisión que más cuesta cambiar después. Por eso se documenta ANTES de implementar, se valida contra quality attributes medibles, y cada decisión vive en un ADR con alternatives y trade-offs. Arquitectura implícita es deuda garantizada.
The user provides a system or project name as $ARGUMENTS. Parse $1 as the system/project name used throughout all output artifacts. [EXPLICIT]
Parameters:
{MODO}: piloto-auto (default) | desatendido | supervisado | paso-a-paso
{FORMATO}: markdown (default) | html | dual{VARIANTE}: ejecutiva (~40% — S1 module view + S3 patterns + S5 ADRs) | técnica (full 6 sections, default)Before generating architecture, detect the codebase context:
!find . -name "*.ts" -o -name "*.java" -o -name "*.py" -o -name "*.go" -o -name "*.cs" | head -30
Use detected languages and frameworks to tailor pattern recommendations, module conventions, and component naming. [EXPLICIT]
If reference materials exist, load them:
Read ${CLAUDE_SKILL_DIR}/references/patterns.md
Read ${CLAUDE_SKILL_DIR}/references/quality-attributes.md
Maps internal module structure — what modules exist, responsibilities, dependencies, layer architecture. [EXPLICIT]
Includes:
Key decisions:
Decomposes selected modules into components — what they do, interfaces exposed, dependencies. [EXPLICIT]
Includes:
Key decisions:
Documents selected patterns with justification, detected anti-patterns, and alternatives. [EXPLICIT]
Architectural patterns (Hexagonal, Clean, CQRS, Event Sourcing, Microkernel):
Design patterns (Repository, Factory, Observer, Strategy, Adapter):
Anti-patterns detected (God object, Leaky abstraction, Tight coupling):
Principle: Patterns serve quality attributes, not vice versa. Over-application adds unnecessary complexity.
ATAM-style scenarios: Stimulus -> Response -> Measure
| Quality Attribute | Example Scenario |
|---|---|
| Performance | User request completes within 200ms (p95) under 1000 concurrent users |
| Modifiability | Adding a new payment method requires changes to <=3 modules |
| Availability | Service remains available during single DB node failure with <30s failover |
| Security | Unauthorized user cannot access restricted data even with valid token from different role |
| Testability | Core business logic tested without external service stubs; full integration test <2min |
| Deployability | New version deployed to production in <15min with instant rollback |
Captures significant decisions with context, decision, consequences, and alternatives. [EXPLICIT]
ADR structure:
Scope: Decisions affecting multiple components, requiring significant refactoring if changed, or trading off quality attributes.
Not ADRs: Code style, tool selection (unless architectural impact), local implementation choices.
Identifies current architectural debt and a strategy for evolution without disruption. [EXPLICIT]
Debt inventory per item:
Evolution strategy:
| Decision | Enables | Constrains | When to Use |
|---|---|---|---|
| Layered Architecture | Clear separation, team scaling, predictable testing | Tight coupling to layers, harder to change across layers | Traditional, simple domains; monoliths |
| Hexagonal Architecture | Test isolation, business logic independence | More classes/interfaces, complexity for small systems | Systems with multiple external integrations |
| CQRS | Optimized read/write paths, temporal queries | Eventual consistency complexity, more code | High-scale, complex reporting requirements |
| Event Sourcing | Complete audit trail, event replay, temporal queries | No in-place updates, distributed transaction complexity | Financial systems, compliance-heavy, audit-critical |
| Microservices Patterns | Independent deploy, tech diversity, scale per service | Distributed complexity, data consistency, ops overhead | High-scale, multi-team, heterogeneous requirements |
| Shared Kernel | Code reuse, consistency | Coupling between domains | Temporary; retire when domains clarify |
| Facade Pattern | Simplified client interface, internal refactoring freedom | Indirection adds latency and complexity | Legacy systems, integration points |
Greenfield System: No existing structure; risk of over-engineering for hypothetical scales. Start simple, defer complexity, use ADRs for reversible decisions. [EXPLICIT]
Legacy System with Tangled Dependencies: Reverse-engineering structure is harder. Document current state (as-is), design target state (to-be), phase migration. Multiple "versions" of architecture may exist (intended vs. actual). [EXPLICIT]
Multi-Language System: Each language may have different conventions. Dependencies across language boundaries (APIs, queues) must be explicit. Separate analysis per language if patterns diverge. [EXPLICIT]
Monolith to Microservices Transition: Parallel running increases complexity. Watch for: distributed monolith, chatty services, data duplication. Use strangler fig for gradual migration with clear cutover criteria. [EXPLICIT]
High-Scale or Real-Time System: Architecture must address scale and latency early. CQRS, event sourcing, sharding, caching become non-optional. Quality attribute scenarios must include load testing evidence. [EXPLICIT]
Before finalizing delivery, verify:
| Format | Default | Description |
|---|---|---|
markdown | ✅ | Rich Markdown + Mermaid diagrams. Token-efficient. |
html | On demand | Branded HTML (Design System). Visual impact. |
dual | On demand | Both formats. |
Default output is Markdown with embedded Mermaid diagrams. HTML generation requires explicit {FORMATO}=html parameter. [EXPLICIT]
Primary: A-01_Software_Architecture_Deep.html — Executive summary, module view, component cards, design patterns, quality attribute scenarios, ADRs, debt inventory and evolution roadmap.
Secondary: ADR repository (.md files, version-controlled), module structure diagram (PNG/SVG), quality attribute scenario checklist.
Author: Javier Montano | Last updated: March 18, 2026