Functional analysis toolkit with 6 tools for requirements engineering. Use when the user asks to "run event storming", "create a story map", "extract business rules", "write acceptance criteria", "build traceability matrix", "detect anti-patterns", or mentions "Given/When/Then", "functional toolbelt", "requirements quality".
From maonpx claudepluginhub javimontano/mao-discovery-frameworkThis skill is limited to using the following tools:
examples/README.mdexamples/sample-output.htmlexamples/sample-output.mdprompts/prompt.mdreferences/functional-tools-patterns.mdEnables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Mental models, techniques, and validation tools for producing better functional analysis. NOT a deliverable skill — a toolbelt that enhances output quality of any requirements or specification work.
Las herramientas no producen calidad — la disciplina en su uso sí. El functional toolbelt no es un deliverable — es un kit de técnicas que eleva la calidad de cualquier trabajo de análisis funcional. Event storming sin disciplina es brainstorming caótico. Acceptance criteria sin estructura es prosa ambigua.
$ARGUMENTS format: [tool-name-or-number] [context]
Examples:
"event-storming loan-origination" → Tool 1, domain=loan-origination
"acceptance-criteria user-registration" → Tool 4, story=user-registration
"anti-patterns scan requirements.md" → Tool 6, input=requirements.md
"3 business rules from interviews" → Tool 3, source=interview notes
| Parámetro | Valores | Default | Efecto |
|---|---|---|---|
MODO | piloto-auto, desatendido, supervisado, paso-a-paso | piloto-auto | Nivel de intervención humana durante ejecución de herramienta |
FORMATO | markdown, html, dual | markdown | Formato de salida del artefacto generado |
VARIANTE | ejecutiva, técnica | técnica | Ejecutiva (~40% contenido, resumen visual) vs técnica (full detail + matrices) |
MODO=paso-a-paso → pausa después de cada tool output para revisiónFORMATO=html → aplica design-system tokens al outputVARIANTE=ejecutiva → solo resumen de hallazgos, sin matrices detalladas| FORMATO | Estructura | Uso Principal |
|---|---|---|
markdown | Tablas MD, code blocks para GWT, matrices en texto | Wikis, repos, documentación interna |
html | Styled con design-system tokens, tablas responsive, callouts | Presentaciones a stakeholders, deliverables formales |
dual | Ambos generados; MD como fuente, HTML como render | Cuando el equipo necesita editar (MD) y presentar (HTML) |
Inputs: Domain actors, key processes Process: Identify domain events (temporal markers) > Group by aggregate > Identify commands + actors > Surface policies/rules > Mark hot spots (unknowns) Output: Event timeline > domain events > aggregates > bounded contexts
Edge Cases:
Trade-offs: Speed (90 min) vs completeness (full domain modeling) — prioritize critical paths. Visual (sticky board) vs structured (spreadsheet) — visual aids creativity, spreadsheet aids traceability.
Conditional Logic:
Process: Extract user activities from flows > Decompose to tasks > Write user stories > Assign acceptance criteria > Plot backbone (activities, horizontal) vs detail (stories, vertical) > Slice into releases (MVP, phases 2-3) Output: Backbone > Walking Skeleton (MVP) > Release Plan with story counts
Edge Cases:
Trade-offs: Granularity (tiny stories, many) vs manageability (fewer, less traceable) — target 8-13 stories per release. Detail (full AC now) vs speed (AC during sprint) — write basic AC now, refine during sprint planning.
Conditional Logic:
Techniques: Decision Table (conditions > actions > rows = rules), Decision Tree (condition > branches > leaf = outcome), Rule Catalog (name, classification, condition, action, exception, data, owner)
Classification: Constraint (what cannot happen), Derivation (what is calculated), Inference (what is deduced), Action-Enabling (what triggers a process)
Validation: Completeness (all condition combinations covered?), Consistency (no contradicting rules?), Necessity (traces to business objective?)
Edge Cases:
Trade-offs: Formality (decision tables) vs readability (narrative) — use both. Completeness (all rules) vs speed (80% important rules) — prioritize rules tied to business risk.
Conditional Logic:
Pattern: Given [precondition], When [action], Then [expected result] Variations: Basic (single behavior), Extended (+And), Negative (Then = failure), Boundary (edge values)
Quality Rules (Non-Negotiable):
Anti-Patterns: Vague Then ("handle appropriately"), Missing Given, Implementation leakage ("API endpoint called"), Untestable conditions ("under load" without metric), Conjunctive action (3 outcomes = 3 scenarios)
Edge Cases:
Conditional Logic:
Structure: Requirement ID | Requirement | Linked Use Cases | Linked Flows | Test Cases | AC Covered
Validation Rules:
Coverage Metrics: % traced requirements, % untested flows, % AC without tests
Gap Detection: Requirements without UCs (disconnected), Flows without UCs (orphaned), Orphan test cases (no AC), AC without tests (unvalidated)
Edge Cases:
Conditional Logic:
Categories:
Detection Process: Scan requirements (missing measurements) > Scan AC (implementation details, missing negatives) > Scan rules (untestable conditions) > Scan flows (missing error paths) > Cross-check traceability
Edge Cases:
Conditional Logic:
| Scenario | Adaptation |
|---|---|
| No domain expert available | Use existing documentation + anti-pattern detector to surface gaps; flag as risk |
| Legacy system with no documentation | Start with reverse event storming (trace from outputs back to events) |
| Regulatory domain (healthcare, finance) | Use full 6-tool suite; traceability matrix mandatory with 100% coverage |
| Agile team resisting formal AC | Start with Tool 4 only (GWT); demonstrate value before introducing full suite |
| Microservices with shared bounded contexts | Event storming per service, then cross-reference at integration points |
| Multi-language stakeholders | Standardize domain glossary first (Tool 3 extraction includes terminology) |
| Dimension | Full Suite (6 tools) | Core Set (3-4 tools) | Decision Rule |
|---|---|---|---|
| Coverage | Robust requirements | Acceptable for low-risk | Use full suite for regulated/complex; core for standard |
| Depth vs breadth | Deep on 2 tools | Surface all 6 | Deep dive for complex domains; surface for known domains |
| Facilitation | In-person (high quality) | Async/tool-driven (scalable) | Hybrid recommended |
| Formalism | Decision tables + pseudo-code | Natural language rules | Pseudo-code for critical/financial rules; NL for UI/UX rules |
Before delivering toolbelt output, verify:
| Caso | Estrategia de Manejo |
|---|---|
| No hay domain expert disponible para event storming o story mapping | Usar documentacion existente + anti-pattern detector para surfacear gaps; marcar output como developer assumptions, no domain knowledge; flag como riesgo |
| Sistema legacy sin documentacion alguna | Comenzar con reverse event storming (trazar desde outputs hacia atras hasta eventos); combinar con Tool 6 anti-pattern detector para identificar gaps estructurales |
| Dominio regulado (healthcare, finance) requiere trazabilidad 100% | Usar suite completa de 6 herramientas; traceability matrix obligatoria con cobertura 100%; cada requirement trazado desde origen a test case |
| Equipo agile resiste formalizacion de acceptance criteria | Comenzar solo con Tool 4 (GWT); demostrar valor con ejemplos concretos antes de introducir suite completa; no forzar adopcion simultanea |
| Decision | Alternativa Descartada | Justificacion |
|---|---|---|
| Disenar como toolbelt de 6 herramientas independientes (no un flujo secuencial) | Pipeline secuencial obligatorio de las 6 herramientas | Los proyectos adaptan o saltan herramientas segun contexto; forzar las 6 en secuencia desperdicia esfuerzo en proyectos simples |
| Formalismo proporcional (pseudo-codigo para reglas criticas, lenguaje natural para reglas simples) | Mismo nivel de formalismo para todas las reglas | El formalismo excesivo en reglas simples genera overhead; el formalismo insuficiente en reglas criticas genera ambiguedad |
| GWT acceptance criteria con regla de un comportamiento por escenario | Permitir multiples comportamientos por escenario GWT | Multiples comportamientos en un escenario hacen los tests fragiles y los resultados ambiguos; un comportamiento = un escenario = un test |
graph TD
subgraph Core["Functional Toolbelt Core"]
A[metodologia-functional-toolbelt]
T1[Tool 1: Event Storming]
T2[Tool 2: Story Mapping]
T3[Tool 3: Business Rule Extraction]
T4[Tool 4: Acceptance Criteria GWT]
T5[Tool 5: Traceability Matrix]
T6[Tool 6: Anti-Pattern Detector]
end
subgraph Inputs["Inputs"]
I1[Domain Actors & Processes]
I2[User Flows & Journeys]
I3[Stakeholder Interviews]
I4[Existing Requirements]
end
subgraph Outputs["Outputs"]
O1[Event Timeline & Bounded Contexts]
O2[Story Map & Release Plan]
O3[Business Rule Catalog]
O4[Acceptance Criteria Suite]
O5[Traceability Matrix]
O6[Anti-Pattern Report]
end
subgraph Related["Related Skills"]
R1[metodologia-workshop-design]
R2[metodologia-technical-feasibility]
R3[metodologia-ux-design-discovery]
R4[metodologia-quality-engineering]
end
I1 --> T1
I2 --> T2
I3 --> T3
I4 --> T6
T1 --> T2 --> T3 --> T4 --> T5
T6 --> T4
T6 --> T5
A --> O1
A --> O2
A --> O3
A --> O4
A --> O5
A --> O6
R1 --> A
A --> R2
A --- R3
A --> R4
Formato MD (default):
# Functional Toolbelt — {proyecto} — Tool {N}: {nombre}
## Resumen
> Herramienta aplicada: {nombre}. Dominio: {contexto}. Hallazgos: X items generados, Y gaps identificados.
## Output de la Herramienta
[Contenido especifico del tool seleccionado: event timeline, story map, rule catalog, GWT, matrix, o anti-pattern report]
## Gaps Identificados
| Gap | Severidad | Owner Sugerido | Accion |
## Cross-Reference
[Trazabilidad hacia herramientas upstream/downstream]
Formato HTML (para presentacion a stakeholders):
Header: Logo + proyecto + tool seleccionado
Section 1: Tool Output (visualizacion interactiva segun tool)
- Event Storming: timeline visual con stickies de colores
- Story Map: backbone horizontal + stories verticales
- Rule Catalog: tabla expandible con decision trees
- GWT: scenarios formateados con syntax highlighting
- Traceability: matrix interactiva con filtros
- Anti-Patterns: report con semaforo de severidad
Section 2: Gaps & Action Items
Section 3: Cross-References to Related Tools
Footer: Attribution MetodologIA + fecha
D-01_Functional_Toolbelt_{project}_{WIP}.htmlFormato DOCX (bajo demanda):
D-01_Functional_Toolbelt_{project}_{WIP}.docxFormato XLSX (bajo demanda):
D-01_Functional_Toolbelt_{project}_{WIP}.xlsxFormato PPTX (bajo demanda):
{fase}_{entregable}_{cliente}_{WIP}.pptx| Dimension | Peso | Criterio | Umbral Minimo |
|---|---|---|---|
| Trigger Accuracy | 10% | El skill se activa ante prompts de event storming, story map, business rules, GWT, traceability, anti-patterns | 7/10 |
| Completeness | 25% | Tool seleccionado ejecutado completamente; edge cases del tool abordados; output incluye gaps identificados y cross-references | 7/10 |
| Clarity | 20% | Output es consumible por el rol downstream (dev, QA, product); GWT sigue las 5 quality rules; event timeline es cronologica | 7/10 |
| Robustness | 20% | Edge cases cubiertos (sin domain expert, legacy sin docs, regulado, equipo resiste formalizacion); conditional logic aplicada | 7/10 |
| Efficiency | 10% | Tool correcto seleccionado para el contexto; no se ejecuta suite completa cuando una herramienta es suficiente | 7/10 |
| Value Density | 15% | Trazabilidad end-to-end presente; anti-patterns detectados con fix concreto; domain glossary consistente across outputs | 7/10 |
Umbral minimo global: 7/10. Si alguna dimension cae por debajo, el entregable requiere revision antes de entrega.
functional-spec — consumes toolbelt outputs to build formal specification documentquality-engineering — testing strategy informed by traceability matrix (Tool 5)flow-mapping — process flows feed into event storming (Tool 1) and story mapping (Tool 2)design-system — when FORMATO=html, applies brand tokens to toolbelt outputsPrimary: D-01_Functional_Toolbelt_{project}.md (o .html si {FORMATO}=html|dual) — Functional patterns catalog, composition strategies, implementation guidelines.
Diagramas incluidos:
Autor: Javier Montaño | Última actualización: 12 de marzo de 2026