Software architecture design — modules, layers, boundaries, design patterns, ADRs, quality attributes, and technical debt strategy. Use 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.
From pmnpx claudepluginhub javimontano/mao-pm-apexThis skill is limited to using the following tools:
examples/README.mdexamples/sample-output.htmlexamples/sample-output.mdprompts/metaprompts.mdprompts/use-case-prompts.mdreferences/body-of-knowledge.mdreferences/knowledge-graph.mmdreferences/software-arch-patterns.mdreferences/state-of-the-art.mdSearches, 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.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Reorganizes X and LinkedIn networks: review-first pruning of low-value follows, priority-based add/follow recommendations, and drafts warm outreach in user's voice.
Alcance: Este skill es específico para
{TIPO_SERVICIO}=SDA(Software Development & Architecture). Para arquitectura en otros tipos de servicio, consulteenterprise-architecture(visión empresarial),solutions-architecture(integración E2E),infrastructure-architecture(infraestructura), o el skill de discovery específico del tipo de servicio.
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.
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.
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.
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.
Includes:
Key decisions:
Decomposes selected modules into components — what they do, interfaces exposed, dependencies.
Includes:
Key decisions:
Documents selected patterns with justification, detected anti-patterns, and alternatives.
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.
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.
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 |
| Caso | Estrategia de Manejo |
|---|---|
| Sistema greenfield sin estructura previa | Iniciar con arquitectura simple; diferir complejidad; usar ADRs para decisiones reversibles; evitar sobre-ingenieria para escala hipotetica |
| Sistema legacy con dependencias enredadas | Documentar estado actual (as-is) y estado objetivo (to-be); planificar migracion por fases; aceptar coexistencia temporal de multiples versiones de arquitectura |
| Sistema multi-lenguaje (polyglot) | Separar analisis por lenguaje si los patrones divergen; explicitar dependencias cross-lenguaje (APIs, colas); unificar convenciones donde sea posible |
| Transicion de monolito a microservicios | Usar strangler fig con criterios claros de cutover; vigilar anti-patrones (monolito distribuido, servicios chatty); documentar estrategia de datos |
| Sistema de alta escala o tiempo real | Abordar escala y latencia desde el diseno inicial; CQRS, event sourcing, sharding y caching como decisiones obligatorias; escenarios de quality attributes con evidencia de load testing |
| Decision | Alternativa Descartada | Justificacion |
|---|---|---|
| Documentar ADRs ANTES de implementar | Documentar post-implementacion | El costo de cambiar una decision arquitectonica crece exponencialmente despues del codigo; documentar antes fuerza la deliberacion explicita |
| Quality attributes como drivers de seleccion de patterns | Seleccionar patterns por popularidad o conveniencia | Un pattern sin quality attribute que lo justifique es complejidad gratuita; los atributos medibles evitan decisiones por moda |
| Deuda tecnica como decision explicita y registrada | Ignorar deuda o tratarla como accidente | Registrar la deuda con impacto y costo de repago permite priorizarla racionalmente; la deuda ignorada se capitaliza |
| Dependency direction inward (Clean/Hexagonal) | Dependency direction layered bidireccional | La direccion inward protege el dominio de negocio de cambios en infraestructura; la bidireccional acopla capas innecesariamente |
graph TD
subgraph Core["Core: Software Architecture"]
MA[Module View]
CV[Component View]
DP[Design Patterns]
QA[Quality Attributes - ATAM]
ADR[Architecture Decision Records]
DE[Debt & Evolution Plan]
end
subgraph Inputs["Inputs"]
CB[Codebase]
REQ[Quality Requirements]
BIZ[Business Constraints]
end
subgraph Outputs["Outputs"]
DOC[Architecture Document]
DIAG[Module & Component Diagrams]
ADRS[ADR Repository]
ROAD[Evolution Roadmap]
end
subgraph Related["Related Skills"]
SOL[solutions-architecture]
INF[infrastructure-architecture]
DSO[devsecops-architecture]
ENT[enterprise-architecture]
end
CB --> MA
REQ --> QA
BIZ --> ADR
MA --> CV --> DP --> QA --> ADR --> DE
DE --> DOC
DE --> DIAG
DE --> ADRS
DE --> ROAD
DOC --> SOL
DOC --> INF
DOC --> DSO
DOC --> ENT
| Formato | Nombre | Contenido |
|---|---|---|
| Markdown | A-01_Software_Architecture_Deep.md | Documento completo con Module View, Component View, Design Patterns, Quality Attribute Scenarios (ATAM), ADRs, Debt & Evolution Plan. Diagramas Mermaid embebidos. |
| HTML | A-01_Software_Architecture_Deep.html | Mismo contenido en HTML branded (Design System MetodologIA). Incluye navegacion interna, tooltips en diagramas, y tabla de contenidos interactiva. |
| DOCX | {fase}_software_architecture_{cliente}_{WIP}.docx | Generado con python-docx y MetodologIA Design System v5. Portada con nombre del sistema y fecha, TOC automático, encabezados Poppins navy, cuerpo Montserrat, acentos dorados, tablas zebra. Secciones: Module View, Component View, Design Patterns, Quality Attribute Scenarios, ADRs, Debt & Evolution Plan. |
| XLSX | {fase}_software_architecture_{cliente}_{WIP}.xlsx | Generado via openpyxl con MetodologIA Design System v5. Encabezados con fondo navy y texto Poppins blanco, cuerpo en Montserrat, zebra striping en filas. Hojas: Module View (módulo, responsabilidad, dependencias, layer, owner, violaciones detectadas), Design Patterns (pattern, justificación, quality attribute habilitado, anti-patterns detectados), ADR Log (ID, título, status, decisión, consecuencias positivas, consecuencias negativas, alternativas descartadas), Debt Inventory (ítem, síntoma, causa raíz, quality attribute impactado, esfuerzo de repago, riesgo si no se aborda), Quality Attributes (atributo, escenario estímulo, respuesta esperada, métrica, estado actual). Conditional formatting por estado de ADR y nivel de riesgo de deuda. Auto-filters en todas las hojas. Valores directos sin fórmulas. |
| PPTX | {fase}_software_architecture_{cliente}_{WIP}.pptx | Generado con python-pptx y MetodologIA Design System v5. Slide master con gradiente navy, títulos Poppins, cuerpo Montserrat, acentos dorados. Máximo 30 slides (técnica). Speaker notes con referencias de evidencia. Slides: Portada, Principio Rector, Module View (diagrama), Component View, Design Patterns seleccionados, Quality Attribute Scenarios (ATAM), ADR highlights, Debt & Evolution Plan, próximos pasos. |
| Dimension | Peso | Criterio |
|---|---|---|
| Trigger Accuracy | 10% | Descripcion activa triggers correctos (design structure, module boundaries, ADRs, patterns) sin falsos positivos con infrastructure o solutions architecture |
| Completeness | 25% | Las 6 secciones cubren modulos, componentes, patterns, quality attributes, ADRs y deuda sin huecos; todos los Core domains del sistema representados |
| Clarity | 20% | Instrucciones ejecutables sin ambiguedad; cada ADR explica por que, no solo que; cada pattern tiene justificacion contra quality attributes |
| Robustness | 20% | Maneja sistemas greenfield, legacy, polyglot, monolito-a-microservicios y alta escala con estrategias diferenciadas |
| Efficiency | 10% | Proceso no tiene pasos redundantes; variante ejecutiva reduce a 40% sin perder decisiones criticas |
| Value Density | 15% | Cada seccion aporta valor practico directo; trade-off matrix y quality attribute scenarios son herramientas de decision inmediata |
Umbral minimo: 7/10.
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.
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.
Autor: Javier Montaño | Última actualización: 12 de marzo de 2026