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
@@ -1,545 +0,0 @@
1
- ---
2
- validationDate: 2026-02-27
3
- workflowName: audit-skill
4
- workflowPath: _bmad-output/bmb-creations/workflows/audit-skill
5
- validationStatus: COMPLETE
6
- completionDate: 2026-02-27
7
- ---
8
-
9
- # Validation Report: audit-skill
10
-
11
- **Validation Started:** 2026-02-27
12
- **Validator:** BMAD Workflow Validation System
13
- **Standards Version:** BMAD Workflow Standards
14
-
15
- ---
16
-
17
- ## File Structure & Size
18
-
19
- ### Folder Structure
20
-
21
- ```
22
- audit-skill/
23
- ├── workflow.md (63 lines)
24
- ├── data/
25
- │ ├── drift-report-template.md (62 lines)
26
- │ └── severity-rules.md (52 lines)
27
- ├── steps-c/
28
- │ ├── step-01-init.md (196 lines)
29
- │ ├── step-02-re-index.md (191 lines)
30
- │ ├── step-03-structural-diff.md (194 lines)
31
- │ ├── step-04-semantic-diff.md (199 lines)
32
- │ ├── step-05-severity-classify.md (210 lines)
33
- │ └── step-06-report.md (217 lines)
34
- └── workflow-plan-audit-skill.md (plan document)
35
- ```
36
-
37
- ### Structure Assessment
38
-
39
- | Check | Status |
40
- |-------|--------|
41
- | workflow.md exists | ✅ PASS |
42
- | steps-c/ folder organized | ✅ PASS |
43
- | data/ folder organized | ✅ PASS |
44
- | Sequential numbering (01-06) | ✅ PASS |
45
- | No numbering gaps | ✅ PASS |
46
- | Final step exists (step-06) | ✅ PASS |
47
- | Folder names make sense | ✅ PASS |
48
-
49
- ### File Size Analysis
50
-
51
- | File | Lines | Status |
52
- |------|-------|--------|
53
- | step-01-init.md | 196 | ✅ Good (< 200) |
54
- | step-02-re-index.md | 191 | ✅ Good (< 200) |
55
- | step-03-structural-diff.md | 194 | ✅ Good (< 200) |
56
- | step-04-semantic-diff.md | 199 | ✅ Good (< 200) |
57
- | step-05-severity-classify.md | 210 | ⚠️ Approaching limit (200-250) |
58
- | step-06-report.md | 217 | ⚠️ Approaching limit (200-250) |
59
- | workflow.md | 63 | ✅ Good |
60
- | drift-report-template.md | 62 | ✅ Good |
61
- | severity-rules.md | 52 | ✅ Good |
62
-
63
- ### Size Findings
64
-
65
- - 4 of 6 step files within recommended limit (< 200 lines)
66
- - 2 step files approaching limit but within absolute maximum (< 250):
67
- - step-05-severity-classify.md (210 lines) — Contains full classification tables and rules
68
- - step-06-report.md (217 lines) — Final step with remediation templates and provenance section
69
- - Both files have dense structured content (tables, templates) that justifies the size
70
- - **Recommendation:** Acceptable as-is. Could extract remediation templates to data/ if size becomes an issue during future edits.
71
-
72
- ### Overall: ✅ PASS (with 2 warnings)
73
-
74
- ---
75
-
76
- ## Frontmatter Validation
77
-
78
- ### Per-File Analysis
79
-
80
- | File | Declared Vars (excl name/desc) | All Used? | Path Format | Forbidden Patterns | Status |
81
- |------|-------------------------------|-----------|-------------|-------------------|--------|
82
- | step-01-init.md | nextStepFile, outputFile, templateFile, severityRulesFile | ❌ `severityRulesFile` unused | ✅ Correct | ✅ None | ❌ FAIL |
83
- | step-02-re-index.md | nextStepFile, outputFile | ✅ All used | ✅ Correct | ✅ None | ✅ PASS |
84
- | step-03-structural-diff.md | nextStepFile, outputFile | ✅ All used | ✅ Correct | ✅ None | ✅ PASS |
85
- | step-04-semantic-diff.md | nextStepFile, outputFile | ✅ All used | ✅ Correct | ✅ None | ✅ PASS |
86
- | step-05-severity-classify.md | nextStepFile, outputFile, severityRulesFile | ✅ All used | ✅ Correct | ✅ None | ✅ PASS |
87
- | step-06-report.md | outputFile | ✅ All used | ✅ Correct | ✅ None | ✅ PASS |
88
-
89
- ### Violations Found
90
-
91
- **1. step-01-init.md — Unused Variable**
92
- - `severityRulesFile: '../data/severity-rules.md'` is declared in frontmatter but never referenced as `{severityRulesFile}` in the step body
93
- - This variable belongs in step-05-severity-classify.md (where it IS correctly used)
94
- - **Fix:** Remove `severityRulesFile` from step-01-init.md frontmatter
95
-
96
- ### Notes
97
-
98
- - Composite variables in outputFile values (`{forge_data_folder}`, `{skill_name}`, `{timestamp}`) are resolved from SKF module config — this is the standard BMAD pattern for output paths
99
- - Template placeholders inside markdown code blocks (e.g., `{count}`, `{finding}`, `{severity}`) are instructional templates, not frontmatter variables
100
- - `{communication_language}` referenced in universal rules is a standard BMAD config variable, not a frontmatter variable
101
-
102
- ### Overall: ❌ FAIL (1 violation — easily fixable)
103
-
104
- ## Critical Path Violations
105
-
106
- ### Config Variables (Exceptions)
107
-
108
- From workflow.md Configuration Loading: `{project-root}`, plus SKF module variables: `{project_name}`, `{output_folder}`, `{skills_output_folder}`, `{forge_data_folder}`, `{sidecar_path}`, `{communication_language}`, `{document_output_language}`
109
-
110
- ### Content Path Violations
111
-
112
- No hardcoded `{project-root}/` paths found in any step body content. All path references use frontmatter variables correctly.
113
-
114
- ### Dead Links
115
-
116
- All relative file references resolve correctly:
117
-
118
- | Source File | Reference | Target | Status |
119
- |-------------|-----------|--------|--------|
120
- | step-01 | `./step-02-re-index.md` | steps-c/step-02-re-index.md | ✅ EXISTS |
121
- | step-01 | `../data/drift-report-template.md` | data/drift-report-template.md | ✅ EXISTS |
122
- | step-01 | `../data/severity-rules.md` | data/severity-rules.md | ✅ EXISTS |
123
- | step-02 | `./step-03-structural-diff.md` | steps-c/step-03-structural-diff.md | ✅ EXISTS |
124
- | step-03 | `./step-04-semantic-diff.md` | steps-c/step-04-semantic-diff.md | ✅ EXISTS |
125
- | step-04 | `./step-05-severity-classify.md` | steps-c/step-05-severity-classify.md | ✅ EXISTS |
126
- | step-05 | `./step-06-report.md` | steps-c/step-06-report.md | ✅ EXISTS |
127
- | step-05 | `../data/severity-rules.md` | data/severity-rules.md | ✅ EXISTS |
128
-
129
- Output file paths using `{forge_data_folder}` correctly skipped (won't exist until workflow runs).
130
-
131
- ### Module Awareness
132
-
133
- No bmb-specific path assumptions found. Workflow correctly uses SKF module variables.
134
-
135
- ### Overall: ✅ PASS (0 violations)
136
-
137
- ## Menu Handling Validation
138
-
139
- ### Per-File Menu Analysis
140
-
141
- | File | Menu Type | Handler Section | Execution Rules | Halt & Wait | Non-C Redisplay | A/P Appropriate | Status |
142
- |------|-----------|----------------|-----------------|-------------|----------------|-----------------|--------|
143
- | step-01-init.md | C-only (user gate) | ✅ Present | ✅ Present | ✅ Yes | ✅ Yes | ✅ No A/P (init) | ✅ PASS |
144
- | step-02-re-index.md | Auto-proceed | ✅ Auto-proceed handler | ✅ "No user choices" | N/A (auto) | N/A | ✅ No A/P | ✅ PASS |
145
- | step-03-structural-diff.md | Auto-proceed | ✅ Auto-proceed handler | ✅ "No user choices" | N/A (auto) | N/A | ✅ No A/P | ✅ PASS |
146
- | step-04-semantic-diff.md | Auto-proceed | ✅ Auto-proceed handler | ✅ "No user choices" | N/A (auto) | N/A | ✅ No A/P | ✅ PASS |
147
- | step-05-severity-classify.md | Auto-proceed | ✅ Auto-proceed handler | ✅ "No user choices" | N/A (auto) | N/A | ✅ No A/P | ✅ PASS |
148
- | step-06-report.md | Final step (no menu) | N/A (final) | N/A (final) | N/A | N/A | ✅ No A/P | ✅ PASS |
149
-
150
- ### Findings
151
-
152
- - Step-01 correctly uses C-only menu (init step — no A/P)
153
- - Steps 02-05 correctly use auto-proceed (deterministic analysis — no user choices needed)
154
- - Step-06 correctly has no menu (final step — presents results)
155
- - No reserved letter violations
156
- - Menu pattern matches design: 1 user gate at init, 4 auto-proceed analysis steps, 1 final presentation
157
-
158
- ### Overall: ✅ PASS (0 violations)
159
-
160
- ## Step Type Validation
161
-
162
- ### Per-File Type Analysis
163
-
164
- | File | Expected Type | Actual Type | Pattern Match | Status |
165
- |------|--------------|-------------|---------------|--------|
166
- | step-01-init.md | Init with Input Discovery | Init with Input Discovery | ✅ Input discovery (skill, provenance, tier), creates output from template, C-only user gate | ✅ PASS |
167
- | step-02-re-index.md | Middle (Simple), Auto-proceed | Middle (Simple), Auto-proceed | ✅ No A/P, auto-proceed handler, mandatory rules | ✅ PASS |
168
- | step-03-structural-diff.md | Middle (Simple), Auto-proceed | Middle (Simple), Auto-proceed | ✅ No A/P, auto-proceed handler, mandatory rules | ✅ PASS |
169
- | step-04-semantic-diff.md | Middle (Simple) + Conditional Skip | Middle (Simple) + Conditional Skip | ✅ Tier check first, skip logic for Quick/Forge, auto-proceed | ✅ PASS |
170
- | step-05-severity-classify.md | Middle (Simple), Auto-proceed | Middle (Simple), Auto-proceed | ✅ Loads rules, classifies findings, auto-proceed | ✅ PASS |
171
- | step-06-report.md | Final Step | Final Step | ✅ No nextStepFile, completion message, no menu | ✅ PASS |
172
-
173
- ### Type-Specific Checks
174
-
175
- **Init (step-01):**
176
- - ✅ Creates output from template (`{templateFile}`)
177
- - ✅ C-only menu (no A/P — appropriate for init)
178
- - ✅ Input discovery: loads SKILL.md, metadata.json, provenance-map.json, forge-tier.yaml, and checks `preferences.yaml` for `tier_override`
179
- - ✅ User gate with baseline summary before analysis
180
-
181
- **Auto-Proceed Steps (02-05):**
182
- - ✅ All have "auto-proceed analysis step with no user choices" execution rules
183
- - ✅ All auto-load next step after completion
184
- - ✅ None have A/P menus (correct for deterministic analysis)
185
-
186
- **Conditional Skip (step-04):**
187
- - ✅ Tier check is FIRST instruction
188
- - ✅ Skip path appends skip notice and auto-proceeds
189
- - ✅ Deep tier path executes full semantic analysis
190
-
191
- **Final Step (step-06):**
192
- - ✅ No nextStepFile in frontmatter
193
- - ✅ Presents final report summary to user
194
- - ✅ Includes next-workflow recommendation
195
-
196
- ### Overall: ✅ PASS (0 violations)
197
-
198
- ## Output Format Validation
199
-
200
- ### Document Production
201
-
202
- - **Produces document:** Yes (drift report)
203
- - **Template type:** Structured (required sections with clear headers)
204
- - **Template location:** `data/drift-report-template.md` (62 lines)
205
- - **Pattern:** Direct-to-Final (progressive append)
206
-
207
- ### Template Assessment
208
-
209
- | Check | Status |
210
- |-------|--------|
211
- | `stepsCompleted: []` in frontmatter | ✅ Present |
212
- | `lastStep: ''` in frontmatter | ✅ Present |
213
- | `date: ''` in frontmatter | ✅ Present |
214
- | `user_name: ''` in frontmatter | ✅ Present |
215
- | Workflow chaining (`previousWorkflow`, `nextWorkflow`) | ✅ Present |
216
- | Clear section headers | ✅ 6 sections defined |
217
- | Section placeholders with comments | ✅ Each section has step attribution comment |
218
-
219
- ### Final Polish Evaluation
220
-
221
- - **Required:** No (structured template, not free-form)
222
- - **Justification:** Each section is appended by a specific step with structured table format. No free-form progressive writing that needs polish.
223
-
224
- ### Step-to-Output Mapping
225
-
226
- | Step | Output Action | Has outputFile | Saves Before Next | Status |
227
- |------|--------------|----------------|-------------------|--------|
228
- | step-01-init | Creates report from template, populates frontmatter | ✅ | ✅ (menu C: "Save baseline") | ✅ PASS |
229
- | step-02-re-index | Internal state only, updates frontmatter | ✅ | ✅ (updates stepsCompleted) | ✅ PASS |
230
- | step-03-structural-diff | Appends ## Structural Drift section | ✅ | ✅ (auto-proceed after append) | ✅ PASS |
231
- | step-04-semantic-diff | Appends ## Semantic Drift (or skip notice) | ✅ | ✅ (auto-proceed after append) | ✅ PASS |
232
- | step-05-severity-classify | Appends ## Severity Classification | ✅ | ✅ (auto-proceed after append) | ✅ PASS |
233
- | step-06-report | Completes Summary, appends Remediation + Provenance | ✅ | ✅ (final step) | ✅ PASS |
234
-
235
- ### Overall: ✅ PASS (0 violations)
236
-
237
- ## Validation Design Check
238
-
239
- ### Validation Requirement Assessment
240
-
241
- - **Workflow type:** Quality assurance (drift detection)
242
- - **Domain:** Developer tooling — not compliance/regulatory/safety-critical
243
- - **Output:** Drift report (informational — user reviews and decides action)
244
- - **Classification:** Create-only (no steps-v/ folder by design)
245
-
246
- **Validation critical:** No
247
-
248
- **Reasoning:** The audit-skill workflow IS itself a validation tool (it audits skills against source code). Its output is an informational drift report with remediation suggestions. The user reviews the report and decides whether to act. No formal compliance gates are needed. Each audit is a fresh run (create-only), making edit/validate modes unnecessary.
249
-
250
- ### Validation Steps
251
-
252
- - **steps-v/ folder:** Not present (correct — create-only workflow)
253
- - **Inline validation:** Step 05 (severity-classify) loads classification rules from `data/severity-rules.md` and applies deterministic classification — this provides systematic quality control of the analysis
254
-
255
- ### Validation Data Files
256
-
257
- | File | Purpose | Status |
258
- |------|---------|--------|
259
- | `data/severity-rules.md` | Classification criteria (CRITICAL/HIGH/MEDIUM/LOW) | ✅ Present, well-structured |
260
- | `data/drift-report-template.md` | Structured output template | ✅ Present, well-structured |
261
-
262
- ### Overall: ✅ PASS (N/A — validation not required for this workflow type)
263
-
264
- ## Instruction Style Check
265
-
266
- ### Workflow Domain Assessment
267
-
268
- - **Domain:** Developer tooling / quality assurance (drift detection)
269
- - **Appropriate style:** Prescriptive (deterministic analysis with exact methodology)
270
- - **Design specification:** "Instruction Style: Prescriptive"
271
-
272
- **Justification:** Drift detection is algorithmic — same input must produce same output. Zero-hallucination principle requires precise instructions. AST analysis and severity classification follow deterministic rules, not creative facilitation.
273
-
274
- ### Per-Step Style Analysis
275
-
276
- | File | Classification | Domain Match | Status |
277
- |------|---------------|--------------|--------|
278
- | step-01-init.md | Prescriptive (load specifics) + intent (user gate) | ✅ Appropriate — init needs exact file loading | ✅ PASS |
279
- | step-02-re-index.md | Prescriptive (exact extraction methodology) | ✅ Appropriate — AST extraction is algorithmic | ✅ PASS |
280
- | step-03-structural-diff.md | Prescriptive (exact comparison categories) | ✅ Appropriate — diff is deterministic | ✅ PASS |
281
- | step-04-semantic-diff.md | Prescriptive (conditional logic + QMD queries) | ✅ Appropriate — tier-aware with exact skip logic | ✅ PASS |
282
- | step-05-severity-classify.md | Prescriptive (deterministic classification rules) | ✅ Appropriate — severity rules are exact | ✅ PASS |
283
- | step-06-report.md | Prescriptive (exact report sections + templates) | ✅ Appropriate — report format is structured | ✅ PASS |
284
-
285
- ### Positive Findings
286
-
287
- - Consistent prescriptive style across all steps — matches the deterministic analysis domain
288
- - Each step has exact instructions for what to load, compare, and output
289
- - Role reinforcement ("zero-hallucination principle") aligns with prescriptive approach
290
- - No steps inappropriately use creative/exploratory language for analysis tasks
291
-
292
- ### Overall: ✅ PASS (style appropriate for domain)
293
-
294
- ## Collaborative Experience Check
295
-
296
- ### Workflow Interaction Design
297
-
298
- - **Goal:** Drift detection — deterministic analysis
299
- - **User:** Developer auditing their skill against source code
300
- - **Designed interaction:** Mostly autonomous with 1 user gate at init
301
-
302
- ### Per-Step Analysis
303
-
304
- **step-01-init.md:**
305
- - Question style: ✅ Progressive (asks for skill path, then presents summary, then confirms)
306
- - Conversation flow: ✅ Natural — clear explanation, then decision point
307
- - Role clarity: ✅ "Skill auditor operating in Ferris Audit mode"
308
- - Error handling: ✅ Missing provenance → degraded mode offer; missing tier → helpful error
309
- - Status: ✅ PASS
310
-
311
- **step-02-re-index.md:**
312
- - Interaction: Auto-proceed (no user input)
313
- - Progress messaging: ✅ "Scanning source files..." / "Extraction complete" with metrics table
314
- - Status: ✅ PASS (appropriate — extraction is autonomous)
315
-
316
- **step-03-structural-diff.md:**
317
- - Interaction: Auto-proceed
318
- - Progress messaging: ✅ "Structural diff complete. {total} drift items found."
319
- - Status: ✅ PASS
320
-
321
- **step-04-semantic-diff.md:**
322
- - Interaction: Auto-proceed (with conditional skip notice)
323
- - Progress messaging: ✅ Skip notice explains why and how to enable, or reports findings count
324
- - Status: ✅ PASS
325
-
326
- **step-05-severity-classify.md:**
327
- - Interaction: Auto-proceed
328
- - Progress messaging: ✅ "Severity classification complete. Overall drift score: {score}"
329
- - Status: ✅ PASS
330
-
331
- **step-06-report.md:**
332
- - Interaction: Final presentation to user
333
- - Completion quality: ✅ Comprehensive summary with severity counts, drift score, next steps
334
- - Actionable guidance: ✅ Clear workflow recommendations based on findings
335
- - Status: ✅ PASS
336
-
337
- ### Progression and Arc
338
-
339
- - ✅ Clear progression: Load → Scan → Diff → Classify → Report
340
- - ✅ Each step builds on previous (provenance → extraction → comparison → classification → synthesis)
341
- - ✅ User knows where they are (progress messages at each step)
342
- - ✅ Satisfying completion with actionable summary and clear next steps
343
-
344
- ### User Experience Assessment
345
-
346
- **This workflow feels like:** A collaborative partner working WITH the user — confirms inputs at init, then performs expert analysis autonomously, and delivers a comprehensive report.
347
-
348
- **Appropriate for domain:** Yes — drift detection benefits from autonomous expert analysis rather than interactive collaboration. One user gate ensures correct inputs before committing to analysis.
349
-
350
- ### Overall: ✅ GOOD (appropriate interaction level for deterministic analysis)
351
-
352
- ## Subprocess Optimization Opportunities
353
-
354
- **Total Opportunities:** 4 implemented | **High Priority:** 0 missed | **Estimated Context Savings:** Significant per-file extraction offloading
355
-
356
- ### Current Subprocess Usage
357
-
358
- | Step | Pattern | Description | Fallback | Status |
359
- |------|---------|-------------|----------|--------|
360
- | step-01 | None | Init — loads artifacts directly | N/A | ✅ Appropriate |
361
- | step-02 | Pattern 2 (per-file) | AST extraction per source file | ✅ "Perform extraction in main thread, processing each file sequentially" | ✅ PASS |
362
- | step-03 | Pattern 4 (parallel) | Parallel comparison of export categories (added/removed/changed) | ✅ "Iterate current exports, check against provenance map set" | ✅ PASS |
363
- | step-04 | Pattern 3 (data ops) | QMD collection queries for semantic context | ✅ "Query QMD in main thread" | ✅ PASS |
364
- | step-05 | Pattern 3 (data ops) | Load severity rules, classify findings | ✅ "Load rules directly in main thread" | ✅ PASS |
365
- | step-06 | None | Final synthesis — no offloading needed | N/A | ✅ Appropriate |
366
-
367
- ### Subprocess Compliance
368
-
369
- - ✅ All 4 subprocess-using steps include graceful fallback instructions
370
- - ✅ Pattern types match the operation characteristics
371
- - ✅ Fallback instructions clearly describe alternative approach
372
- - ✅ "If subprocess unavailable" language present in all 4 steps
373
-
374
- ### Summary by Pattern
375
-
376
- - **Pattern 1 (grep/regex):** 0 — Not applicable (no multi-file text search needed)
377
- - **Pattern 2 (per-file):** 1 (step-02) — per-source-file AST extraction
378
- - **Pattern 3 (data ops):** 2 (steps 04, 05) — QMD queries and rules loading
379
- - **Pattern 4 (parallel):** 1 (step-03) — parallel diff categories
380
-
381
- ### Additional Opportunities
382
-
383
- No missed opportunities identified. The workflow appropriately uses subprocess optimization where context offloading benefits performance (extraction, comparison, classification) and avoids unnecessary subprocess overhead for simple operations (init, final report).
384
-
385
- ### Overall: ✅ PASS (well-optimized subprocess usage)
386
-
387
- ## Cohesive Review
388
-
389
- ### Overall Assessment: Excellent
390
-
391
- The audit-skill workflow is a well-designed, cohesive 6-step pipeline that achieves its goal of detecting and reporting drift between skills and source code.
392
-
393
- ### Quality Evaluation
394
-
395
- | Dimension | Rating | Notes |
396
- |-----------|--------|-------|
397
- | Goal clarity | Excellent | Clear purpose stated in workflow.md and step-01 |
398
- | Logical flow | Excellent | Load → Scan → Compare → Classify → Report |
399
- | Data flow | Excellent | Provenance → extraction → diff → classification → synthesis |
400
- | Consistency | Excellent | Same voice (Ferris Audit), same patterns (tables, citations, tiers) |
401
- | User experience | Good | 1 gate at init, autonomous analysis, clear final report |
402
- | Error handling | Good | Degraded mode, missing provenance, tier fallbacks |
403
- | Completion | Excellent | Actionable summary with next-step recommendations |
404
-
405
- ### Cohesiveness Analysis
406
-
407
- **Flow:** Strong linear progression where each step builds directly on the previous. No disconnected jumps.
408
-
409
- **Progression:** User provides skill name → system discovers everything → performs analysis → presents findings. The user knows exactly what's happening at each point.
410
-
411
- **Voice and Tone:** Consistent Ferris Audit mode throughout. Zero-hallucination principle, AST citations, structured evidence-based reporting.
412
-
413
- ### Strengths
414
-
415
- 1. **Zero-hallucination principle** enforced consistently — every finding traces to actual code
416
- 2. **Graceful degradation** at every level — tier-aware (Quick/Forge/Forge+/Deep), missing provenance (degraded mode)
417
- 3. **Structured output** with file:line citations and confidence tier labels on all findings
418
- 4. **Actionable remediation** — specific suggestions per finding (what to change, where, why)
419
- 5. **Workflow chaining** — update-skill recommendation when CRITICAL/HIGH drift found
420
- 6. **Clean separation of concerns** — each step does exactly one thing
421
- 7. **Subprocess optimization** — well-chosen patterns with graceful fallbacks
422
-
423
- ### Weaknesses
424
-
425
- 1. **Minor:** `severityRulesFile` unused in step-01 frontmatter (flagged in Frontmatter Validation)
426
- 2. **Minor:** Steps 05-06 slightly above 200 line recommended limit (210, 217) — acceptable given dense table content
427
- 3. **Observation:** No explicit handling for very large codebases in step-02 (many source files could slow extraction) — acceptable for initial version
428
-
429
- ### Recommendation
430
-
431
- **Ready to use.** This workflow exemplifies BMAD best practices for deterministic analysis workflows. The one frontmatter violation is trivially fixable. The workflow demonstrates strong tier-aware design, clean data flow, and well-chosen subprocess patterns.
432
-
433
- ## Plan Quality Validation
434
-
435
- **Plan file:** `workflow-plan-audit-skill.md`
436
- **Total requirements extracted:** 25+
437
-
438
- ### Discovery/Vision Validation
439
-
440
- | Requirement | Implemented | Quality | Status |
441
- |-------------|-------------|---------|--------|
442
- | Drift detection between skill and source | workflow.md + all 6 steps | High | ✅ |
443
- | Ferris Audit mode | workflow.md + all step role reinforcements | High | ✅ |
444
- | Tier-aware depth (Quick/Forge/Forge+/Deep) | Steps 01-04 adapt per tier | High | ✅ |
445
- | Drift report with severity levels | Steps 03-06 build categorized report | High | ✅ |
446
-
447
- ### Classification Validation
448
-
449
- | Attribute | Specified | Implemented | Status |
450
- |-----------|-----------|-------------|--------|
451
- | Document output | true | ✅ drift-report-template.md + progressive build | ✅ |
452
- | Module affiliation | SKF | ✅ workflow.md loads skf/config.yaml | ✅ |
453
- | Session type | single-session | ✅ create-only, no continuation | ✅ |
454
- | Lifecycle | create-only | ✅ steps-c/ folder only | ✅ |
455
-
456
- ### Requirements Validation
457
-
458
- | Requirement | Specified | Implemented | Quality | Status |
459
- |-------------|-----------|-------------|---------|--------|
460
- | Linear flow + conditional skip | Step 04 Deep-only | ✅ Tier check first, skip notice for Quick/Forge | High | ✅ |
461
- | 1 user gate at init | Step 01 confirmation | ✅ C-only menu after baseline summary | High | ✅ |
462
- | Skill path + source code inputs | Required | ✅ Step 01 discovers both, validates existence | High | ✅ |
463
- | Structured drift report | 6 sections | ✅ Template with all sections, progressive append | High | ✅ |
464
- | AST file:line citations | All findings | ✅ Every table has file:line + confidence columns | High | ✅ |
465
- | Confidence tier labels (T1/T2) | All findings | ✅ T1/T1-low/T2 labels throughout | High | ✅ |
466
- | Graceful degradation | Quick→Forge→Deep | ✅ Three tiers + degraded mode for missing provenance | High | ✅ |
467
- | Remediation suggestions | Per finding | ✅ Step 06 generates specific actionable suggestions | High | ✅ |
468
- | Overall drift score | CLEAN/MINOR/SIGNIFICANT/CRITICAL | ✅ Step 05 calculates, Step 06 presents | High | ✅ |
469
- | Update-skill chaining | If CRITICAL/HIGH | ✅ Step 06 sets nextWorkflow in frontmatter | High | ✅ |
470
-
471
- ### Design Validation
472
-
473
- | Design Element | Specified | Present | Status |
474
- |---------------|-----------|---------|--------|
475
- | step-01-init (Init + Input Discovery) | ✅ | ✅ | ✅ |
476
- | step-02-re-index (Middle, Auto-proceed) | ✅ | ✅ | ✅ |
477
- | step-03-structural-diff (Middle, Auto-proceed) | ✅ | ✅ | ✅ |
478
- | step-04-semantic-diff (Middle + Skip, Auto-proceed) | ✅ | ✅ | ✅ |
479
- | step-05-severity-classify (Middle, Auto-proceed) | ✅ | ✅ | ✅ |
480
- | step-06-report (Final Step) | ✅ | ✅ | ✅ |
481
- | data/severity-rules.md | ✅ | ✅ | ✅ |
482
- | data/drift-report-template.md | ✅ | ✅ | ✅ |
483
-
484
- ### Tools Validation
485
-
486
- | Tool | Specified | Configured | Status |
487
- |------|-----------|------------|--------|
488
- | File I/O | Required | ✅ All steps read/write files | ✅ |
489
- | Sub-Processes | Included | ✅ 4 steps with patterns 2/3/4 + fallbacks | ✅ |
490
- | ast_bridge | Forge/Deep tier | ✅ Steps 02-03 reference AST extraction | ✅ |
491
- | gh_bridge | All tiers | ✅ Steps 01-02 reference file reading | ✅ |
492
- | qmd_bridge | Deep tier only | ✅ Step 04 references QMD queries | ✅ |
493
- | skill-check | Included | ✅ Step 01 references skill format validation | ✅ |
494
-
495
- ### Implementation Gaps
496
-
497
- None identified. All requirements from the plan are fully implemented.
498
-
499
- ### Overall Assessment
500
-
501
- - **Plan implementation score:** 100%
502
- - **Overall status:** Fully Implemented
503
- - **Quality:** High across all requirement areas
504
-
505
- ## Summary
506
-
507
- **Validation Completed:** 2026-02-27
508
- **Overall Status:** ✅ PASS (1 minor violation)
509
-
510
- ### Validation Steps Completed
511
-
512
- | # | Validation Step | Result |
513
- |---|----------------|--------|
514
- | 1 | File Structure & Size | ✅ PASS (2 warnings: steps 05-06 at 210/217 lines) |
515
- | 2 | Frontmatter Validation | ❌ FAIL (1 violation: unused `severityRulesFile` in step-01) |
516
- | 2b | Critical Path Violations | ✅ PASS (0 violations, all links verified) |
517
- | 3 | Menu Handling Validation | ✅ PASS (1 gate + 4 auto-proceed + 1 final) |
518
- | 4 | Step Type Validation | ✅ PASS (all 6 steps match design types) |
519
- | 5 | Output Format Validation | ✅ PASS (structured template, correct step-to-output mapping) |
520
- | 6 | Validation Design Check | ✅ PASS (N/A — validation not required for this workflow type) |
521
- | 7 | Instruction Style Check | ✅ PASS (prescriptive style appropriate for domain) |
522
- | 8 | Collaborative Experience | ✅ GOOD (appropriate interaction for deterministic analysis) |
523
- | 8b | Subprocess Optimization | ✅ PASS (4 patterns well-chosen with fallbacks) |
524
- | 9 | Cohesive Review | ✅ EXCELLENT (strong progression, consistent voice, clear completion) |
525
- | 11 | Plan Quality Validation | ✅ 100% implementation (all requirements met) |
526
-
527
- ### Issues to Fix
528
-
529
- **Critical:** 0
530
- **Warnings:** 1
531
-
532
- 1. **step-01-init.md** — Remove unused `severityRulesFile: '../data/severity-rules.md'` from frontmatter (line 8). This variable belongs in step-05 only.
533
-
534
- ### Key Strengths
535
-
536
- - Zero-hallucination principle enforced consistently throughout
537
- - Graceful tier-aware degradation (Quick/Forge/Forge+/Deep)
538
- - Well-chosen subprocess patterns with graceful fallbacks
539
- - Clean data flow: provenance → extraction → diff → classification → report
540
- - Actionable remediation suggestions with workflow chaining
541
- - 100% plan implementation coverage
542
-
543
- ### Recommendation
544
-
545
- **Ready to use** after fixing the 1 minor frontmatter violation. The workflow exemplifies BMAD best practices for deterministic analysis workflows.