bmad-module-skill-forge 0.6.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/README.md +2 -2
  2. package/docs/agents.md +9 -5
  3. package/docs/concepts.md +17 -13
  4. package/docs/examples.md +19 -4
  5. package/docs/getting-started.md +34 -19
  6. package/docs/how-it-works.md +87 -84
  7. package/docs/index.md +1 -1
  8. package/docs/workflows.md +88 -40
  9. package/package.json +1 -1
  10. package/src/agents/forger.agent.yaml +17 -5
  11. package/src/forger/README.md +1 -1
  12. package/src/forger/forge-tier.yaml +2 -1
  13. package/src/forger/preferences.yaml +5 -7
  14. package/src/knowledge/agentskills-spec.md +1 -1
  15. package/src/knowledge/architecture-verification.md +102 -0
  16. package/src/knowledge/ccc-bridge.md +3 -2
  17. package/src/knowledge/confidence-tiers.md +12 -1
  18. package/src/knowledge/doc-fetcher.md +1 -1
  19. package/src/knowledge/manual-section-integrity.md +2 -2
  20. package/src/knowledge/overview.md +11 -7
  21. package/src/knowledge/progressive-capability.md +5 -2
  22. package/src/knowledge/qmd-registry.md +5 -2
  23. package/src/knowledge/skf-knowledge-index.csv +2 -0
  24. package/src/knowledge/skill-lifecycle.md +26 -2
  25. package/src/knowledge/split-body-strategy.md +16 -2
  26. package/src/knowledge/tool-resolution.md +55 -0
  27. package/src/knowledge/zero-hallucination.md +11 -8
  28. package/src/module-help.csv +9 -6
  29. package/src/module.yaml +3 -0
  30. package/src/workflows/README.md +35 -17
  31. package/src/workflows/analyze-source/data/skill-brief-schema.md +18 -5
  32. package/src/workflows/analyze-source/steps-c/step-01-init.md +2 -2
  33. package/src/workflows/analyze-source/steps-c/step-01b-continue.md +1 -1
  34. package/src/workflows/analyze-source/steps-c/step-02-scan-project.md +1 -1
  35. package/src/workflows/analyze-source/steps-c/step-03-identify-units.md +1 -1
  36. package/src/workflows/analyze-source/steps-c/step-04-map-and-detect.md +3 -3
  37. package/src/workflows/analyze-source/steps-c/step-05-recommend.md +1 -1
  38. package/src/workflows/analyze-source/steps-c/step-06-generate-briefs.md +2 -2
  39. package/src/workflows/analyze-source/workflow.md +2 -2
  40. package/src/workflows/audit-skill/data/severity-rules.md +1 -1
  41. package/src/workflows/audit-skill/steps-c/step-01-init.md +2 -1
  42. package/src/workflows/audit-skill/steps-c/step-02-re-index.md +8 -1
  43. package/src/workflows/audit-skill/steps-c/step-03-structural-diff.md +2 -2
  44. package/src/workflows/audit-skill/steps-c/step-04-semantic-diff.md +2 -2
  45. package/src/workflows/audit-skill/steps-c/step-05-severity-classify.md +1 -1
  46. package/src/workflows/audit-skill/workflow.md +2 -1
  47. package/src/workflows/brief-skill/data/scope-templates.md +10 -0
  48. package/src/workflows/brief-skill/data/skill-brief-schema.md +25 -23
  49. package/src/workflows/brief-skill/steps-c/step-01-gather-intent.md +1 -1
  50. package/src/workflows/brief-skill/steps-c/step-02-analyze-target.md +1 -1
  51. package/src/workflows/brief-skill/steps-c/step-05-write-brief.md +3 -0
  52. package/src/workflows/create-skill/data/extraction-patterns.md +7 -1
  53. package/src/workflows/create-skill/data/skill-sections.md +12 -11
  54. package/src/workflows/create-skill/data/source-resolution-protocols.md +2 -2
  55. package/src/workflows/create-skill/data/tier-degradation-rules.md +1 -1
  56. package/src/workflows/create-skill/steps-c/step-01-load-brief.md +14 -10
  57. package/src/workflows/create-skill/steps-c/step-02b-ccc-discover.md +4 -0
  58. package/src/workflows/create-skill/steps-c/step-03-extract.md +19 -19
  59. package/src/workflows/create-skill/steps-c/step-03b-fetch-temporal.md +3 -3
  60. package/src/workflows/create-skill/steps-c/step-03c-fetch-docs.md +3 -1
  61. package/src/workflows/create-skill/steps-c/step-04-enrich.md +3 -1
  62. package/src/workflows/create-skill/steps-c/step-05-compile.md +4 -3
  63. package/src/workflows/create-skill/steps-c/step-06-validate.md +2 -2
  64. package/src/workflows/create-skill/steps-c/step-07-generate-artifacts.md +33 -44
  65. package/src/workflows/create-skill/steps-c/step-08-report.md +25 -11
  66. package/src/workflows/create-skill/workflow.md +2 -2
  67. package/src/workflows/create-stack-skill/data/compose-mode-rules.md +65 -0
  68. package/src/workflows/create-stack-skill/data/manifest-patterns.md +23 -1
  69. package/src/workflows/create-stack-skill/data/stack-skill-template.md +28 -6
  70. package/src/workflows/create-stack-skill/steps-c/step-01-init.md +25 -7
  71. package/src/workflows/create-stack-skill/steps-c/step-02-detect-manifests.md +37 -3
  72. package/src/workflows/create-stack-skill/steps-c/step-03-rank-and-confirm.md +29 -3
  73. package/src/workflows/create-stack-skill/steps-c/step-04-parallel-extract.md +50 -7
  74. package/src/workflows/create-stack-skill/steps-c/step-05-detect-integrations.md +35 -3
  75. package/src/workflows/create-stack-skill/steps-c/step-06-compile-stack.md +5 -1
  76. package/src/workflows/create-stack-skill/steps-c/step-07-generate-output.md +53 -5
  77. package/src/workflows/create-stack-skill/steps-c/step-08-validate.md +3 -3
  78. package/src/workflows/create-stack-skill/steps-c/step-09-report.md +8 -2
  79. package/src/workflows/create-stack-skill/workflow.md +2 -2
  80. package/src/workflows/export-skill/data/managed-section-format.md +8 -1
  81. package/src/workflows/export-skill/data/snippet-format.md +1 -1
  82. package/src/workflows/export-skill/steps-c/step-04-update-context.md +7 -2
  83. package/src/workflows/export-skill/steps-c/step-05-token-report.md +1 -1
  84. package/src/workflows/export-skill/workflow.md +3 -1
  85. package/src/workflows/quick-skill/data/skill-template.md +18 -6
  86. package/src/workflows/quick-skill/steps-c/step-04-compile.md +26 -6
  87. package/src/workflows/quick-skill/steps-c/step-05-validate.md +1 -1
  88. package/src/workflows/quick-skill/steps-c/step-06-write.md +3 -0
  89. package/src/workflows/quick-skill/workflow.md +1 -1
  90. package/src/workflows/refine-architecture/data/refinement-rules.md +102 -0
  91. package/src/workflows/refine-architecture/steps-c/step-01-init.md +188 -0
  92. package/src/workflows/refine-architecture/steps-c/step-02-gap-analysis.md +179 -0
  93. package/src/workflows/refine-architecture/steps-c/step-03-issue-detection.md +182 -0
  94. package/src/workflows/refine-architecture/steps-c/step-04-improvements.md +169 -0
  95. package/src/workflows/refine-architecture/steps-c/step-05-compile.md +200 -0
  96. package/src/workflows/refine-architecture/steps-c/step-06-report.md +147 -0
  97. package/src/workflows/refine-architecture/workflow.md +61 -0
  98. package/src/workflows/setup-forge/steps-c/step-01-detect-and-tier.md +2 -1
  99. package/src/workflows/setup-forge/steps-c/step-01b-ccc-index.md +5 -3
  100. package/src/workflows/setup-forge/steps-c/step-02-write-config.md +15 -16
  101. package/src/workflows/setup-forge/steps-c/step-03-auto-index.md +1 -1
  102. package/src/workflows/setup-forge/steps-c/step-04-report.md +2 -2
  103. package/src/workflows/setup-forge/workflow.md +3 -2
  104. package/src/workflows/test-skill/data/scoring-rules.md +3 -0
  105. package/src/workflows/test-skill/data/source-access-protocol.md +1 -1
  106. package/src/workflows/test-skill/steps-c/step-01-init.md +1 -0
  107. package/src/workflows/test-skill/steps-c/step-02-detect-mode.md +2 -0
  108. package/src/workflows/test-skill/workflow.md +2 -2
  109. package/src/workflows/update-skill/steps-c/step-02-detect-changes.md +3 -3
  110. package/src/workflows/update-skill/steps-c/step-03-re-extract.md +8 -3
  111. package/src/workflows/update-skill/steps-c/step-05-validate.md +8 -12
  112. package/src/workflows/update-skill/steps-c/step-06-write.md +5 -2
  113. package/src/workflows/update-skill/workflow.md +1 -1
  114. package/src/workflows/verify-stack/data/coverage-patterns.md +45 -0
  115. package/src/workflows/verify-stack/data/feasibility-report-template.md +63 -0
  116. package/src/workflows/verify-stack/data/integration-verification-rules.md +73 -0
  117. package/src/workflows/verify-stack/steps-c/step-01-init.md +174 -0
  118. package/src/workflows/verify-stack/steps-c/step-02-coverage.md +181 -0
  119. package/src/workflows/verify-stack/steps-c/step-03-integrations.md +195 -0
  120. package/src/workflows/verify-stack/steps-c/step-04-requirements.md +168 -0
  121. package/src/workflows/verify-stack/steps-c/step-05-synthesize.md +191 -0
  122. package/src/workflows/verify-stack/steps-c/step-06-report.md +197 -0
  123. package/src/workflows/verify-stack/workflow.md +61 -0
  124. package/src/workflows/analyze-source/validation-report.md +0 -657
  125. package/src/workflows/analyze-source/workflow-plan-analyze-source.md +0 -385
  126. package/src/workflows/audit-skill/validation-report.md +0 -545
  127. package/src/workflows/audit-skill/workflow-plan-audit-skill.md +0 -318
  128. package/src/workflows/brief-skill/validation-report.md +0 -630
  129. package/src/workflows/brief-skill/workflow-plan-brief-skill.md +0 -360
  130. package/src/workflows/create-skill/validation-report.md +0 -189
  131. package/src/workflows/create-skill/workflow-plan-create-skill.md +0 -525
  132. package/src/workflows/create-stack-skill/validation-report.md +0 -401
  133. package/src/workflows/create-stack-skill/workflow-plan-create-stack-skill.md +0 -481
  134. package/src/workflows/export-skill/validation-report.md +0 -263
  135. package/src/workflows/export-skill/workflow-plan-export-skill.md +0 -369
  136. package/src/workflows/quick-skill/validation-report.md +0 -543
  137. package/src/workflows/quick-skill/workflow-plan-quick-skill.md +0 -405
  138. package/src/workflows/setup-forge/validation-report.md +0 -504
  139. package/src/workflows/setup-forge/workflow-plan-setup-forge.md +0 -430
  140. package/src/workflows/test-skill/validation-report.md +0 -390
  141. package/src/workflows/test-skill/workflow-plan-test-skill.md +0 -292
  142. package/src/workflows/update-skill/data/tier-degradation-rules.md +0 -46
  143. package/src/workflows/update-skill/validation-report.md +0 -559
  144. package/src/workflows/update-skill/workflow-plan-update-skill.md +0 -441
@@ -0,0 +1,168 @@
1
+ ---
2
+ name: 'step-04-requirements'
3
+ description: 'Pass 3 (OPTIONAL) — if PRD/vision document provided, verify the stack covers stated requirements'
4
+
5
+ nextStepFile: './step-05-synthesize.md'
6
+ outputFile: '{forge_data_folder}/feasibility-report-{project_name}.md'
7
+ ---
8
+
9
+ # Step 4: Requirements Coverage
10
+
11
+ ## STEP GOAL:
12
+
13
+ If a PRD or vision document was provided in Step 01, verify that the combined capabilities of the generated skills address each stated requirement. If no PRD was provided, skip this pass and auto-proceed. Produce a requirements coverage table with Fulfilled, Partially Fulfilled, or Not Addressed verdicts.
14
+
15
+ ## MANDATORY EXECUTION RULES (READ FIRST):
16
+
17
+ ### Universal Rules:
18
+
19
+ - 📖 CRITICAL: Read the complete step file before taking any action
20
+ - 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
21
+ - ⚙️ TOOL/SUBPROCESS FALLBACK: If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context thread
22
+ - ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
23
+
24
+ ### Role Reinforcement:
25
+
26
+ - ✅ You are a stack verification analyst assessing requirements coverage
27
+ - ✅ Every verdict must reason from actual skill capabilities, not assumptions
28
+ - ✅ "Not Addressed" is a valid and important finding — do not force-fit skills to requirements
29
+
30
+ ### Step-Specific Rules:
31
+
32
+ - 🎯 Focus ONLY on requirements-to-skills coverage assessment
33
+ - 🚫 FORBIDDEN to re-analyze integrations — that was Step 03
34
+ - 🚫 FORBIDDEN to synthesize or produce overall verdicts — that is Step 05
35
+ - 💬 If no PRD was provided, skip immediately with a clear message
36
+
37
+ ## EXECUTION PROTOCOLS:
38
+
39
+ - 🎯 Extract requirements from PRD/vision document and assess skill coverage
40
+ - 💾 Append Requirements Coverage section to {outputFile}
41
+ - 📖 Auto-proceed to next step after completion or skip
42
+ - 🚫 Only requirements coverage — no synthesis, no overall verdict
43
+
44
+ ## CONTEXT BOUNDARIES:
45
+
46
+ - Available: PRD/vision document (if provided), skill SKILL.md files, metadata.json files
47
+ - Focus: Mapping requirements to skill capabilities
48
+ - Limits: Do not evaluate skill quality — only whether capabilities match requirements
49
+ - Dependencies: Step 01 (PRD availability flag, skill inventory)
50
+
51
+ ## MANDATORY SEQUENCE
52
+
53
+ **CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
54
+
55
+ ### 1. Check PRD Availability
56
+
57
+ **Check `prd_available` from workflow state (set in Step 01). If `prd_available` is false (no PRD/vision document was provided):**
58
+
59
+ "**Pass 3: Requirements Coverage — Skipped**
60
+
61
+ No PRD or vision document was provided. Requirements coverage analysis requires a document describing project capabilities and constraints.
62
+
63
+ To include this pass, re-run **[VS]** with a PRD or vision document path.
64
+
65
+ **Proceeding to synthesis...**"
66
+
67
+ Update {outputFile} frontmatter: append `'step-04-requirements'` to `stepsCompleted`, set `requirements_pass: "skipped"`.
68
+
69
+ Load, read the full file and then execute `{nextStepFile}`. **STOP HERE — do not execute sections 2-6.**
70
+
71
+ **If PRD/vision document was provided:** Continue to section 2.
72
+
73
+ ### 2. Extract Requirements
74
+
75
+ Parse the PRD/vision document for capability requirements.
76
+
77
+ **Look for:**
78
+ - **Feature descriptions** — explicit capabilities the product must have
79
+ - **Technical requirements** — performance targets, scalability needs, platform support
80
+ - **Non-functional requirements** — offline-first, real-time sync, multi-language support, accessibility, security constraints
81
+ - **Integration requirements** — third-party service dependencies, API contracts
82
+ - **Infrastructure requirements** — deployment targets, CI/CD needs, monitoring
83
+
84
+ **Build a requirements list** with each entry containing:
85
+ - `requirement_id` — sequential identifier (R1, R2, R3...)
86
+ - `requirement_text` — the stated requirement
87
+ - `category` — feature, technical, non-functional, integration, or infrastructure
88
+ - `source_section` — the PRD section where it was found
89
+
90
+ ### 3. Assess Stack Coverage
91
+
92
+ For each requirement, evaluate whether the combined capabilities of the generated skills address it.
93
+
94
+ **Assessment method:**
95
+ - Read each skill's SKILL.md exports, description, and capabilities sections
96
+ - Check if skill exports provide functions, types, or patterns relevant to the requirement
97
+ - Consider combinations of multiple skills that together address a requirement
98
+ - For non-functional requirements, check if skills document relevant configuration or patterns
99
+
100
+ **Assign verdict per requirement:**
101
+ - **Fulfilled** — one or more skills clearly provide the needed capability, with specific exports or patterns identified
102
+ - **Partially Fulfilled** — skills provide related capability but gaps remain (specify what is covered and what is not)
103
+ - **Not Addressed** — no skill in the stack provides capability relevant to this requirement
104
+
105
+ **Each verdict MUST include:**
106
+ - Which skills contribute (if any)
107
+ - Specific exports or capabilities from those skills that are relevant
108
+ - For Partially Fulfilled: what gap remains
109
+
110
+ ### 4. Display Requirements Results
111
+
112
+ "**Pass 3: Requirements Coverage**
113
+
114
+ | ID | Requirement | Category | Verdict | Contributing Skills |
115
+ |----|-------------|----------|---------|-------------------|
116
+ | {id} | {requirement_text} | {category} | {Fulfilled/Partially Fulfilled/Not Addressed} | {skill_names or '—'} |
117
+
118
+ **Coverage: {fulfilled_count} Fulfilled, {partial_count} Partially Fulfilled, {not_addressed_count} Not Addressed**
119
+
120
+ {IF any Not Addressed:}
121
+ **Unaddressed Requirements — Recommendations:**
122
+ {For each not addressed requirement:}
123
+ - **{id}:** {requirement_text} → Evaluate `{category}` libraries that provide this capability, generate a skill with **[CS]** or **[QS]**, then re-run **[VS]**
124
+
125
+ {IF any Partially Fulfilled:}
126
+ **Partial Coverage — Details:**
127
+ {For each partially fulfilled requirement:}
128
+ - **{id}:** Covered by `{skill_names}` — **Gap:** {what remains unaddressed}"
129
+
130
+ ### 5. Append to Report
131
+
132
+ Write the **Requirements Coverage** section to `{outputFile}`:
133
+ - Include the full requirements coverage table
134
+ - Include recommendations for Not Addressed and Partially Fulfilled items
135
+ - Update frontmatter: append `'step-04-requirements'` to `stepsCompleted`
136
+ - Set `requirements_pass: "completed"`
137
+ - Set `requirements_fulfilled`, `requirements_partial`, `requirements_not_addressed` counts
138
+
139
+ ### 6. Auto-Proceed to Next Step
140
+
141
+ "**Proceeding to synthesis...**"
142
+
143
+ Load, read the full file and then execute `{nextStepFile}`.
144
+
145
+ ---
146
+
147
+ ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
148
+
149
+ ### ✅ SUCCESS:
150
+
151
+ - PRD availability checked first — skipped cleanly if not provided
152
+ - All requirements extracted from PRD with source section citations
153
+ - Each requirement assessed against actual skill capabilities (exports, descriptions)
154
+ - Verdicts include contributing skill names and specific capabilities
155
+ - Not Addressed items have actionable recommendations
156
+ - Requirements Coverage section appended to {outputFile}
157
+ - Auto-proceeded to step 05
158
+
159
+ ### ❌ SYSTEM FAILURE:
160
+
161
+ - Fabricating requirements not stated in the PRD document
162
+ - Force-fitting skills to requirements they do not address
163
+ - Verdicts without evidence from actual skill content
164
+ - Not executing the skip path when no PRD was provided
165
+ - Producing synthesis or overall verdicts (that is Step 05)
166
+ - Hardcoded paths instead of frontmatter variables
167
+
168
+ **Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -0,0 +1,191 @@
1
+ ---
2
+ name: 'step-05-synthesize'
3
+ description: 'Produce overall feasibility verdict, prescriptive recommendations, and diff from previous run'
4
+
5
+ nextStepFile: './step-06-report.md'
6
+ outputFile: '{forge_data_folder}/feasibility-report-{project_name}.md'
7
+ ---
8
+
9
+ # Step 5: Synthesize Verdict
10
+
11
+ ## STEP GOAL:
12
+
13
+ Calculate the overall feasibility verdict based on all three analysis passes, generate prescriptive recommendations for every non-verified finding, check for a previous feasibility report to produce a delta, and compile the synthesis section of the report.
14
+
15
+ ## MANDATORY EXECUTION RULES (READ FIRST):
16
+
17
+ ### Universal Rules:
18
+
19
+ - 📖 CRITICAL: Read the complete step file before taking any action
20
+ - 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
21
+ - ⚙️ TOOL/SUBPROCESS FALLBACK: If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context thread
22
+ - ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
23
+
24
+ ### Role Reinforcement:
25
+
26
+ - ✅ You are a stack verification analyst delivering the final synthesis
27
+ - ✅ The overall verdict must follow the decision logic exactly — no subjectivity
28
+ - ✅ Every recommendation must be specific and actionable — not vague advice
29
+
30
+ ### Step-Specific Rules:
31
+
32
+ - 🎯 Focus ONLY on synthesizing findings from Steps 02-04 into a verdict
33
+ - 🚫 FORBIDDEN to discover new findings or re-analyze skills
34
+ - 🚫 FORBIDDEN to present the final report to the user — that is Step 06
35
+ - 💬 Recommendations must name specific tools, libraries, or actions
36
+
37
+ ## EXECUTION PROTOCOLS:
38
+
39
+ - 🎯 Apply verdict decision logic to produce FEASIBLE / CONDITIONALLY FEASIBLE / NOT FEASIBLE
40
+ - 💾 Append Synthesis & Recommendations section to {outputFile}
41
+ - 📖 Check for previous report and generate delta if found
42
+ - 🚫 Only synthesis — no new analysis, no final presentation
43
+
44
+ ## CONTEXT BOUNDARIES:
45
+
46
+ - Available: Coverage matrix (Step 02), integration verdicts (Step 03), requirements coverage (Step 04 if applicable)
47
+ - Focus: Verdict calculation, recommendation generation, delta comparison
48
+ - Limits: Do not present the full report — that is Step 06
49
+ - Dependencies: Steps 02-03 must be complete; Step 04 completed or skipped
50
+
51
+ ## MANDATORY SEQUENCE
52
+
53
+ **CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
54
+
55
+ ### 1. Calculate Overall Verdict
56
+
57
+ Apply the following decision logic using findings from all completed passes:
58
+
59
+ **Evaluate in order — the first matching condition wins. Do not continue once a verdict is determined.**
60
+
61
+ **NOT FEASIBLE (evaluate first):**
62
+ - Any integration is **Blocked** → overall verdict is NOT FEASIBLE
63
+ - Rationale: a blocked integration represents a fundamental architectural incompatibility. Also note in the rationale any co-occurring Missing skills or Risky integrations so the user understands the full set of problems
64
+
65
+ **CONDITIONALLY FEASIBLE (evaluate second):**
66
+ If ANY of the following apply, the verdict is CONDITIONALLY FEASIBLE. Include ALL matching conditions in the rationale:
67
+ - Any technology is **Missing** from coverage (no skill exists)
68
+ - Any integration is **Risky** (but none Blocked)
69
+ - Requirements have any **Not Addressed** items
70
+ - Requirements have any **Partially Fulfilled** items
71
+ - Rationale: the stack can work but has gaps, risks, or unverified assumptions that must be addressed
72
+
73
+ **FEASIBLE (evaluate last):**
74
+ - Coverage is 100% (no Missing skills) AND all integrations are Verified or Plausible AND requirements are all Fulfilled (or requirements pass was skipped) AND no Blocked or Risky integrations → overall verdict is FEASIBLE
75
+ - Rationale: {IF requirements pass completed:} the stack can support the architecture as described — all requirements fully fulfilled. {IF requirements pass was skipped:} the stack can support the architecture as described — requirements were not evaluated (no PRD provided)
76
+
77
+ **Post-verdict: Zero integration pairs guard (apply after ANY verdict):**
78
+ If zero integration pairs were extracted (all four integration counts are 0) AND the architecture document references 2+ technologies:
79
+ - If the verdict was FEASIBLE, override to CONDITIONALLY FEASIBLE
80
+ - Regardless of verdict, append this note to the rationale: "No integration claims were found in the architecture document prose. Manual review recommended to confirm that technology relationships are not documented exclusively in diagrams or implied without explicit co-mention."
81
+
82
+ Store the verdict for use in the report.
83
+
84
+ ### 2. Generate Prescriptive Recommendations
85
+
86
+ For each non-verified finding across all passes, generate an actionable next step:
87
+
88
+ **Missing skill (from Step 02):**
89
+ - "Run **[CS] Create Skill** or **[QS] Quick Skill** for `{library_name}`, then re-run **[VS]** to verify coverage."
90
+
91
+ **Risky integration (from Step 03):**
92
+ - If protocol mismatch → "Consider adding a bridge layer between `{lib_a}` and `{lib_b}` (e.g., HTTP adapter, message queue). Document the bridge in the architecture."
93
+ - If type incompatibility → "Add a serialization/conversion layer between `{lib_a}` and `{lib_b}` to resolve the type mismatch identified in their API surfaces."
94
+ - If weak evidence → "Add cross-references between `{lib_a}` and `{lib_b}` skills by re-running **[CS]** with integration context."
95
+
96
+ **Blocked integration (from Step 03):**
97
+ - If language barrier → "Replace `{lib_a}` with a `{lib_b_language}`-compatible alternative, or introduce an IPC/FFI bridge. Redesign the integration path in the architecture document."
98
+ - If fundamental incompatibility → "Replace `{blocked_lib}` with an alternative that is compatible with `{other_lib}` in the same domain, or redesign the integration path in the architecture document."
99
+
100
+ **Not Addressed requirement (from Step 04):**
101
+ - "No library in the stack covers `{requirement}`. Evaluate `{category}` libraries that provide this capability, generate a skill, then re-run **[VS]**."
102
+
103
+ **Partially Fulfilled requirement (from Step 04):**
104
+ - "Gap in `{requirement}`: {what_is_missing}. Consider extending `{contributing_skill}` or adding a dedicated library."
105
+
106
+ **Zero integration pairs (from Step 03):**
107
+ - If zero integration pairs were found AND the architecture references 2+ technologies: "No integration claims were found in the architecture document prose. Add explicit prose descriptions of how your technologies interact (not only in diagrams), then re-run **[VS]** to verify integrations."
108
+
109
+ ### 3. Check for Previous Report
110
+
111
+ Check if a `previous_report` path was recorded in the current report's frontmatter. Since the current workflow run overwrites the report starting in Step 01, the delta feature requires the user to have saved a copy before re-running [VS].
112
+
113
+ **Note:** The delta feature is only available when the user has manually backed up a prior report and provided the path. To enable delta comparisons, instruct the user to copy their feasibility report (e.g., `feasibility-report-{project_name}-v1.md`) before re-running [VS], then provide the backup path when prompted in Step 01.
114
+
115
+ **If a previous report is found:**
116
+ - Load its verdict, coverage percentage, and integration verdicts
117
+ - Generate a delta comparison:
118
+ - **Improved items:** findings that were Risky/Blocked/Missing and are now Verified/Covered
119
+ - **Regressed items:** findings that were Verified/Covered and are now Risky/Blocked/Missing
120
+ - **New items:** findings not present in the previous report
121
+ - **Unchanged items:** count of findings with the same verdict
122
+
123
+ **If no previous report found:**
124
+ - Note: "First verification run — no delta available."
125
+
126
+ ### 4. Compile Synthesis Section
127
+
128
+ Assemble the following for the report:
129
+
130
+ **Overall verdict** with rationale citing the decision logic.
131
+
132
+ **Recommendation list** ordered by priority (count total recommendations as `recommendation_count` — persist this count to `{outputFile}` frontmatter for use in step-06):
133
+ 1. Blocked integrations (if any)
134
+ 2. Missing skills
135
+ 3. Risky integrations
136
+ 4. Not Addressed requirements
137
+ 5. Partially Fulfilled requirements
138
+
139
+ **Delta from previous run** (if applicable):
140
+ - Improved, regressed, new, unchanged counts
141
+ - Specific items that changed
142
+
143
+ **Suggested next workflow:**
144
+ - FEASIBLE → "Proceed to **[RA] Refine Architecture** to produce an implementation-ready architecture, then **[SS]** to compose your stack skill, then **[TS]** to test and **[EX]** to export."
145
+ - CONDITIONALLY FEASIBLE → "Address the {recommendation_count} recommendations above, then re-run **[VS]**. Once all clear, proceed to **[RA]**."
146
+ - NOT FEASIBLE → "Critical blockers must be resolved before proceeding. Apply the recommendations above and re-run **[VS]**."
147
+
148
+ ### 5. Append to Report
149
+
150
+ Write the **Synthesis & Recommendations** section to `{outputFile}`:
151
+ - Include overall verdict with rationale
152
+ - Include prioritized recommendation list
153
+ - Include delta from previous run (if applicable)
154
+ - Include suggested next workflow
155
+ - **Replace the body placeholder** in the `## Overall Verdict` section: replace `{FEASIBLE / CONDITIONALLY FEASIBLE / NOT FEASIBLE}` and `{1-2 sentence summary}` with the actual calculated verdict and rationale text
156
+ - Update frontmatter: append `'step-05-synthesize'` to `stepsCompleted`
157
+ - Set `overall_verdict` to the calculated verdict
158
+ - Set `recommendation_count` to the total number of recommendations
159
+ - If delta was computed (section 3), set `delta_improved`, `delta_regressed`, `delta_new`, `delta_unchanged` in frontmatter to the respective counts
160
+ - Verify that `integrations_verified`, `integrations_plausible`, `integrations_risky`, `integrations_blocked` in frontmatter match the counts from Step 03 (these were set in Step 03). If a discrepancy is found, overwrite the frontmatter counts with the values from Step 03 — the report file is the system of record
161
+
162
+ ### 6. Auto-Proceed to Next Step
163
+
164
+ "**Proceeding to final report presentation...**"
165
+
166
+ Load, read the full file and then execute `{nextStepFile}`.
167
+
168
+ ---
169
+
170
+ ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
171
+
172
+ ### ✅ SUCCESS:
173
+
174
+ - Overall verdict calculated using the exact decision logic (not subjective judgment)
175
+ - Every non-verified finding has a specific, actionable recommendation
176
+ - Recommendations name concrete tools ([CS], [QS], [VS], [RA]) and specific libraries
177
+ - Previous report delta generated if applicable
178
+ - Synthesis section appended to {outputFile} with verdict, recommendations, and next workflow
179
+ - Frontmatter updated with overall_verdict and metric counts
180
+ - Auto-proceeded to step 06
181
+
182
+ ### ❌ SYSTEM FAILURE:
183
+
184
+ - Subjective or vague overall verdict not following the decision logic
185
+ - Recommendations without specific actions ("improve the integration")
186
+ - Not checking for previous report
187
+ - Discovering new findings or re-analyzing skills
188
+ - Presenting the full report to the user (that is Step 06)
189
+ - Hardcoded paths instead of frontmatter variables
190
+
191
+ **Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -0,0 +1,197 @@
1
+ ---
2
+ name: 'step-06-report'
3
+ description: 'Present the final feasibility report to the user with verdict, findings, and next steps'
4
+
5
+ outputFile: '{forge_data_folder}/feasibility-report-{project_name}.md'
6
+ ---
7
+
8
+ # Step 6: Present Report
9
+
10
+ ## STEP GOAL:
11
+
12
+ Present the complete feasibility report to the user. Display the overall verdict prominently, walk through key findings from each analysis pass, present actionable next steps based on the verdict, and offer the user options to review the full report or exit.
13
+
14
+ ## MANDATORY EXECUTION RULES (READ FIRST):
15
+
16
+ ### Universal Rules:
17
+
18
+ - 📖 CRITICAL: Read the complete step file before taking any action
19
+ - ⚙️ TOOL/SUBPROCESS FALLBACK: If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context thread
20
+ - ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
21
+
22
+ ### Role Reinforcement:
23
+
24
+ - ✅ You are a stack verification analyst delivering the final report
25
+ - ✅ Present findings clearly and concisely — the user needs to make decisions
26
+ - ✅ Next step recommendations must match the verdict exactly
27
+
28
+ ### Step-Specific Rules:
29
+
30
+ - 🎯 Focus ONLY on presenting the completed report — no new analysis
31
+ - 🚫 FORBIDDEN to discover new findings, re-analyze skills, or change verdicts
32
+ - 🚫 FORBIDDEN to modify the report content — only read and present
33
+ - 📋 This is the FINAL step — no nextStepFile
34
+
35
+ ## EXECUTION PROTOCOLS:
36
+
37
+ - 🎯 Load and present the complete feasibility report
38
+ - 💾 No new content written — report was finalized in Step 05
39
+ - 📖 Present summary, detailed findings, and next steps clearly
40
+ - 🚫 Read-only presentation — do not alter report data
41
+
42
+ ## CONTEXT BOUNDARIES:
43
+
44
+ - Available: Complete {outputFile} with all sections from Steps 01-05
45
+ - Focus: Clear, actionable presentation of findings
46
+ - Limits: Do not add new analysis or change any verdicts
47
+ - Dependencies: All previous steps must be complete (Steps 01-05)
48
+
49
+ ## MANDATORY SEQUENCE
50
+
51
+ **CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
52
+
53
+ ### 1. Load Complete Report
54
+
55
+ Read the entire `{outputFile}` to have all data available for presentation.
56
+
57
+ Verify all expected sections are present: Coverage Matrix, Integration Verdicts, Requirements Coverage (or skipped notation), Synthesis & Recommendations.
58
+
59
+ **Extract metrics from frontmatter:** Read `skills_analyzed`, `coverage_percentage`, `integrations_verified` (as `verified_count`), `integrations_plausible` (as `plausible_count`), `integrations_risky` (as `risky_count`), `integrations_blocked` (as `blocked_count`), `requirements_fulfilled` (as `fulfilled_count`), `requirements_partial` (as `partial_count`), `requirements_not_addressed` (as `not_addressed_count`), `requirements_pass`, `overall_verdict`, and `recommendation_count`. Use these mapped display names in the summary table and next steps below.
60
+
61
+ ### 2. Present Summary
62
+
63
+ "**Verify Stack — Feasibility Report**
64
+
65
+ ---
66
+
67
+ **Overall Verdict: {FEASIBLE / CONDITIONALLY FEASIBLE / NOT FEASIBLE}**
68
+
69
+ | Metric | Value |
70
+ |--------|-------|
71
+ | **Skills Analyzed** | {skills_analyzed} |
72
+ | **Coverage** | {coverage_percentage}% |
73
+ | **Integrations Verified** | {verified_count} |
74
+ | **Integrations Plausible** | {plausible_count} |
75
+ | **Integrations Risky** | {risky_count} |
76
+ | **Integrations Blocked** | {blocked_count} |
77
+ | **Requirements Fulfilled** | {fulfilled_count or 'N/A — no PRD'} |
78
+ | **Requirements Partially Fulfilled** | {partial_count or 'N/A — no PRD'} |
79
+ | **Requirements Not Addressed** | {not_addressed_count or 'N/A — no PRD'} |
80
+
81
+ {IF delta_improved is not null (delta from previous run exists):}
82
+ **Delta from Previous Run:**
83
+ - Improved: {delta_improved} items
84
+ - Regressed: {delta_regressed} items
85
+ - New: {delta_new} items
86
+ - Unchanged: {delta_unchanged} items
87
+
88
+ ---"
89
+
90
+ ### 3. Present Detailed Findings
91
+
92
+ Walk through each section briefly, focusing on items that need attention:
93
+
94
+ "**Coverage Highlights:**
95
+ {IF 100% coverage:}
96
+ - All referenced technologies have a matching skill
97
+
98
+ {IF any missing:}
99
+ - **Missing:** {list of missing technology names}
100
+
101
+ **Integration Verdicts:**
102
+ {IF all Verified/Plausible:}
103
+ - All integration pairs verified or plausible — no blockers
104
+
105
+ {IF any Risky:}
106
+ - **Risky:** {list of risky pairs with brief concern}
107
+
108
+ {IF any Blocked:}
109
+ - **Blocked:** {list of blocked pairs with brief incompatibility}
110
+
111
+ {IF requirements pass completed:}
112
+ **Requirements Gaps:**
113
+ {IF all Fulfilled:}
114
+ - All stated requirements addressed by the stack
115
+
116
+ {IF any Partially Fulfilled:}
117
+ - **Partially Fulfilled:** {list of partially covered requirements with gap description}
118
+
119
+ {IF any Not Addressed:}
120
+ - **Not Addressed:** {list of unaddressed requirements}"
121
+
122
+ ### 4. Present Next Steps
123
+
124
+ Based on the overall verdict, present the appropriate recommendation:
125
+
126
+ **IF FEASIBLE:**
127
+ "**Your stack is verified.** All technologies are covered, integrations are compatible, and requirements are all fulfilled (or requirements pass was skipped).
128
+
129
+ **Recommended next steps:**
130
+ 1. **[RA] Refine Architecture** — Produce an implementation-ready architecture document enriched with skill-backed API details
131
+ 2. **[SS] Create Stack Skill** — compose your individual skills into a unified stack skill, providing the refined architecture doc when prompted
132
+ 3. **[TS] Test Skill** → **[EX] Export Skill** — Verify completeness and package for distribution"
133
+
134
+ **IF CONDITIONALLY FEASIBLE:**
135
+ "**Your stack is conditionally feasible.** There are {recommendation_count} items to address before proceeding.
136
+
137
+ **Required actions:**
138
+ {List the specific recommendations from Step 05 synthesis}
139
+
140
+ **After addressing these items:** Re-run **[VS] Verify Stack** to confirm resolution, then proceed to **[RA]**."
141
+
142
+ **IF NOT FEASIBLE:**
143
+ "**Critical blockers must be resolved.** The stack cannot support the architecture as described.
144
+
145
+ **Critical actions:**
146
+ {List the blocked integration recommendations and missing skill actions from Step 05}
147
+
148
+ **After resolving blockers:** Re-run **[VS] Verify Stack**. Repeat until verdict improves to FEASIBLE or CONDITIONALLY FEASIBLE."
149
+
150
+ ### 5. Present Menu
151
+
152
+ Display: "**[R] Review full report** | **[X] Exit verification**"
153
+
154
+ #### Menu Handling Logic:
155
+
156
+ - **IF R:** Walk through the report section by section, presenting each section's content from {outputFile} in a readable format. After completing the walkthrough, redisplay the menu. (Note: the R walkthrough loop terminates only when the user selects X.)
157
+ - **IF X:** "**Feasibility report saved to:** `{outputFile}`
158
+
159
+ Re-run **[VS] Verify Stack** anytime after making changes to your skills or architecture document.
160
+
161
+ **Verification workflow complete.**"
162
+
163
+ #### EXECUTION RULES:
164
+
165
+ - ALWAYS halt and wait for user input after presenting the menu
166
+ - R may be selected multiple times — always walk through the full report
167
+ - X ends the workflow
168
+
169
+ ## CRITICAL STEP COMPLETION NOTE
170
+
171
+ This is the final step of the verify-stack workflow. When the user selects X, the workflow is complete. The feasibility report at `{outputFile}` contains the full analysis: Coverage Matrix, Integration Verdicts, Requirements Coverage, and Synthesis & Recommendations.
172
+
173
+ ---
174
+
175
+ ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
176
+
177
+ ### ✅ SUCCESS:
178
+
179
+ - Complete report loaded and verified for section completeness
180
+ - Overall verdict displayed prominently with key metrics
181
+ - Delta from previous run shown if applicable
182
+ - Detailed findings presented with focus on risky/blocked/missing items
183
+ - Next steps match the verdict exactly (FEASIBLE/CONDITIONALLY FEASIBLE/NOT FEASIBLE)
184
+ - Menu presented with R and X options
185
+ - Report walkthrough available on R selection
186
+ - Workflow exits cleanly on X with saved file path
187
+
188
+ ### ❌ SYSTEM FAILURE:
189
+
190
+ - Discovering new findings or changing verdicts in this step
191
+ - Modifying the report content
192
+ - Next step recommendations that do not match the verdict
193
+ - Not presenting the menu
194
+ - Not displaying the report save path on exit
195
+ - Hardcoded paths instead of frontmatter variables
196
+
197
+ **Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: verify-stack
3
+ description: Validate tech stack feasibility against architecture and PRD documents
4
+ web_bundle: true
5
+ installed_path: '{project-root}/_bmad/skf/workflows/skillforge/verify-stack'
6
+ ---
7
+
8
+ # Verify Stack
9
+
10
+ **Goal:** Cross-reference generated skills against architecture and PRD documents to produce a feasibility report with evidence-backed integration verdicts, coverage analysis, and requirements mapping.
11
+
12
+ **Your Role:** In addition to your name, communication_style, and persona, you are also a stack feasibility analyst and integration verifier operating in Ferris Audit mode. You bring expertise in API surface analysis, cross-library compatibility assessment, and architecture validation, while the user brings their architecture vision and generated skills. Execute with analytical precision — every verdict must cite evidence from the generated skills.
13
+
14
+ ---
15
+
16
+ ## WORKFLOW ARCHITECTURE
17
+
18
+ This uses **step-file architecture** for disciplined execution:
19
+
20
+ ### Core Principles
21
+
22
+ - **Micro-file Design**: Each step is a self-contained instruction file that must be followed exactly
23
+ - **Just-In-Time Loading**: Only the current step file is in memory — never load future step files until told to do so
24
+ - **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
25
+ - **Read-Only Analysis**: This workflow never modifies skills or input documents — it only reads and produces a feasibility report
26
+ - **Evidence-Backed Verdicts**: Every integration verdict must cite specific APIs, types, or function signatures from the generated skills
27
+
28
+ ### Step Processing Rules
29
+
30
+ 1. **READ COMPLETELY**: Always read the entire step file before taking any action
31
+ 2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
32
+ 3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
33
+ 4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
34
+ 5. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
35
+
36
+ ### Critical Rules (NO EXCEPTIONS)
37
+
38
+ - 🛑 **NEVER** load multiple step files simultaneously
39
+ - 📖 **ALWAYS** read entire step file before execution
40
+ - 🚫 **NEVER** skip steps or optimize the sequence
41
+ - 🎯 **ALWAYS** follow the exact instructions in the step file
42
+ - ⏸️ **ALWAYS** halt at menus and wait for user input
43
+ - 📋 **NEVER** create mental todo lists from future steps
44
+ - ⚙️ **TOOL/SUBPROCESS FALLBACK**: If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context thread
45
+ - ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
46
+ - 🔒 **READ-ONLY**: This workflow NEVER modifies skills, architecture docs, or PRD files
47
+
48
+ ---
49
+
50
+ ## INITIALIZATION SEQUENCE
51
+
52
+ ### 1. Module Configuration Loading
53
+
54
+ Load and read full config from {project-root}/_bmad/skf/config.yaml and resolve:
55
+
56
+ - `project_name`, `user_name`, `communication_language`
57
+ - `skills_output_folder`, `forge_data_folder`, `document_output_language`
58
+
59
+ ### 2. First Step Execution
60
+
61
+ Load, read the full file and then execute `./steps-c/step-01-init.md` to begin the workflow.