bmad-module-skill-forge 0.6.0 → 0.7.0

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 (136) 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 +85 -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 +1 -1
  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 +10 -7
  21. package/src/knowledge/progressive-capability.md +3 -2
  22. package/src/knowledge/qmd-registry.md +4 -1
  23. package/src/knowledge/skf-knowledge-index.csv +1 -0
  24. package/src/knowledge/skill-lifecycle.md +26 -2
  25. package/src/knowledge/split-body-strategy.md +16 -2
  26. package/src/knowledge/zero-hallucination.md +11 -8
  27. package/src/module-help.csv +9 -6
  28. package/src/module.yaml +3 -0
  29. package/src/workflows/README.md +35 -17
  30. package/src/workflows/analyze-source/data/skill-brief-schema.md +18 -5
  31. package/src/workflows/analyze-source/steps-c/step-01-init.md +2 -2
  32. package/src/workflows/analyze-source/steps-c/step-01b-continue.md +1 -1
  33. package/src/workflows/analyze-source/steps-c/step-02-scan-project.md +1 -1
  34. package/src/workflows/analyze-source/steps-c/step-03-identify-units.md +1 -1
  35. package/src/workflows/analyze-source/steps-c/step-04-map-and-detect.md +1 -1
  36. package/src/workflows/analyze-source/steps-c/step-05-recommend.md +1 -1
  37. package/src/workflows/analyze-source/steps-c/step-06-generate-briefs.md +2 -2
  38. package/src/workflows/analyze-source/workflow.md +2 -2
  39. package/src/workflows/audit-skill/data/severity-rules.md +1 -1
  40. package/src/workflows/audit-skill/steps-c/step-01-init.md +1 -0
  41. package/src/workflows/audit-skill/steps-c/step-02-re-index.md +5 -0
  42. package/src/workflows/audit-skill/steps-c/step-04-semantic-diff.md +1 -1
  43. package/src/workflows/audit-skill/workflow.md +2 -1
  44. package/src/workflows/brief-skill/data/scope-templates.md +10 -0
  45. package/src/workflows/brief-skill/data/skill-brief-schema.md +25 -23
  46. package/src/workflows/brief-skill/steps-c/step-01-gather-intent.md +1 -1
  47. package/src/workflows/brief-skill/steps-c/step-05-write-brief.md +3 -0
  48. package/src/workflows/create-skill/data/skill-sections.md +12 -11
  49. package/src/workflows/create-skill/data/source-resolution-protocols.md +1 -1
  50. package/src/workflows/create-skill/steps-c/step-01-load-brief.md +13 -9
  51. package/src/workflows/create-skill/steps-c/step-03-extract.md +15 -19
  52. package/src/workflows/create-skill/steps-c/step-03b-fetch-temporal.md +3 -3
  53. package/src/workflows/create-skill/steps-c/step-03c-fetch-docs.md +3 -1
  54. package/src/workflows/create-skill/steps-c/step-04-enrich.md +1 -1
  55. package/src/workflows/create-skill/steps-c/step-05-compile.md +4 -3
  56. package/src/workflows/create-skill/steps-c/step-06-validate.md +2 -2
  57. package/src/workflows/create-skill/steps-c/step-07-generate-artifacts.md +33 -44
  58. package/src/workflows/create-skill/steps-c/step-08-report.md +25 -11
  59. package/src/workflows/create-skill/workflow.md +2 -2
  60. package/src/workflows/create-stack-skill/data/compose-mode-rules.md +65 -0
  61. package/src/workflows/create-stack-skill/data/stack-skill-template.md +28 -6
  62. package/src/workflows/create-stack-skill/steps-c/step-01-init.md +23 -7
  63. package/src/workflows/create-stack-skill/steps-c/step-02-detect-manifests.md +35 -2
  64. package/src/workflows/create-stack-skill/steps-c/step-03-rank-and-confirm.md +26 -2
  65. package/src/workflows/create-stack-skill/steps-c/step-04-parallel-extract.md +24 -0
  66. package/src/workflows/create-stack-skill/steps-c/step-05-detect-integrations.md +30 -2
  67. package/src/workflows/create-stack-skill/steps-c/step-06-compile-stack.md +5 -1
  68. package/src/workflows/create-stack-skill/steps-c/step-07-generate-output.md +53 -5
  69. package/src/workflows/create-stack-skill/steps-c/step-08-validate.md +3 -3
  70. package/src/workflows/create-stack-skill/steps-c/step-09-report.md +8 -2
  71. package/src/workflows/create-stack-skill/workflow.md +2 -2
  72. package/src/workflows/export-skill/data/managed-section-format.md +8 -1
  73. package/src/workflows/export-skill/data/snippet-format.md +1 -1
  74. package/src/workflows/export-skill/steps-c/step-04-update-context.md +7 -2
  75. package/src/workflows/export-skill/steps-c/step-05-token-report.md +1 -1
  76. package/src/workflows/export-skill/workflow.md +3 -1
  77. package/src/workflows/quick-skill/data/skill-template.md +18 -6
  78. package/src/workflows/quick-skill/steps-c/step-04-compile.md +26 -6
  79. package/src/workflows/quick-skill/steps-c/step-05-validate.md +1 -1
  80. package/src/workflows/quick-skill/steps-c/step-06-write.md +3 -0
  81. package/src/workflows/quick-skill/workflow.md +1 -1
  82. package/src/workflows/refine-architecture/data/refinement-rules.md +102 -0
  83. package/src/workflows/refine-architecture/steps-c/step-01-init.md +188 -0
  84. package/src/workflows/refine-architecture/steps-c/step-02-gap-analysis.md +179 -0
  85. package/src/workflows/refine-architecture/steps-c/step-03-issue-detection.md +182 -0
  86. package/src/workflows/refine-architecture/steps-c/step-04-improvements.md +169 -0
  87. package/src/workflows/refine-architecture/steps-c/step-05-compile.md +200 -0
  88. package/src/workflows/refine-architecture/steps-c/step-06-report.md +147 -0
  89. package/src/workflows/refine-architecture/workflow.md +61 -0
  90. package/src/workflows/setup-forge/steps-c/step-01-detect-and-tier.md +2 -1
  91. package/src/workflows/setup-forge/steps-c/step-01b-ccc-index.md +1 -1
  92. package/src/workflows/setup-forge/steps-c/step-02-write-config.md +15 -16
  93. package/src/workflows/setup-forge/steps-c/step-03-auto-index.md +1 -1
  94. package/src/workflows/setup-forge/steps-c/step-04-report.md +2 -2
  95. package/src/workflows/setup-forge/workflow.md +3 -2
  96. package/src/workflows/test-skill/data/scoring-rules.md +3 -0
  97. package/src/workflows/test-skill/data/source-access-protocol.md +1 -1
  98. package/src/workflows/test-skill/steps-c/step-01-init.md +1 -0
  99. package/src/workflows/test-skill/steps-c/step-02-detect-mode.md +2 -0
  100. package/src/workflows/test-skill/workflow.md +2 -2
  101. package/src/workflows/update-skill/steps-c/step-02-detect-changes.md +2 -2
  102. package/src/workflows/update-skill/steps-c/step-03-re-extract.md +5 -2
  103. package/src/workflows/update-skill/steps-c/step-05-validate.md +7 -11
  104. package/src/workflows/update-skill/steps-c/step-06-write.md +5 -2
  105. package/src/workflows/update-skill/workflow.md +1 -1
  106. package/src/workflows/verify-stack/data/coverage-patterns.md +45 -0
  107. package/src/workflows/verify-stack/data/feasibility-report-template.md +63 -0
  108. package/src/workflows/verify-stack/data/integration-verification-rules.md +73 -0
  109. package/src/workflows/verify-stack/steps-c/step-01-init.md +174 -0
  110. package/src/workflows/verify-stack/steps-c/step-02-coverage.md +181 -0
  111. package/src/workflows/verify-stack/steps-c/step-03-integrations.md +195 -0
  112. package/src/workflows/verify-stack/steps-c/step-04-requirements.md +168 -0
  113. package/src/workflows/verify-stack/steps-c/step-05-synthesize.md +191 -0
  114. package/src/workflows/verify-stack/steps-c/step-06-report.md +197 -0
  115. package/src/workflows/verify-stack/workflow.md +61 -0
  116. package/src/workflows/analyze-source/validation-report.md +0 -657
  117. package/src/workflows/analyze-source/workflow-plan-analyze-source.md +0 -385
  118. package/src/workflows/audit-skill/validation-report.md +0 -545
  119. package/src/workflows/audit-skill/workflow-plan-audit-skill.md +0 -318
  120. package/src/workflows/brief-skill/validation-report.md +0 -630
  121. package/src/workflows/brief-skill/workflow-plan-brief-skill.md +0 -360
  122. package/src/workflows/create-skill/validation-report.md +0 -189
  123. package/src/workflows/create-skill/workflow-plan-create-skill.md +0 -525
  124. package/src/workflows/create-stack-skill/validation-report.md +0 -401
  125. package/src/workflows/create-stack-skill/workflow-plan-create-stack-skill.md +0 -481
  126. package/src/workflows/export-skill/validation-report.md +0 -263
  127. package/src/workflows/export-skill/workflow-plan-export-skill.md +0 -369
  128. package/src/workflows/quick-skill/validation-report.md +0 -543
  129. package/src/workflows/quick-skill/workflow-plan-quick-skill.md +0 -405
  130. package/src/workflows/setup-forge/validation-report.md +0 -504
  131. package/src/workflows/setup-forge/workflow-plan-setup-forge.md +0 -430
  132. package/src/workflows/test-skill/validation-report.md +0 -390
  133. package/src/workflows/test-skill/workflow-plan-test-skill.md +0 -292
  134. package/src/workflows/update-skill/data/tier-degradation-rules.md +0 -46
  135. package/src/workflows/update-skill/validation-report.md +0 -559
  136. package/src/workflows/update-skill/workflow-plan-update-skill.md +0 -441
@@ -0,0 +1,200 @@
1
+ ---
2
+ name: 'step-05-compile'
3
+ description: 'Produce the refined architecture document by annotating the original with gaps, issues, and improvements'
4
+
5
+ nextStepFile: './step-06-report.md'
6
+ outputFile: '{output_folder}/refined-architecture-{project_name}.md'
7
+ ---
8
+
9
+ # Step 5: Compile Refined Architecture
10
+
11
+ ## STEP GOAL:
12
+
13
+ Produce the refined architecture document by starting with the original as a base, adding gap-fill subsections, issue callout blocks, and improvement suggestions. Append a Refinement Summary. Present for user review before finalizing.
14
+
15
+ ## MANDATORY EXECUTION RULES (READ FIRST):
16
+
17
+ ### Universal Rules:
18
+
19
+ - 📖 CRITICAL: Read the complete step file before taking any action
20
+ - ⚙️ 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
21
+ - ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
22
+
23
+ ### Role Reinforcement:
24
+
25
+ - ✅ You are an architecture refinement analyst compiling the final refined document
26
+ - ✅ Additive, not destructive — preserve every word of the original, only add refinements
27
+ - ✅ The document must be in `{document_output_language}`
28
+
29
+ ### Step-Specific Rules:
30
+
31
+ - 🚫 FORBIDDEN to discover new gaps, issues, or improvements — use only what Steps 02-04 produced
32
+ - 🚫 FORBIDDEN to delete, reword, or rearrange original architecture content
33
+ - 💬 Present compiled document for user review (Gate checkpoint)
34
+
35
+ ## EXECUTION PROTOCOLS:
36
+
37
+ - Compile refined architecture from original + findings from Steps 02-04
38
+ - Write output to {outputFile}, wait for user approval before proceeding
39
+
40
+ ## CONTEXT BOUNDARIES:
41
+
42
+ - From Steps 01-04: Architecture document, skill inventory, gap/issue/improvement findings
43
+ - This step produces: The refined architecture document at {outputFile}
44
+
45
+ ## MANDATORY SEQUENCE
46
+
47
+ **CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
48
+
49
+ ### 1. Prepare the Original as Base
50
+
51
+ Load the complete original architecture document.
52
+
53
+ This is the base. Every line of the original MUST appear in the refined document, unmodified.
54
+
55
+ **Context recovery check:** If gap, issue, or improvement findings from Steps 02-04 are not available in context (e.g., due to context degradation in long runs), attempt to read the durability state from `{forge_data_folder}/ra-state-{project_name}.md`. Parse the `<!-- [RA-GAPS] -->`, `<!-- [RA-ISSUES] -->`, and `<!-- [RA-IMPROVEMENTS] -->` comment blocks to recover the complete formatted findings (each block contains full citation text with evidence, not just counts). If a section is still missing or contains only summary counts after recovery, HALT: "⚠️ Context for the [Gaps|Issues|Improvements] analysis was lost and the durability state is insufficient to reconstruct findings. Re-run [RA] from the beginning — step 01 will reset the state file, then steps 02-04 will rebuild all findings."
56
+
57
+ ### 2. Insert Gap-Fill Subsections
58
+
59
+ For each gap finding from Step 02:
60
+
61
+ **Locate the most relevant section** in the original architecture where this integration would logically belong.
62
+
63
+ **Insert a gap-fill subsection** one heading level deeper than the parent section:
64
+
65
+ ```markdown
66
+ #### RA: {Library A} <-> {Library B} Integration Path
67
+
68
+ > [!NOTE] **Gap Identified by Refine Architecture**
69
+ > This integration path was not documented in the original architecture but is supported by skill API evidence.
70
+
71
+ {Gap description with full evidence citation from Step 02}
72
+
73
+ **Proposed Integration:**
74
+ {Suggested architecture content describing how the libraries connect}
75
+ ```
76
+
77
+ If no clear parent section exists, collect orphan gaps into a new section: "## RA: Additional Integration Paths"
78
+
79
+ ### 3. Insert Issue Annotations
80
+
81
+ For each issue finding from Step 03:
82
+
83
+ **Locate the section** containing the contradicted claim.
84
+
85
+ **Insert an issue callout block** immediately after the contradicted text:
86
+
87
+ ```markdown
88
+ > [!WARNING] **Issue Detected by Refine Architecture** ({severity})
89
+ > Architecture states: "{quoted claim}"
90
+ > Skill reality: {contradicting evidence from skill}
91
+ > {IF VS report}: VS verdict: {verdict} for {pair}
92
+ >
93
+ > **Suggested Correction:** {specific correction with API evidence}
94
+ ```
95
+
96
+ **Placement priority:** Place each issue callout immediately after the contradicted text in its original location. If the contradicted claim is inside a Markdown list item, code block, or table row where inserting a callout block would break syntax, place the callout immediately after the enclosing block instead. If the contradicted claim cannot be precisely located, collect into "## RA: Additional Issues Detected" at the end of the document, ordered by severity (Critical first, then Major, then Minor).
97
+
98
+ ### 4. Insert Improvement Suggestions
99
+
100
+ For each improvement finding from Step 04:
101
+
102
+ **Locate the section** where the library is discussed.
103
+
104
+ **Insert an improvement subsection** one heading level deeper:
105
+
106
+ ```markdown
107
+ #### RA: Enhancement — {Improvement Title}
108
+
109
+ > [!TIP] **Improvement Suggested by Refine Architecture** ({value} value)
110
+ > {skill_name} provides `{api}` which is not currently leveraged.
111
+
112
+ {Full improvement description with evidence citation from Step 04}
113
+
114
+ **How to Incorporate:**
115
+ {Specific suggestion for updating the architecture}
116
+ ```
117
+
118
+ **Order by value:** High value improvements first, then Medium, then Low.
119
+
120
+ **Placement fallback:** If the library's only architecture mention is inside a table, code block, or Mermaid diagram where inserting a subsection would break syntax, collect into `## RA: Additional Improvements Suggested` at the end of the document.
121
+
122
+ ### 5. Add Refinement Summary Section
123
+
124
+ Append a `## Refinement Summary` section containing:
125
+
126
+ - **Header:** "Produced by: Refine Architecture workflow using {skill_count} skills" and date
127
+ - **Changes Made table** with the following rows:
128
+
129
+ | Category | Count | Breakdown |
130
+ |----------|-------|-----------|
131
+ | Gaps Filled | {gap_count} | — |
132
+ | Issues Flagged | {issue_count} | Critical: {critical_count}, Major: {major_count}, Minor: {minor_count} |
133
+ | Improvements Suggested | {improvement_count} | High: {high_count}, Medium: {medium_count}, Low: {low_count} |
134
+ | Skills Used as Evidence | {skill_count} | — |
135
+ - **Evidence Sources table:** Each skill name and how many refinements cite it
136
+ - **Next Steps:** Review `[!WARNING]` issues, `[!NOTE]` gaps, `[!TIP]` improvements; then run **[SS] Stack Skill** to compose your individual skills into a unified stack skill, providing this refined architecture doc when prompted
137
+
138
+ ### 6. Write the Refined Document
139
+
140
+ Write the complete refined architecture to `{outputFile}`.
141
+
142
+ ### 7. Present Compiled Document for Review
143
+
144
+ "**Refined architecture compiled. Please review:**
145
+
146
+ ---
147
+
148
+ {Display the Refinement Summary section only — not the full document}
149
+
150
+ ---
151
+
152
+ **The full refined document has been written to:** `{outputFile}`
153
+
154
+ Please review the refinements:
155
+ - {gap_count} gap-fill subsections added
156
+ - {issue_count} issue annotations inserted
157
+ - {improvement_count} improvement suggestions included
158
+ - Original architecture content preserved in full
159
+
160
+ **Does the refinement look correct?**"
161
+
162
+ ### 8. Present MENU OPTIONS
163
+
164
+ Display: **Select:** [C] Continue to Final Report
165
+
166
+ #### EXECUTION RULES:
167
+
168
+ - ALWAYS halt and wait for user input after presenting compilation
169
+ - ONLY proceed to next step when user approves and selects 'C'
170
+
171
+ #### Menu Handling Logic:
172
+
173
+ - IF C: Load, read entire file, then execute {nextStepFile}
174
+ - IF Any other: Process as feedback, adjust specific refinements in the document, rewrite {outputFile}, redisplay preview, then [Redisplay Menu Options](#8-present-menu-options)
175
+
176
+ ---
177
+
178
+ ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
179
+
180
+ ### ✅ SUCCESS:
181
+
182
+ - Original architecture document preserved in full without modifications
183
+ - Gap-fill subsections inserted at logical locations with evidence citations
184
+ - Issue callout blocks inserted adjacent to contradicted claims with severity
185
+ - Improvement suggestions inserted with value ratings and evidence
186
+ - Refinement Summary section appended with accurate counts
187
+ - Refined document written to {outputFile}
188
+ - User reviewed and approved compilation
189
+ - Proceeded to step 06 only after user selected C
190
+
191
+ ### ❌ SYSTEM FAILURE:
192
+
193
+ - Deleting, rewording, or rearranging original architecture content
194
+ - Discovering new findings not from Steps 02-04
195
+ - Inserting refinements without evidence citations
196
+ - Proceeding without user review (Gate checkpoint)
197
+ - Not writing the document to {outputFile} before presenting for review
198
+ - Hardcoded paths instead of frontmatter variables
199
+
200
+ **Master Rule:** Additive only. Preserve the original. Get user approval before proceeding.
@@ -0,0 +1,147 @@
1
+ ---
2
+ name: 'step-06-report'
3
+ description: 'Present refinement summary to user with counts, next steps, and review options'
4
+
5
+ outputFile: '{output_folder}/refined-architecture-{project_name}.md'
6
+ ---
7
+
8
+ # Step 6: Present Report
9
+
10
+ ## STEP GOAL:
11
+
12
+ Present the complete refinement summary to the user. Display counts of gaps filled, issues flagged, and improvements suggested. Provide the output file path and recommend next steps. Offer the user options to review changes in detail or exit. This is the FINAL step — no nextStepFile.
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 an architecture refinement analyst delivering the final summary
25
+ - ✅ Present findings clearly and concisely — the user needs to decide which refinements to keep
26
+ - ✅ Next step recommendations must be specific and actionable
27
+
28
+ ### Step-Specific Rules:
29
+
30
+ - 🎯 Focus ONLY on presenting the completed refinement — no new analysis
31
+ - 🚫 FORBIDDEN to discover new gaps, issues, or improvements
32
+ - 🚫 FORBIDDEN to modify the refined document — only read and present
33
+ - 📋 This is the FINAL step — no nextStepFile
34
+
35
+ ## EXECUTION PROTOCOLS:
36
+
37
+ - Load and present the refinement summary from the compiled document
38
+ - No new content written — document was finalized in Step 05
39
+ - Present summary, next steps, and review options clearly
40
+ - Read-only presentation — do not alter document data
41
+
42
+ ## CONTEXT BOUNDARIES:
43
+
44
+ - Available: Complete {outputFile} with all refinements from Steps 02-05
45
+ - Focus: Clear, actionable presentation of refinement results
46
+ - Limits: Do not add new analysis or change any refinements
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 Refined Document
54
+
55
+ Read the `{outputFile}` to have all data available for presentation.
56
+
57
+ Verify the `## Refinement Summary` section is present. If it is absent, HALT: "⚠️ Refinement Summary not found in `{outputFile}`. Step 05 may not have completed successfully. Re-run [RA] from the beginning."
58
+
59
+ **Extract metrics from the Refinement Summary section:** Parse `gap_count`, `issue_count`, `improvement_count`, `critical_count`, `major_count`, `minor_count`, `high_count`, `medium_count`, `low_count`, and `skill_count` from the Changes Made table and Evidence Sources table. Use these extracted values in the summary table and next-steps sections below.
60
+
61
+ ### 2. Display Summary
62
+
63
+ "**Refine Architecture — Refinement Complete**
64
+
65
+ ---
66
+
67
+ | Metric | Count |
68
+ |--------|-------|
69
+ | **Gaps Filled** | {gap_count} |
70
+ | **Issues Flagged** | {issue_count} (Critical: {critical_count}, Major: {major_count}, Minor: {minor_count}) |
71
+ | **Improvements Suggested** | {improvement_count} (High: {high_count}, Medium: {medium_count}, Low: {low_count}) |
72
+ | **Skills Used as Evidence** | {skill_count} |
73
+
74
+ **Evidence Sources:** (which skills contributed evidence)
75
+
76
+ {Display the Evidence Sources table from the Refinement Summary section of the document}
77
+
78
+ ---
79
+
80
+ **Your refined architecture is at:** `{outputFile}`
81
+
82
+ The original architecture content is fully preserved. All refinements are clearly marked with `[!NOTE]`, `[!WARNING]`, and `[!TIP]` callout blocks that you can accept, modify, or remove."
83
+
84
+ ### 3. Present Next Steps
85
+
86
+ "**Recommended next steps:**
87
+
88
+ 1. **Review the refined document** — accept, modify, or remove individual refinements
89
+ 2. **[SS] Stack Skill** — compose-mode activates automatically when SS detects existing individual skills without a codebase; provide this refined architecture doc as the architecture document when prompted
90
+ 3. **Re-run [VS] Verify Stack** if you made changes based on issue corrections — to confirm resolution
91
+
92
+ {IF issues with Critical severity were found:}
93
+ **⚠️ Attention:** {critical_count} critical issue(s) were flagged. These indicate fundamental contradictions between your architecture and the verified API surfaces. Address these before proceeding to stack skill composition."
94
+
95
+ ### 4. Present Menu
96
+
97
+ Display: "**[R] Review changes in detail** | **[X] Exit refinement**"
98
+
99
+ #### Menu Handling Logic:
100
+
101
+ - **IF R:** Walk through each refinement with its full evidence citation:
102
+ 1. First, all gaps with their evidence and proposed integration paths
103
+ 2. Then, all issues ordered by severity with architecture claim vs. skill reality
104
+ 3. Finally, all improvements ordered by value with untapped capability details
105
+ After completing the walkthrough, redisplay the menu.
106
+
107
+ - **IF X:** "**Refined architecture saved to:** `{outputFile}`
108
+
109
+ Re-run **[RA] Refine Architecture** anytime after updating your skills or architecture document.
110
+
111
+ **Architecture refinement complete.**"
112
+
113
+ #### EXECUTION RULES:
114
+
115
+ - ALWAYS halt and wait for user input after presenting the menu
116
+ - R may be selected multiple times — always walk through all refinements
117
+ - X ends the workflow
118
+
119
+ ## CRITICAL STEP COMPLETION NOTE
120
+
121
+ This is the final step of the refine-architecture workflow. When the user selects X, the workflow is complete. The refined architecture at `{outputFile}` contains the full original content plus all gap-fills, issue annotations, and improvement suggestions backed by skill API evidence.
122
+
123
+ ---
124
+
125
+ ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
126
+
127
+ ### ✅ SUCCESS:
128
+
129
+ - Refined document loaded and verified for Refinement Summary section
130
+ - Summary displayed with accurate counts for gaps, issues, and improvements
131
+ - Output file path displayed prominently
132
+ - Next steps presented with specific workflow recommendations
133
+ - Critical issues highlighted if present
134
+ - Menu presented with R and X options
135
+ - Detailed review walkthrough available on R selection with full evidence citations
136
+ - Workflow exits cleanly on X with saved file path
137
+
138
+ ### ❌ SYSTEM FAILURE:
139
+
140
+ - Discovering new findings or changing refinements in this step
141
+ - Modifying the refined document content
142
+ - Not presenting the menu
143
+ - Not displaying the document save path on exit
144
+ - Inaccurate counts in the summary
145
+ - Hardcoded paths instead of frontmatter variables
146
+
147
+ **Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: refine-architecture
3
+ description: Improve architecture doc using verified skill data and VS feasibility findings
4
+ web_bundle: true
5
+ installed_path: '{project-root}/_bmad/skf/workflows/skillforge/refine-architecture'
6
+ ---
7
+
8
+ # Refine Architecture
9
+
10
+ **Goal:** Take an original architecture document + generated skills + optional VS feasibility report, and produce a refined architecture with gaps filled, issues flagged, and improvements suggested — all backed by specific API evidence from the generated skills.
11
+
12
+ **Your Role:** In addition to your name, communication_style, and persona, you are also an architecture refinement analyst operating in Ferris Architect mode. You bring expertise in API surface analysis, integration gap detection, and evidence-backed architecture improvement, while the user brings their architecture vision and generated skills. Execute with analytical precision — every suggestion must cite specific APIs from the generated skills. Evidence-backed suggestions, not speculation.
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
+ - **Additive, Not Destructive**: This workflow enhances the original architecture — it never deletes original content, only adds annotations, subsections, and suggestions
26
+ - **Evidence-Backed Refinement**: Every gap, issue, or improvement 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
+ - 📝 **DOCUMENT-PRODUCING**: This workflow outputs a refined architecture markdown file
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`, `document_output_language`
57
+ - `skills_output_folder`, `forge_data_folder`, `output_folder`
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.
@@ -45,6 +45,7 @@ Verify availability of the four forge tools (ast-grep, gh, qmd, ccc), read any e
45
45
  - This is the first step — no prior context exists
46
46
  - Available: forge-tier.yaml and preferences.yaml may exist from prior runs
47
47
  - Focus: tool verification and tier calculation only
48
+ - Produces: `{detected_tools}`, `{calculated_tier}`, `{previous_tier}`, `{tier_override}` for downstream steps
48
49
  - Dependencies: none — this step bootstraps everything
49
50
 
50
51
  ## MANDATORY SEQUENCE
@@ -104,7 +105,7 @@ This is informational only — security scan availability does NOT affect the ti
104
105
 
105
106
  **Step B — Daemon health:** Run `ccc doctor`
106
107
 
107
- - If daemon is running and model check OK: record `{ccc: true}` and store version string from output
108
+ - If daemon is running and model check OK: record `{ccc: true, ccc_daemon: "healthy"}` and store version string from output
108
109
  - If daemon is not running: record `{ccc: true, ccc_daemon: "stopped"}` — binary available, daemon needs starting. Step-01b will handle this.
109
110
  - If error or timeout: record `{ccc: true, ccc_daemon: "error"}` — binary works but daemon has issues.
110
111
 
@@ -71,7 +71,7 @@ Check the `ccc_index` section:
71
71
  - Proceed to section 4
72
72
 
73
73
  - If `ccc_index.indexed_path` matches `{project-root}` but timestamp is older than threshold:
74
- - Store `{ccc_index_result: "stale", ccc_indexed_path: {existing path}, ccc_last_indexed: {existing timestamp}}` — proceed to section 3 for re-index
74
+ - Note index is stale — proceed to section 3 for re-index (section 3 will overwrite `ccc_index_result` to `"created"` or `"failed"`)
75
75
 
76
76
  - If `ccc_index` is missing, has null values, or path doesn't match:
77
77
  - Proceed to section 3 for initial index
@@ -41,10 +41,10 @@ Write the detected tool availability and calculated tier to forge-tier.yaml, cre
41
41
 
42
42
  ## CONTEXT BOUNDARIES:
43
43
 
44
- - Available: {detected_tools}, {calculated_tier}, {previous_tier} from step-01
44
+ - Available: {detected_tools}, {calculated_tier}, {previous_tier} from step-01; {ccc_index_result}, {ccc_indexed_path}, {ccc_last_indexed} from step-01b
45
45
  - Focus: file I/O operations only
46
46
  - Limits: do not modify preferences.yaml if it exists
47
- - Dependencies: step-01 must have completed with tool detection results
47
+ - Dependencies: step-01 and step-01b must have completed with tool detection and CCC index results
48
48
 
49
49
  ## MANDATORY SEQUENCE
50
50
 
@@ -76,18 +76,19 @@ tier_detected_at: {current ISO timestamp}
76
76
  ccc_index:
77
77
  indexed_path: {ccc_indexed_path from step-01b, or ~}
78
78
  last_indexed: {ccc_last_indexed from step-01b, or ~}
79
- status: {ccc_index_status from step-01b: "fresh"|"created"|"none"|"failed"}
79
+ status: {ccc_index_result from step-01b: "fresh"|"created"|"none"|"failed"}
80
80
  staleness_threshold_hours: 24
81
81
 
82
82
  # CCC index registry (tracks which source paths have been indexed for skill workflows)
83
- ccc_index_registry: []
83
+ # PRESERVE existing entries on re-runs — see Note below
84
+ ccc_index_registry: {preserved from existing forge-tier.yaml, or [] if first run}
84
85
 
85
86
  # QMD collection registry (populated by create-skill, consumed by audit/update-skill)
86
- # Each entry tracks a QMD collection created during skill workflows
87
- qmd_collections: []
87
+ # PRESERVE existing entries on re-runs see Note below
88
+ qmd_collections: {preserved from existing forge-tier.yaml, or [] if first run}
88
89
  ```
89
90
 
90
- **Note on re-runs:** The `qmd_collections` and `ccc_index_registry` arrays must be preserved across re-runs. Before overwriting forge-tier.yaml, read the existing `qmd_collections` and `ccc_index_registry` arrays and re-inject them into the new write. These arrays are populated by create-skill workflows and must not be reset.
91
+ **Note on re-runs:** The `qmd_collections`, `ccc_index_registry` arrays, and `staleness_threshold_hours` value must be preserved across re-runs. Before overwriting forge-tier.yaml, read these existing values and re-inject them into the new write. These values are populated by create-skill workflows or customized by users and must not be reset.
91
92
 
92
93
  **This file is ALWAYS overwritten** on every run — it reflects current tool state.
93
94
 
@@ -110,27 +111,25 @@ tier_override: ~
110
111
  # Passive context injection (set to false to skip snippet generation and CLAUDE.md updates during export)
111
112
  passive_context: true
112
113
 
113
- # Language defaults
114
- output_language: ~
115
- skill_format_version: ~
116
-
117
- # Output preferences
118
- citation_style: ~
119
- confidence_display: ~
114
+ # Reserved for future use — these fields are not yet consumed by any workflow step
115
+ # output_language: ~
116
+ # skill_format_version: ~
117
+ # citation_style: ~
118
+ # confidence_display: ~
120
119
  ```
121
120
 
122
121
  **If it DOES exist:** Do not modify. Preserve entirely.
123
122
 
124
123
  ### 3. Ensure forge-data/ Directory
125
124
 
126
- Check if `{project-root}/forge-data/` directory exists:
125
+ Check if `{forge_data_folder}` directory exists:
127
126
 
128
127
  - If missing: create it
129
128
  - If exists: skip silently
130
129
 
131
130
  ### 4. Auto-Proceed
132
131
 
133
- "**Proceeding to auto-index check...**"
132
+ "**Proceeding to QMD collection hygiene...**"
134
133
 
135
134
  #### Menu Handling Logic:
136
135
 
@@ -59,7 +59,7 @@ For Quick and Forge tiers (without ccc), skip silently and proceed. For Forge+ t
59
59
 
60
60
  Read `{calculated_tier}` from context.
61
61
 
62
- **If tier is Quick or Forge:** Proceed directly to section 6 (Auto-Proceed) — no output, no messaging.
62
+ **If tier is Quick or Forge:** Set `{ccc_registry_stale_cleaned: 0}`. Proceed directly to section 6 (Auto-Proceed) — no output, no messaging.
63
63
 
64
64
  **If tier is Forge+:** Skip QMD hygiene (qmd is not available at Forge+). Proceed directly to section 5b (CCC Index Registry Hygiene) — no QMD output, no messaging.
65
65
 
@@ -115,10 +115,10 @@ Load and read {tierRulesData} for the tier capability descriptions and re-run me
115
115
 
116
116
  ### 3. Handle --update-spec Flag (Optional)
117
117
 
118
- **If `--update-spec` was passed:**
118
+ **If the user included `--update-spec` in their workflow invocation (e.g., `@Ferris SF --update-spec`):**
119
119
  - Attempt to fetch the latest agentskills.io specification schema
120
120
  - Use `gh` or `curl` to retrieve the spec
121
- - Store in `{project-root}/forge-data/agentskills-spec.json` (or appropriate format)
121
+ - Store in `{forge_data_folder}/agentskills-spec.json` (or appropriate format)
122
122
  - If fetch succeeds: display "agentskills.io spec updated."
123
123
  - If fetch fails: display "Could not fetch agentskills.io spec. Existing spec (if any) unchanged."
124
124
  - Do NOT fail the workflow over this — it is purely optional
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: setup-forge
3
- description: Initialize forge environment, detect tools, set tier, auto-index project
3
+ description: Initialize forge environment, detect tools, set tier, verify QMD collection hygiene
4
4
  web_bundle: true
5
5
  installed_path: '{project-root}/_bmad/skf/workflows/skillforge/setup-forge'
6
6
  ---
@@ -15,7 +15,7 @@ installed_path: '{project-root}/_bmad/skf/workflows/skillforge/setup-forge'
15
15
 
16
16
  ### Core Principles
17
17
 
18
- - **Micro-file Design**: Each step of the overall goal is a self contained instruction file that you will adhere too 1 file as directed at a time
18
+ - **Micro-file Design**: Each step of the overall goal is a self contained instruction file that you will adhere to 1 file as directed at a time
19
19
  - **Just-In-Time Loading**: Only 1 current step file will be loaded, read, and executed to completion - never load future step files until told to do so
20
20
  - **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
21
21
  - **Fully Autonomous**: All steps auto-proceed with no user interaction until the final report
@@ -44,6 +44,7 @@ installed_path: '{project-root}/_bmad/skf/workflows/skillforge/setup-forge'
44
44
  Load and read full config from {project-root}/_bmad/skf/config.yaml and resolve:
45
45
 
46
46
  - `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
47
+ - `skills_output_folder`, `forge_data_folder`, `sidecar_path`
47
48
 
48
49
  ### 2. First Step Execution
49
50
 
@@ -17,6 +17,8 @@
17
17
 
18
18
  ## Naive Mode Weight Redistribution
19
19
 
20
+ The following weights replace the default table for naive mode. The 18% coherence weight from the default table has been proportionally redistributed into these values. Do not apply a second redistribution.
21
+
20
22
  When running in naive mode (no coherence category):
21
23
  - Export Coverage: 45%
22
24
  - Signature Accuracy: 25%
@@ -38,6 +40,7 @@ tessl evaluates SKILL.md body content only — it does not read `references/*.md
38
40
  - Signature Accuracy: skipped (no AST)
39
41
  - Type Coverage: skipped (no AST)
40
42
  - Score based on: structural completeness only
43
+ - Weight redistribution: skipped categories' weights (Signature Accuracy 22% + Type Coverage 14%) redistributed proportionally to remaining active categories
41
44
 
42
45
  ### Forge Tier (ast-grep)
43
46
  - Export Coverage: AST-backed export comparison
@@ -32,7 +32,7 @@ If no provenance-map.json exists (typical for quick-skill output), fall back to
32
32
  If neither provenance-map nor metadata exports provide a usable baseline, but remote reading tools (zread, deepwiki, gh API, or similar) are available and `source_repo` is set in metadata.json, read the entry point remotely to build the export inventory from scratch. Name-matching only — no AST. Set `analysis_confidence: remote-only`.
33
33
 
34
34
  **State 5 — No source access at all:**
35
- If none of the above succeed, fall through to docs-only mode (section 0 already handles this). Set `analysis_confidence: docs-only`. Warn: "**No source access available.** Coverage check evaluates documentation self-consistency only. Re-run with local clone or remote access for source-backed verification."
35
+ If none of the above succeed, fall through to docs-only mode (as defined in step-01-init.md Section 0: pre-analysis source type detection). Set `analysis_confidence: docs-only`. Warn: "**No source access available.** Coverage check evaluates documentation self-consistency only. Re-run with local clone or remote access for source-backed verification."
36
36
 
37
37
  Set `analysis_confidence` in context for use in Section 2 analysis depth, step-05 output, and step-05 scoring.
38
38
 
@@ -150,6 +150,7 @@ testMode: ''
150
150
  forgeTier: '{detected_tier}'
151
151
  testResult: ''
152
152
  score: ''
153
+ threshold: ''
153
154
  analysisConfidence: ''
154
155
  testDate: '{current_date}'
155
156
  stepsCompleted: ['step-01-init']
@@ -86,6 +86,8 @@ Read the skill metadata (loaded in step 01) and check:
86
86
  - Default to **naive mode** (conservative — fewer checks, less chance of false negatives from missing context)
87
87
  - Note the default in the report
88
88
 
89
+ **Quick-tier adjustment (applies to both modes):** If `forge_tier` is `Quick`, Signature Accuracy and Type Coverage are skipped during scoring (no AST available). Their weights are redistributed proportionally to remaining active categories. See `scoring-rules.md` Tier-Dependent Scoring section for details.
90
+
89
91
  ### 3. Update Output Document
90
92
 
91
93
  Update `{outputFile}` frontmatter:
@@ -2,7 +2,7 @@
2
2
  name: test-skill
3
3
  description: Cognitive completeness verification. Naive and contextual modes.
4
4
  web_bundle: true
5
- installed_path: '{project-root}/_bmad/skf/workflows/test-skill'
5
+ installed_path: '{project-root}/_bmad/skf/workflows/skillforge/test-skill'
6
6
  ---
7
7
 
8
8
  # Test Skill
@@ -15,7 +15,7 @@ installed_path: '{project-root}/_bmad/skf/workflows/test-skill'
15
15
 
16
16
  ### Core Principles
17
17
 
18
- - **Micro-file Design**: Each step of the overall goal is a self contained instruction file that you will adhere too 1 file as directed at a time
18
+ - **Micro-file Design**: Each step of the overall goal is a self contained instruction file that you will adhere to 1 file as directed at a time
19
19
  - **Just-In-Time Loading**: Only 1 current step file will be loaded, read, and executed to completion - never load future step files until told to do so
20
20
  - **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
21
21
  - **State Tracking**: Document progress in output file frontmatter using `stepsCompleted` array
@@ -110,7 +110,7 @@ Launch subprocesses in parallel that compare source state against provenance map
110
110
 
111
111
  **Category C — Rename detection:**
112
112
  - Cross-reference deleted files/exports with added files/exports
113
- - If content similarity > 80%: classify as RENAMED instead of deleted+added
113
+ - If content similarity > 80%: classify as RENAMED instead of deleted+added. **Similarity mechanism by tier:** Quick: compare file size ratio (within 20%) and export name overlap (>70% of exports match by name). Forge and above: use ast-grep to compare export signatures between the deleted and added files. Forge+/Deep: use CCC semantic similarity when available
114
114
 
115
115
  **Category D — Script/asset file changes:**
116
116
  - Compare `file_entries` from provenance-map.json against current source files
@@ -177,7 +177,7 @@ The skill `{skill_name}` is current — no update needed.
177
177
  | Files moved/renamed | {count} |
178
178
  | Exports affected | {total_export_changes} |
179
179
 
180
- **Proceeding to re-extraction of {affected_file_count} changed files...**"
180
+ **Proceeding to re-extraction of {affected_file_count if normal mode, or gap_count if gap-driven mode} changes...**"
181
181
 
182
182
  ### 6. Present MENU OPTIONS
183
183