bmad-module-skill-forge 0.9.0 → 0.10.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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "bmad-module-skill-forge",
4
- "version": "0.9.0",
4
+ "version": "0.10.0",
5
5
  "description": "BMAD module — Turn code and docs into instructions AI agents can actually follow. Progressive capability tiers (Quick/Forge/Forge+/Deep).",
6
6
  "keywords": [
7
7
  "bmad",
package/src/module.yaml CHANGED
@@ -20,6 +20,10 @@ sidecar_path:
20
20
  default: "_bmad/_memory/forger-sidecar"
21
21
  result: "{project-root}/{value}"
22
22
 
23
+ health_check_repo:
24
+ prompt: false
25
+ default: "armelhbobdad/bmad-module-skill-forge"
26
+
23
27
  # Variables from Core Config inserted:
24
28
  ## user_name
25
29
  ## communication_language
@@ -4,6 +4,7 @@ description: 'Generate skill-brief.yaml per confirmed unit, write analysis summa
4
4
 
5
5
  outputFile: '{forge_data_folder}/analyze-source-report-{project_name}.md'
6
6
  schemaFile: '../data/skill-brief-schema.md'
7
+ nextStepFile: '../../shared/health-check.md'
7
8
  ---
8
9
 
9
10
  # Step 6: Generate Briefs
@@ -212,6 +213,10 @@ nextWorkflow: '{primary recommendation}'
212
213
 
213
214
  **This analysis is complete.** To refine any brief, run the recommended next workflow. To re-analyze with different scope, run analyze-source again."
214
215
 
216
+ ### 9. Workflow Health Check
217
+
218
+ Load and execute `{nextStepFile}` for workflow self-improvement check.
219
+
215
220
  ---
216
221
 
217
222
  ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
@@ -3,6 +3,7 @@ name: 'step-06-report'
3
3
  description: 'Finalize drift report with audit summary, remediation suggestions, and provenance metadata'
4
4
 
5
5
  outputFile: '{forge_version}/drift-report-{timestamp}.md'
6
+ nextStepFile: '../../shared/health-check.md'
6
7
  ---
7
8
 
8
9
  # Step 6: Generate Report
@@ -31,7 +32,7 @@ Finalize the drift report by completing the Audit Summary with calculated metric
31
32
  - 🎯 Focus on completing the report — summary, remediation, provenance
32
33
  - 🚫 FORBIDDEN to discover new drift items or reclassify severity
33
34
  - 💬 Remediation suggestions must be practical: what to change, where, and why
34
- - 📋 This is the FINAL step — no nextStepFile
35
+ - 📋 Chains to shared health check via `{nextStepFile}` — no further steps after that
35
36
 
36
37
  ## EXECUTION PROTOCOLS:
37
38
 
@@ -189,6 +190,10 @@ Update {outputFile} frontmatter:
189
190
 
190
191
  **Audit workflow complete.**"
191
192
 
193
+ ### Workflow Health Check
194
+
195
+ Load and execute `{nextStepFile}` for workflow self-improvement check.
196
+
192
197
  ---
193
198
 
194
199
  ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
@@ -3,6 +3,7 @@ name: 'step-05-write-brief'
3
3
  description: 'Generate and write skill-brief.yaml to the forge data folder'
4
4
 
5
5
  briefSchemaFile: '../data/skill-brief-schema.md'
6
+ nextStepFile: '../../shared/health-check.md'
6
7
  ---
7
8
 
8
9
  # Step 5: Write Brief
@@ -216,13 +217,13 @@ After compilation, you can:
216
217
 
217
218
  **Brief-skill workflow complete.**"
218
219
 
219
- ### 7. End Workflow
220
+ ### 7. Workflow Health Check
220
221
 
221
- This is the final step. No next step file to load. The workflow is complete.
222
+ Load and execute `{nextStepFile}` for workflow self-improvement check.
222
223
 
223
224
  ## CRITICAL STEP COMPLETION NOTE
224
225
 
225
- This is the FINAL step of the brief-skill workflow. After writing the file and displaying the success summary, the workflow ends.
226
+ This step chains to the shared health check. After the health check completes, the brief-skill workflow is fully done.
226
227
 
227
228
  ---
228
229
 
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: 'step-08-report'
3
3
  description: 'Display compilation summary with confidence tiers, suggest next steps'
4
+ nextStepFile: '../../shared/health-check.md'
4
5
  ---
5
6
 
6
7
  # Step 8: Report
@@ -137,17 +138,19 @@ Set `batch_active: false` in `{sidecar_path}/batch-state.yaml` to prevent stale
137
138
 
138
139
  End workflow. No further steps.
139
140
 
140
- ### 6. Workflow Complete
141
+ ### 6. Workflow Health Check
141
142
 
142
- This is the final step. No `{nextStepFile}` to load.
143
+ **If not batch mode (or all batch briefs complete):**
143
144
 
144
- Display: "Forge session complete. Return to Ferris menu for further actions."
145
+ Load and execute `{nextStepFile}` for workflow self-improvement check.
146
+
147
+ **If batch mode with remaining briefs:** Skip health check — loop back to step-01 for the next brief. Health check runs after the final brief in the batch.
145
148
 
146
149
  ## CRITICAL STEP COMPLETION NOTE
147
150
 
148
- This is the FINAL STEP of the create-skill workflow. After displaying the compilation report and next steps, the workflow is complete. No further steps are loaded.
151
+ This step chains to the shared health check (unless batch mode loops back to step-01). After the health check completes, the create-skill workflow is fully done.
149
152
 
150
- For batch mode: loop back to step-01 for remaining briefs via sidecar checkpoint.
153
+ For batch mode: loop back to step-01 for remaining briefs via sidecar checkpoint. Health check runs only after the last brief.
151
154
 
152
155
  ---
153
156
 
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: 'step-09-report'
3
3
  description: 'Display final stack skill summary with confidence distribution and next workflow recommendations'
4
+ nextStepFile: '../../shared/health-check.md'
4
5
  ---
5
6
 
6
7
  # Step 9: Stack Skill Report
@@ -25,7 +26,7 @@ Display the final summary of the forged stack skill with confidence distribution
25
26
 
26
27
  ### Step-Specific Rules:
27
28
 
28
- - 🎯 This is the FINAL step — no nextStepFile
29
+ - 🎯 Chains to shared health check via `{nextStepFile}` — no further steps after that
29
30
  - 🚫 FORBIDDEN to write or modify any files — report is console output only
30
31
  - 💬 Lead with the positive summary, then details, then warnings if any
31
32
  - 🎯 Recommend next workflows based on what was produced
@@ -119,6 +120,10 @@ Forge tier: **{tier}**"
119
120
 
120
121
  **Workflow complete.**"
121
122
 
123
+ ### 7. Workflow Health Check
124
+
125
+ Load and execute `{nextStepFile}` for workflow self-improvement check.
126
+
122
127
  ---
123
128
 
124
129
  ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: 'step-03-report'
3
3
  description: 'Report drop operation results'
4
+ nextStepFile: '../../shared/health-check.md'
4
5
  ---
5
6
 
6
7
  # Step 3: Report Drop Results
@@ -100,13 +101,13 @@ restore the managed section entry.
100
101
  These require manual review — see the error-handling guidance in step-02.
101
102
  ```
102
103
 
103
- ### 3. Close the Workflow
104
+ ### 3. Workflow Health Check
104
105
 
105
- After rendering the report, the workflow is complete. Do not load any further step file — there is no `nextStepFile`.
106
+ Load and execute `{nextStepFile}` for workflow self-improvement check.
106
107
 
107
108
  ## CRITICAL STEP COMPLETION NOTE
108
109
 
109
- This is the final step. Once the report has been rendered, the drop-skill workflow is finished. Do not re-run any earlier step automatically — if the user wants another drop, they should re-invoke the workflow from the top.
110
+ This step chains to the shared health check. After the health check completes, the drop-skill workflow is fully done. Do not re-run any earlier step automatically — if the user wants another drop, they should re-invoke the workflow from the top.
110
111
 
111
112
  ---
112
113
 
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: 'step-06-summary'
3
3
  description: 'Display export summary with distribution instructions'
4
+ nextStepFile: '../../shared/health-check.md'
4
5
  ---
5
6
 
6
7
  # Step 6: Summary
@@ -130,7 +131,9 @@ npx skills add {resolved_skill_package}
130
131
 
131
132
  Replace `{resolved_skill_package}` with the absolute path to the package folder shown above (from step-02), e.g. `{skills_output_folder}/{skill-name}/{version}/{skill-name}/`.
132
133
 
133
- For other source formats (registry name, git URL, tarball, etc.), see the **Installation → Source Formats** section at <https://www.npmjs.com/package/skills>."
134
+ For other source formats (registry name, git URL, tarball, etc.), see the **Installation → Source Formats** section at <https://www.npmjs.com/package/skills>.
135
+
136
+ If the installed skill's commands are not available in the same IDE session, reload plugins (e.g. for Claude Code users, run `/reload-plugins`) or restart your AI editor. Next time you will see the command `/{skill-name}` (e.g. `/{skill-name}`)."
134
137
 
135
138
  ### 4. Dry Run Reminder (If Applicable)
136
139
 
@@ -156,9 +159,13 @@ No files were written. To run the export for real:
156
159
 
157
160
  **Skill forged and delivered.** ⚒️"
158
161
 
162
+ ### 7. Workflow Health Check
163
+
164
+ Load and execute `{nextStepFile}` for workflow self-improvement check.
165
+
159
166
  ## CRITICAL STEP COMPLETION NOTE
160
167
 
161
- This is the final step. The workflow is complete. No further steps to load.
168
+ This step chains to the shared health check. After the health check completes, the export-skill workflow is fully done.
162
169
 
163
170
  ---
164
171
 
@@ -170,6 +177,7 @@ This is the final step. The workflow is complete. No further steps to load.
170
177
  - Token counts included from step-05
171
178
  - Distribution instructions appropriate for source_authority
172
179
  - Local install command (`npx skills add {resolved_skill_package}`) displayed with npmjs.com/package/skills link for alternate source formats
180
+ - Plugin reload hint shown (reload plugins or restart AI editor to see `/{skill-name}`)
173
181
  - Dry-run correctly indicated (if applicable)
174
182
  - Recommended next workflows listed
175
183
  - Clear workflow completion signal
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: 'step-06-write'
3
3
  description: 'Write output files to skills folder and display completion summary'
4
+ nextStepFile: '../../shared/health-check.md'
4
5
  ---
5
6
 
6
7
  # Step 6: Write Output
@@ -37,14 +38,14 @@ To write the compiled SKILL.md, context-snippet.md, and metadata.json to the ski
37
38
  - 🎯 Follow the MANDATORY SEQUENCE exactly
38
39
  - 💾 Write three files to `{skill_package}` and create the `active` symlink
39
40
  - 📖 File I/O required for directory creation and file writing
40
- - 🚫 This is the final step — no next step to load
41
+ - 🚫 After writing files, chains to shared health check — no further steps after that
41
42
 
42
43
  ## CONTEXT BOUNDARIES:
43
44
 
44
45
  - Previous steps provided: skill_content, context_snippet, metadata_json, validation_result
45
46
  - Also available: resolved_url, repo_name, language, skills_output_folder
46
47
  - Focus: file writing and completion only
47
- - This is the FINAL stepworkflow ends here
48
+ - Chains to shared health check after completion no further steps after that
48
49
  - Path resolution: See `knowledge/version-paths.md` for canonical path templates. Quick-skill uses `{repo_name}` as the skill name and defaults `{version}` to `1.0.0` if not detected from the extraction inventory
49
50
 
50
51
  ## MANDATORY SEQUENCE
@@ -150,11 +151,9 @@ Please check:
150
151
 
151
152
  **Note:** This is a best-effort community skill. For deeper analysis with AST-verified exports and provenance tracking, use the full **create-skill** workflow with a skill brief."
152
153
 
153
- ### 7. End Workflow
154
+ ### 7. Workflow Health Check
154
155
 
155
- This is the final step. The workflow is complete.
156
-
157
- No next step to load. Session ends here.
156
+ Load and execute `{nextStepFile}` for workflow self-improvement check.
158
157
 
159
158
  ---
160
159
 
@@ -174,6 +173,6 @@ No next step to load. Session ends here.
174
173
  - Modifying content during write (write exactly what was compiled)
175
174
  - Not handling write failures with hard halt
176
175
  - Not displaying completion summary
177
- - Attempting to load a next step (this is final)
176
+ - Attempting to load steps beyond the shared health check
178
177
 
179
178
  **Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -3,13 +3,14 @@ name: 'step-06-report'
3
3
  description: 'Present refinement summary to user with counts, next steps, and review options'
4
4
 
5
5
  outputFile: '{output_folder}/refined-architecture-{project_name}.md'
6
+ nextStepFile: '../../shared/health-check.md'
6
7
  ---
7
8
 
8
9
  # Step 6: Present Report
9
10
 
10
11
  ## STEP GOAL:
11
12
 
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
+ 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. Chains to the shared health check on exit.
13
14
 
14
15
  ## MANDATORY EXECUTION RULES (READ FIRST):
15
16
 
@@ -30,7 +31,7 @@ Present the complete refinement summary to the user. Display counts of gaps fill
30
31
  - 🎯 Focus ONLY on presenting the completed refinement — no new analysis
31
32
  - 🚫 FORBIDDEN to discover new gaps, issues, or improvements
32
33
  - 🚫 FORBIDDEN to modify the refined document — only read and present
33
- - 📋 This is the FINAL step — no nextStepFile
34
+ - 📋 Chains to shared health check via `{nextStepFile}` — no further steps after that
34
35
 
35
36
  ## EXECUTION PROTOCOLS:
36
37
 
@@ -110,15 +111,17 @@ Re-run **[RA] Refine Architecture** anytime after updating your skills or archit
110
111
 
111
112
  **Architecture refinement complete.**"
112
113
 
114
+ Then load and execute `{nextStepFile}` for workflow self-improvement check.
115
+
113
116
  #### EXECUTION RULES:
114
117
 
115
118
  - ALWAYS halt and wait for user input after presenting the menu
116
119
  - R may be selected multiple times — always walk through all refinements
117
- - X ends the workflow
120
+ - X triggers the health check, which is the true workflow exit
118
121
 
119
122
  ## CRITICAL STEP COMPLETION NOTE
120
123
 
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.
124
+ When the user selects X, this step chains to the shared health check. After the health check completes, the refine-architecture workflow is fully done. 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
125
 
123
126
  ---
124
127
 
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: 'step-03-report'
3
3
  description: 'Report rename operation results'
4
+ nextStepFile: '../../shared/health-check.md'
4
5
  ---
5
6
 
6
7
  # Step 3: Report Rename Results
@@ -98,13 +99,13 @@ Informational: the old name still appears in SKILL.md body text (prose only, non
98
99
  - If this skill was published to agentskills.io under `{old_name}`, the registry version is unchanged — this rename is a LOCAL operation only
99
100
  ```
100
101
 
101
- ### 2. Close the Workflow
102
+ ### 2. Workflow Health Check
102
103
 
103
- After rendering the report, the workflow is complete. Do not load any further step file — there is no `nextStepFile`.
104
+ Load and execute `{nextStepFile}` for workflow self-improvement check.
104
105
 
105
106
  ## CRITICAL STEP COMPLETION NOTE
106
107
 
107
- This is the final step. Once the report has been rendered, the rename-skill workflow is finished. Do not re-run any earlier step automatically — if the user wants another rename, they should re-invoke the workflow from the top.
108
+ This step chains to the shared health check. After the health check completes, the rename-skill workflow is fully done. Do not re-run any earlier step automatically — if the user wants another rename, they should re-invoke the workflow from the top.
108
109
 
109
110
  ---
110
111
 
@@ -3,6 +3,7 @@ name: 'step-04-report'
3
3
  description: 'Display forge status report with positive capability framing'
4
4
 
5
5
  tierRulesData: '../data/tier-rules.md'
6
+ nextStepFile: '../../shared/health-check.md'
6
7
  ---
7
8
 
8
9
  # Step 4: Forge Status Report
@@ -37,7 +38,7 @@ Display the forge status report with positive capability framing, report tier ch
37
38
  - 🎯 Follow the MANDATORY SEQUENCE exactly
38
39
  - 💾 Load tier-rules.md for capability descriptions and re-run messages
39
40
  - 📖 Use context from step-01 (detected_tools, calculated_tier, previous_tier)
40
- - 🚫 This is the final step — no next step to load
41
+ - 🚫 After reporting, chains to shared health check — no further steps after that
41
42
 
42
43
  ## CONTEXT BOUNDARIES:
43
44
 
@@ -126,11 +127,13 @@ Load and read {tierRulesData} for the tier capability descriptions and re-run me
126
127
  **If `--update-spec` was NOT passed:**
127
128
  - Skip silently
128
129
 
129
- ### 4. Workflow Complete
130
+ ### 4. Workflow Health Check
130
131
 
131
- This is the final step. The setup-forge workflow is now complete.
132
+ Load and execute `{nextStepFile}` for workflow self-improvement check.
132
133
 
133
- No next step to load. The workflow ends here.
134
+ ## CRITICAL STEP COMPLETION NOTE
135
+
136
+ This step chains to the shared health check. After the health check completes, the setup-forge workflow is fully done.
134
137
 
135
138
  ---
136
139
 
@@ -151,6 +154,6 @@ No next step to load. The workflow ends here.
151
154
  - Listing tools that are NOT available
152
155
  - Not using tier capability descriptions from tier-rules.md
153
156
  - Not reporting tier change on re-run
154
- - Attempting to load a next step (this is the final step)
157
+ - Attempting to load steps beyond the shared health check
155
158
 
156
159
  **Master Rule:** The report must leave users feeling confident about their forge capabilities, not anxious about what they're missing. Positive framing only.
@@ -0,0 +1,231 @@
1
+ ---
2
+ name: 'health-check'
3
+ description: 'Workflow self-improvement health check — captures real friction as GitHub issues'
4
+ # No nextStepFile — this is always the terminal step
5
+ healthCheckRepo: '{health_check_repo}'
6
+ localFallbackFolder: '{output_folder}/improvement-queue'
7
+ ---
8
+
9
+ # Health Check: Workflow Self-Improvement
10
+
11
+ ## STEP GOAL:
12
+
13
+ Reflect on the workflow that just completed. If real friction, bugs, or gaps were encountered in the SKF workflow instructions, capture them as structured findings for the user to review and optionally submit as GitHub issues.
14
+
15
+ **Zero overhead for clean runs.** If nothing went wrong, say so and exit immediately.
16
+
17
+ ## MANDATORY EXECUTION RULES:
18
+
19
+ ### Universal Rules:
20
+ - Read the complete step file before taking any action
21
+ - Speak in `{communication_language}`
22
+
23
+ ### Role Reinforcement:
24
+ - You are a **self-improvement auditor** — honest, precise, evidence-based
25
+ - You report ONLY what you actually experienced during THIS session
26
+ - You are NOT a creative writer looking for things to say
27
+
28
+ ### Anti-Hallucination Rules:
29
+ - **DO NOT FABRICATE ISSUES.** If the workflow ran smoothly, say so and exit. Inventing issues to appear thorough is a SYSTEM FAILURE.
30
+ - Only report issues you **ACTUALLY encountered** during THIS workflow execution
31
+ - Every finding MUST cite the **specific step file path and section** where the issue occurred
32
+ - If you are unsure whether something was a real issue or your own confusion, DO NOT report it
33
+ - Reporting zero issues is the EXPECTED outcome for a well-designed workflow
34
+
35
+ ---
36
+
37
+ ## MANDATORY SEQUENCE
38
+
39
+ ### 1. Read Workflow Context
40
+
41
+ From the current session context, identify:
42
+ - **Workflow name** — which workflow just completed
43
+ - **Steps executed** — which step files were loaded and followed
44
+ - **Any friction points** — moments where instructions were unclear, wrong, contradictory, or missing
45
+
46
+ ### 2. Reflect on Execution
47
+
48
+ Silently review the workflow execution. Ask yourself:
49
+
50
+ - Did any step instruction lead me astray or cause unnecessary back-and-forth with the user?
51
+ - Was any step ambiguous, causing me to guess rather than follow clear guidance?
52
+ - Did I encounter a scenario the workflow didn't account for?
53
+ - Were any step instructions wrong or contradictory?
54
+
55
+ **If the answer to ALL of these is "no":**
56
+
57
+ Display:
58
+
59
+ "**Health Check: Clean run.** No workflow issues to report.
60
+
61
+ Workflow complete."
62
+
63
+ **STOP HERE. Do not proceed further. The workflow is done.**
64
+
65
+ ### 3. Present Findings (Only If Issues Exist)
66
+
67
+ For each genuine finding, present it in this format:
68
+
69
+ "**Workflow Health Check — {N} finding(s)**
70
+
71
+ ---
72
+
73
+ **Finding {i}:**
74
+
75
+ | Field | Value |
76
+ |-------|-------|
77
+ | **Severity** | `bug` / `friction` / `gap` |
78
+ | **Workflow** | {workflow name} |
79
+ | **Step File** | `src/workflows/{workflow}/{step-file-path}` |
80
+ | **Section** | {the specific section or instruction number} |
81
+
82
+ **What happened:**
83
+ {Description of the actual issue encountered during execution}
84
+
85
+ **Evidence:**
86
+ {What specifically went wrong — error, confusion, user friction, missing guidance}
87
+
88
+ **Suggested improvement:**
89
+ {Concrete, actionable change to the step file or data}
90
+
91
+ ---"
92
+
93
+ **Severity definitions:**
94
+ - **`bug`** — Step instructions were wrong or contradictory
95
+ - **`friction`** — Step worked but was unclear, ambiguous, or caused unnecessary back-and-forth
96
+ - **`gap`** — A scenario arose that the workflow didn't account for at all
97
+
98
+ ### 4. User Review Gate
99
+
100
+ After presenting all findings, ask:
101
+
102
+ "**Submit these findings?**
103
+
104
+ - **[Y]** Yes — submit all findings
105
+ - **[N]** No — discard all findings
106
+ - **[E]** Edit — let me revise before submitting
107
+
108
+ _You are the final filter. Reject any finding that doesn't reflect a real issue you observed._"
109
+
110
+ **HALT and wait for user input.**
111
+
112
+ #### Menu Handling:
113
+
114
+ - **IF Y:** Proceed to step 5
115
+ - **IF N:** Display "Findings discarded. Workflow complete." — STOP
116
+ - **IF E:** Let user specify which findings to keep, modify, or remove. Then re-present the revised list and ask again.
117
+
118
+ ### 5. Submit Findings
119
+
120
+ **Check GitHub CLI availability:**
121
+
122
+ Run `gh auth status` to determine if the `gh` CLI is authenticated.
123
+
124
+ #### IF `gh` is available:
125
+
126
+ For each confirmed finding, create a GitHub issue:
127
+
128
+ **Command:**
129
+ ```
130
+ gh issue create \
131
+ --repo {healthCheckRepo} \
132
+ --title "[health-check] [{severity}] {workflow}: {short description}" \
133
+ --label "health-check,workflow-improvement,{severity}" \
134
+ --body "{formatted body using issue template structure}"
135
+ ```
136
+
137
+ **Issue body format:**
138
+ ```markdown
139
+ ## Workflow
140
+ {workflow name}
141
+
142
+ ## Step File
143
+ `{exact step file path relative to src/}`
144
+
145
+ ## Severity
146
+ {bug | friction | gap}
147
+
148
+ ## Finding
149
+ {description of what went wrong}
150
+
151
+ ## Evidence
152
+ {what actually happened during execution}
153
+
154
+ ## Suggested Improvement
155
+ {concrete change to improve the workflow}
156
+
157
+ ## Environment
158
+ - **Date:** {date}
159
+ - **OS:** {detected OS, e.g. macOS 15.2, Ubuntu 24.04, Windows 11}
160
+ - **AI Editor:** {the AI editor or CLI being used, e.g. Claude Code, Cursor, Windsurf}
161
+ - **Model:** {the model executing this workflow, e.g. Claude Opus 4.6, Claude Sonnet 4.6}
162
+ - **Forge Tier:** {if available from sidecar, otherwise "N/A"}
163
+ - **SKF Version:** {read from {project-root}/_bmad/skf/VERSION, otherwise "N/A"}
164
+ ```
165
+
166
+ After creating all issues, display:
167
+
168
+ "**{N} issue(s) created on {healthCheckRepo}:**
169
+ {list each issue URL}
170
+
171
+ Workflow complete."
172
+
173
+ #### IF `gh` is NOT available:
174
+
175
+ For each confirmed finding, write a local file to `{localFallbackFolder}/`:
176
+
177
+ **Filename:** `hc-{workflow}-{timestamp}.md` (one file per finding, timestamp as YYYYMMDD-HHmmss)
178
+
179
+ **File content:** Same structured format as the issue body above, with YAML frontmatter:
180
+
181
+ ```yaml
182
+ ---
183
+ type: workflow-health-finding
184
+ workflow: {workflow name}
185
+ step_file: {step file path}
186
+ severity: {bug | friction | gap}
187
+ date: {ISO date}
188
+ ---
189
+ ```
190
+
191
+ After writing all files, display:
192
+
193
+ "**{N} finding(s) saved locally:**
194
+ {list each file path}
195
+
196
+ GitHub CLI is not available. To submit these as issues, run:
197
+ `gh issue create --repo {healthCheckRepo} --title \"[title]\" --body-file {file-path}`
198
+
199
+ Or open them manually at: <https://github.com/{healthCheckRepo}/issues/new/choose>
200
+
201
+ Workflow complete."
202
+
203
+ ---
204
+
205
+ ## CRITICAL STEP COMPLETION NOTE
206
+
207
+ This is the TERMINAL step — shared across all SKF workflows. After the health check completes (clean run or findings submitted/discarded), the workflow is fully done. No further steps to load.
208
+
209
+ ---
210
+
211
+ ## SYSTEM SUCCESS/FAILURE METRICS
212
+
213
+ ### SUCCESS:
214
+
215
+ - Clean runs exit immediately with no findings (most common outcome)
216
+ - Findings cite specific step files and sections with real evidence
217
+ - User review gate presented before any submission
218
+ - GitHub issues created with correct labels and structured body (when `gh` available)
219
+ - Local fallback files written with clear manual submission instructions (when `gh` unavailable)
220
+ - Workflow ends cleanly
221
+
222
+ ### SYSTEM FAILURE:
223
+
224
+ - Fabricating issues that were not actually encountered during the session
225
+ - Reporting vague issues without step file citations ("the workflow was confusing")
226
+ - Skipping the user review gate
227
+ - Creating issues without user confirmation
228
+ - Not providing the local fallback when `gh` is unavailable
229
+ - Continuing to load steps after this one (this is terminal)
230
+
231
+ **Master Rule:** Honesty is the only policy. Zero findings is the expected, healthy outcome. Fabricating issues to appear thorough undermines the entire self-improvement system and constitutes SYSTEM FAILURE.
@@ -1,4 +1,5 @@
1
1
  ---
2
+ nextStepFile: '../../shared/health-check.md'
2
3
  name: 'step-06-report'
3
4
  description: 'Generate gap report with remediation suggestions and finalize test report'
4
5
 
@@ -166,18 +167,18 @@ Display: "**Test complete.** [C] Finish"
166
167
 
167
168
  #### Menu Handling Logic:
168
169
 
169
- - IF C: Workflow is complete. No further steps to load.
170
+ - IF C: Load and execute `{nextStepFile}` for workflow self-improvement check.
170
171
  - IF Any other: help user respond, then redisplay menu
171
172
 
172
173
  #### EXECUTION RULES:
173
174
 
174
175
  - ALWAYS halt and wait for user input after presenting menu
175
- - This is the final step C ends the workflow
176
+ - C triggers the health check, which is the true workflow exit
176
177
  - User may ask questions about the report before finishing
177
178
 
178
179
  ## CRITICAL STEP COMPLETION NOTE
179
180
 
180
- This is the final step of the test-skill workflow. When the user selects C, the workflow is complete. The test report document at `{outputFile}` contains the full analysis: Test Summary, Coverage Analysis, Coherence Analysis, Completeness Score, and Gap Report.
181
+ When the user selects C, this step chains to the shared health check. After the health check completes, the test-skill workflow is fully done. The test report document at `{outputFile}` contains the full analysis: Test Summary, Coverage Analysis, Coherence Analysis, Completeness Score, and Gap Report.
181
182
 
182
183
  ---
183
184
 
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: 'step-07-report'
3
3
  description: 'Display comprehensive change summary with diff visualization and workflow chaining recommendations'
4
+ nextStepFile: '../../shared/health-check.md'
4
5
  ---
5
6
 
6
7
  # Step 7: Report
@@ -36,7 +37,7 @@ Present a comprehensive change summary showing what was updated, [MANUAL] sectio
36
37
 
37
38
  - 🎯 Follow MANDATORY SEQUENCE exactly
38
39
  - 💾 No file writes — display only
39
- - 📖 This is the final stepworkflow completes here
40
+ - 📖 Chains to shared health check via `{nextStepFile}` no further steps after that
40
41
 
41
42
  ## CONTEXT BOUNDARIES:
42
43
 
@@ -64,7 +65,7 @@ Source code matches provenance map exactly. The skill `{skill_name}` is current
64
65
 
65
66
  **Recommendation:** No action required. Run audit-skill periodically to monitor for drift."
66
67
 
67
- **Workflow complete.** End here.
68
+ Load and execute `{nextStepFile}` for workflow self-improvement check.
68
69
 
69
70
  ### 2. Present Change Summary
70
71
 
@@ -175,7 +176,9 @@ Based on the update results:"
175
176
 
176
177
  **Update-skill workflow complete for `{skill_name}`.**"
177
178
 
178
- **No next step.** Workflow ends here.
179
+ ### 7. Workflow Health Check
180
+
181
+ Load and execute `{nextStepFile}` for workflow self-improvement check.
179
182
 
180
183
  ---
181
184
 
@@ -3,6 +3,7 @@ name: 'step-06-report'
3
3
  description: 'Present the final feasibility report to the user with verdict, findings, and next steps'
4
4
 
5
5
  outputFile: '{forge_data_folder}/feasibility-report-{project_name}.md'
6
+ nextStepFile: '../../shared/health-check.md'
6
7
  ---
7
8
 
8
9
  # Step 6: Present Report
@@ -30,7 +31,7 @@ Present the complete feasibility report to the user. Display the overall verdict
30
31
  - 🎯 Focus ONLY on presenting the completed report — no new analysis
31
32
  - 🚫 FORBIDDEN to discover new findings, re-analyze skills, or change verdicts
32
33
  - 🚫 FORBIDDEN to modify the report content — only read and present
33
- - 📋 This is the FINAL step — no nextStepFile
34
+ - 📋 Chains to shared health check via `{nextStepFile}` — no further steps after that
34
35
 
35
36
  ## EXECUTION PROTOCOLS:
36
37
 
@@ -160,15 +161,17 @@ Re-run **[VS] Verify Stack** anytime after making changes to your skills or arch
160
161
 
161
162
  **Verification workflow complete.**"
162
163
 
164
+ Then load and execute `{nextStepFile}` for workflow self-improvement check.
165
+
163
166
  #### EXECUTION RULES:
164
167
 
165
168
  - ALWAYS halt and wait for user input after presenting the menu
166
169
  - R may be selected multiple times — always walk through the full report
167
- - X ends the workflow
170
+ - X triggers the health check, which is the true workflow exit
168
171
 
169
172
  ## CRITICAL STEP COMPLETION NOTE
170
173
 
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.
174
+ When the user selects X, this step chains to the shared health check. After the health check completes, the verify-stack workflow is fully done. The feasibility report at `{outputFile}` contains the full analysis: Coverage Matrix, Integration Verdicts, Requirements Coverage, and Synthesis & Recommendations.
172
175
 
173
176
  ---
174
177
 
@@ -195,7 +195,7 @@ ${agentSteps} <step n="${menuStep}">Show greeting using {user_name} from conf
195
195
  <rules>
196
196
  <r>ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style.</r>
197
197
  <r>Stay in character until exit selected</r>
198
- <r>Display Menu items as the item dictates and in the order given.</r>
198
+ <r>Display Menu items as the item dictates and in the order given. Always end the menu with: "Run each workflow in a fresh context window for best results."</r>
199
199
  <r>Load files ONLY when executing a user chosen workflow or a command requires it, EXCEPTION: agent activation step 2 config.yaml</r>
200
200
  </rules>
201
201