bmad-module-skill-forge 0.9.0 → 0.10.1-alpha.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 (268) hide show
  1. package/.claude-plugin/marketplace.json +39 -0
  2. package/.gitattributes +16 -0
  3. package/README.md +105 -38
  4. package/docs/404.md +13 -10
  5. package/docs/RELEASING.md +185 -0
  6. package/docs/STABILITY.md +123 -0
  7. package/docs/_data/pinned.yaml +98 -0
  8. package/docs/agents.md +16 -11
  9. package/docs/architecture.md +221 -0
  10. package/docs/bmad-synergy.md +11 -13
  11. package/docs/concepts.md +18 -108
  12. package/docs/examples.md +121 -80
  13. package/docs/getting-started.md +85 -147
  14. package/docs/how-it-works.md +25 -536
  15. package/docs/index.md +44 -27
  16. package/docs/skill-model.md +328 -0
  17. package/docs/troubleshooting.md +39 -0
  18. package/docs/verifying-a-skill.md +232 -0
  19. package/docs/why-skf.md +93 -0
  20. package/docs/workflows.md +119 -13
  21. package/package.json +25 -4
  22. package/src/README.md +23 -25
  23. package/src/forger/forge-tier.yaml +4 -2
  24. package/src/forger/preferences.yaml +7 -1
  25. package/src/knowledge/agentskills-spec.md +1 -1
  26. package/src/knowledge/architecture-verification.md +1 -1
  27. package/src/knowledge/ccc-bridge.md +16 -15
  28. package/src/knowledge/overview.md +11 -11
  29. package/src/knowledge/progressive-capability.md +3 -3
  30. package/src/knowledge/provenance-tracking.md +9 -3
  31. package/src/knowledge/qmd-registry.md +8 -8
  32. package/src/knowledge/skf-knowledge-index.csv +2 -2
  33. package/src/knowledge/skill-lifecycle.md +16 -1
  34. package/src/knowledge/split-body-strategy.md +1 -1
  35. package/src/knowledge/version-paths.md +17 -12
  36. package/src/module-help.csv +18 -17
  37. package/src/module.yaml +4 -0
  38. package/src/shared/health-check.md +372 -0
  39. package/src/shared/references/feasibility-report-schema.md +86 -0
  40. package/src/shared/references/headless-gate-convention.md +62 -0
  41. package/src/shared/references/output-contract-schema.md +35 -0
  42. package/src/shared/references/pipeline-contracts.md +102 -0
  43. package/src/shared/scripts/skf-atomic-write.py +370 -0
  44. package/src/shared/scripts/skf-manifest-ops.py +236 -0
  45. package/src/shared/scripts/skf-preflight.py +164 -0
  46. package/src/shared/scripts/skf-rebuild-managed-sections.py +201 -0
  47. package/src/shared/scripts/skf-severity-classify.py +163 -0
  48. package/src/shared/scripts/skf-skill-inventory.py +210 -0
  49. package/src/shared/scripts/skf-structural-diff.py +257 -0
  50. package/src/shared/scripts/skf-validate-frontmatter.py +318 -0
  51. package/src/shared/scripts/skf-validate-output.py +247 -0
  52. package/src/skf-analyze-source/SKILL.md +57 -0
  53. package/src/skf-analyze-source/assets/skill-brief-schema.md +125 -0
  54. package/src/skf-analyze-source/references/unit-detection-heuristics.md +124 -0
  55. package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-01-init.md +6 -66
  56. package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-01b-continue.md +4 -59
  57. package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-02-scan-project.md +7 -68
  58. package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-03-identify-units.md +6 -66
  59. package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-04-map-and-detect.md +7 -68
  60. package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-05-recommend.md +6 -66
  61. package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-06-generate-briefs.md +14 -66
  62. package/src/skf-analyze-source/steps-c/step-07-health-check.md +22 -0
  63. package/src/skf-audit-skill/SKILL.md +59 -0
  64. package/src/{workflows/audit-skill/data → skf-audit-skill/assets}/drift-report-template.md +7 -7
  65. package/src/{workflows/audit-skill/data → skf-audit-skill/references}/severity-rules.md +11 -11
  66. package/src/{workflows/audit-skill → skf-audit-skill}/steps-c/step-01-init.md +24 -68
  67. package/src/{workflows/audit-skill → skf-audit-skill}/steps-c/step-02-re-index.md +36 -71
  68. package/src/{workflows/audit-skill → skf-audit-skill}/steps-c/step-03-structural-diff.md +21 -63
  69. package/src/{workflows/audit-skill → skf-audit-skill}/steps-c/step-04-semantic-diff.md +6 -65
  70. package/src/{workflows/audit-skill → skf-audit-skill}/steps-c/step-05-severity-classify.md +5 -63
  71. package/src/{workflows/audit-skill → skf-audit-skill}/steps-c/step-06-report.md +10 -59
  72. package/src/skf-audit-skill/steps-c/step-07-health-check.md +22 -0
  73. package/src/skf-brief-skill/SKILL.md +53 -0
  74. package/src/{workflows/brief-skill/data → skf-brief-skill/assets}/scope-templates.md +23 -0
  75. package/src/skf-brief-skill/assets/skill-brief-schema.md +206 -0
  76. package/src/{workflows/brief-skill → skf-brief-skill}/steps-c/step-01-gather-intent.md +6 -67
  77. package/src/{workflows/brief-skill → skf-brief-skill}/steps-c/step-02-analyze-target.md +6 -66
  78. package/src/{workflows/brief-skill → skf-brief-skill}/steps-c/step-03-scope-definition.md +12 -68
  79. package/src/{workflows/brief-skill → skf-brief-skill}/steps-c/step-04-confirm-brief.md +5 -63
  80. package/src/{workflows/brief-skill → skf-brief-skill}/steps-c/step-05-write-brief.md +10 -69
  81. package/src/skf-brief-skill/steps-c/step-06-health-check.md +22 -0
  82. package/src/skf-create-skill/SKILL.md +63 -0
  83. package/src/{workflows/create-skill/data → skf-create-skill/assets}/compile-assembly-rules.md +60 -0
  84. package/src/{workflows/create-skill/data → skf-create-skill/assets}/skill-sections.md +92 -23
  85. package/src/skf-create-skill/assets/tessl-dismissal-rules.md +102 -0
  86. package/src/{workflows/create-skill/data → skf-create-skill/references}/extraction-patterns-tracing.md +13 -13
  87. package/src/{workflows/create-skill/data → skf-create-skill/references}/extraction-patterns.md +8 -3
  88. package/src/skf-create-skill/references/source-resolution-protocols.md +239 -0
  89. package/src/{workflows/create-skill/data → skf-create-skill/references}/tier-degradation-rules.md +8 -7
  90. package/src/{workflows/create-skill → skf-create-skill}/steps-c/step-01-load-brief.md +25 -63
  91. package/src/{workflows/create-skill → skf-create-skill}/steps-c/step-02-ecosystem-check.md +8 -64
  92. package/src/skf-create-skill/steps-c/step-03-extract.md +379 -0
  93. package/src/{workflows/create-skill → skf-create-skill}/steps-c/step-03d-component-extraction.md +18 -35
  94. package/src/{workflows/create-skill → skf-create-skill}/steps-c/step-04-enrich.md +12 -69
  95. package/src/{workflows/create-skill → skf-create-skill}/steps-c/step-05-compile.md +71 -75
  96. package/src/skf-create-skill/steps-c/step-06-validate.md +267 -0
  97. package/src/{workflows/create-skill → skf-create-skill}/steps-c/step-07-generate-artifacts.md +30 -74
  98. package/src/skf-create-skill/steps-c/step-08-report.md +145 -0
  99. package/src/skf-create-skill/steps-c/step-09-health-check.md +23 -0
  100. package/src/{workflows/create-skill/steps-c → skf-create-skill/steps-c/sub}/step-02b-ccc-discover.md +8 -66
  101. package/src/skf-create-skill/steps-c/sub/step-03b-fetch-temporal.md +229 -0
  102. package/src/{workflows/create-skill/steps-c → skf-create-skill/steps-c/sub}/step-03c-fetch-docs.md +18 -42
  103. package/src/skf-create-stack-skill/SKILL.md +64 -0
  104. package/src/{workflows/create-stack-skill/data → skf-create-stack-skill/assets}/stack-skill-template.md +2 -1
  105. package/src/{workflows/create-stack-skill/data → skf-create-stack-skill/references}/compose-mode-rules.md +19 -5
  106. package/src/{workflows/create-stack-skill/data → skf-create-stack-skill/references}/integration-patterns.md +1 -1
  107. package/src/{workflows/create-stack-skill/data → skf-create-stack-skill/references}/manifest-patterns.md +10 -10
  108. package/src/{workflows/create-stack-skill → skf-create-stack-skill}/steps-c/step-01-init.md +14 -55
  109. package/src/{workflows/create-stack-skill → skf-create-stack-skill}/steps-c/step-02-detect-manifests.md +29 -63
  110. package/src/{workflows/create-stack-skill → skf-create-stack-skill}/steps-c/step-03-rank-and-confirm.md +9 -59
  111. package/src/{workflows/create-stack-skill → skf-create-stack-skill}/steps-c/step-04-parallel-extract.md +29 -64
  112. package/src/skf-create-stack-skill/steps-c/step-05-detect-integrations.md +164 -0
  113. package/src/{workflows/create-stack-skill → skf-create-stack-skill}/steps-c/step-06-compile-stack.md +7 -60
  114. package/src/skf-create-stack-skill/steps-c/step-07-generate-output.md +328 -0
  115. package/src/{workflows/create-stack-skill → skf-create-stack-skill}/steps-c/step-08-validate.md +17 -63
  116. package/src/skf-create-stack-skill/steps-c/step-09-report.md +128 -0
  117. package/src/skf-create-stack-skill/steps-c/step-10-health-check.md +22 -0
  118. package/src/skf-drop-skill/SKILL.md +57 -0
  119. package/src/{workflows/drop-skill → skf-drop-skill}/steps-c/step-01-select.md +9 -69
  120. package/src/{workflows/drop-skill → skf-drop-skill}/steps-c/step-02-execute.md +30 -106
  121. package/src/skf-drop-skill/steps-c/step-03-report.md +83 -0
  122. package/src/skf-drop-skill/steps-c/step-04-health-check.md +22 -0
  123. package/src/skf-export-skill/SKILL.md +57 -0
  124. package/src/skf-export-skill/assets/managed-section-format.md +138 -0
  125. package/src/{workflows/export-skill/data → skf-export-skill/assets}/snippet-format.md +8 -12
  126. package/src/skf-export-skill/steps-c/step-01-load-skill.md +247 -0
  127. package/src/{workflows/export-skill → skf-export-skill}/steps-c/step-02-package.md +5 -58
  128. package/src/{workflows/export-skill → skf-export-skill}/steps-c/step-03-generate-snippet.md +15 -77
  129. package/src/{workflows/export-skill → skf-export-skill}/steps-c/step-04-update-context.md +59 -133
  130. package/src/{workflows/export-skill → skf-export-skill}/steps-c/step-05-token-report.md +4 -58
  131. package/src/{workflows/export-skill → skf-export-skill}/steps-c/step-06-summary.md +20 -64
  132. package/src/skf-export-skill/steps-c/step-07-health-check.md +22 -0
  133. package/src/skf-forger/SKILL.md +110 -0
  134. package/src/skf-forger/bmad-skill-manifest.yaml +11 -0
  135. package/src/skf-quick-skill/SKILL.md +56 -0
  136. package/src/{workflows/quick-skill/data → skf-quick-skill/references}/registry-resolution.md +6 -6
  137. package/src/{workflows/quick-skill → skf-quick-skill}/steps-c/step-01-resolve-target.md +9 -62
  138. package/src/{workflows/quick-skill → skf-quick-skill}/steps-c/step-02-ecosystem-check.md +5 -59
  139. package/src/{workflows/quick-skill → skf-quick-skill}/steps-c/step-03-quick-extract.md +18 -61
  140. package/src/{workflows/quick-skill → skf-quick-skill}/steps-c/step-04-compile.md +6 -60
  141. package/src/{workflows/quick-skill → skf-quick-skill}/steps-c/step-05-validate.md +58 -78
  142. package/src/skf-quick-skill/steps-c/step-06-write.md +73 -0
  143. package/src/skf-quick-skill/steps-c/step-07-health-check.md +22 -0
  144. package/src/skf-refine-architecture/SKILL.md +57 -0
  145. package/src/{workflows/refine-architecture/data → skf-refine-architecture/references}/refinement-rules.md +16 -16
  146. package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-01-init.md +6 -63
  147. package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-02-gap-analysis.md +29 -71
  148. package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-03-issue-detection.md +5 -65
  149. package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-04-improvements.md +5 -64
  150. package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-05-compile.md +5 -56
  151. package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-06-report.md +14 -64
  152. package/src/skf-refine-architecture/steps-c/step-07-health-check.md +22 -0
  153. package/src/skf-rename-skill/SKILL.md +58 -0
  154. package/src/{workflows/rename-skill → skf-rename-skill}/steps-c/step-01-select.md +12 -73
  155. package/src/{workflows/rename-skill → skf-rename-skill}/steps-c/step-02-execute.md +32 -113
  156. package/src/skf-rename-skill/steps-c/step-03-report.md +83 -0
  157. package/src/skf-rename-skill/steps-c/step-04-health-check.md +22 -0
  158. package/src/skf-setup/SKILL.md +55 -0
  159. package/src/{workflows/setup-forge → skf-setup}/steps-c/step-01-detect-and-tier.md +6 -62
  160. package/src/{workflows/setup-forge → skf-setup}/steps-c/step-01b-ccc-index.md +9 -65
  161. package/src/{workflows/setup-forge → skf-setup}/steps-c/step-02-write-config.md +15 -60
  162. package/src/{workflows/setup-forge → skf-setup}/steps-c/step-03-auto-index.md +7 -66
  163. package/src/skf-setup/steps-c/step-04-report.md +92 -0
  164. package/src/skf-setup/steps-c/step-05-health-check.md +22 -0
  165. package/src/skf-test-skill/SKILL.md +59 -0
  166. package/src/skf-test-skill/references/migration-section-rules.md +114 -0
  167. package/src/skf-test-skill/references/scoring-rules.md +207 -0
  168. package/src/skf-test-skill/references/source-access-protocol.md +109 -0
  169. package/src/skf-test-skill/scripts/compute-score.py +310 -0
  170. package/src/skf-test-skill/steps-c/step-01-init.md +238 -0
  171. package/src/{workflows/test-skill → skf-test-skill}/steps-c/step-02-detect-mode.md +4 -62
  172. package/src/skf-test-skill/steps-c/step-03-coverage-check.md +347 -0
  173. package/src/skf-test-skill/steps-c/step-04-coherence-check.md +239 -0
  174. package/src/{workflows/test-skill → skf-test-skill}/steps-c/step-04b-external-validators.md +42 -77
  175. package/src/skf-test-skill/steps-c/step-05-score.md +266 -0
  176. package/src/skf-test-skill/steps-c/step-06-report.md +290 -0
  177. package/src/skf-test-skill/steps-c/step-07-health-check.md +25 -0
  178. package/src/skf-test-skill/templates/test-report-template.md +58 -0
  179. package/src/skf-update-skill/SKILL.md +58 -0
  180. package/src/{workflows/update-skill/data → skf-update-skill/references}/manual-section-rules.md +6 -6
  181. package/src/{workflows/update-skill/data → skf-update-skill/references}/merge-conflict-rules.md +5 -5
  182. package/src/skf-update-skill/references/remote-source-resolution.md +94 -0
  183. package/src/{workflows/update-skill → skf-update-skill}/steps-c/step-01-init.md +22 -69
  184. package/src/skf-update-skill/steps-c/step-02-detect-changes.md +255 -0
  185. package/src/skf-update-skill/steps-c/step-03-re-extract.md +336 -0
  186. package/src/{workflows/update-skill → skf-update-skill}/steps-c/step-04-merge.md +60 -72
  187. package/src/{workflows/update-skill → skf-update-skill}/steps-c/step-05-validate.md +5 -62
  188. package/src/skf-update-skill/steps-c/step-06-write.md +278 -0
  189. package/src/{workflows/update-skill → skf-update-skill}/steps-c/step-07-report.md +11 -66
  190. package/src/skf-update-skill/steps-c/step-08-health-check.md +22 -0
  191. package/src/skf-verify-stack/SKILL.md +60 -0
  192. package/src/skf-verify-stack/assets/feasibility-report-template.md +76 -0
  193. package/src/{workflows/verify-stack/data → skf-verify-stack/references}/coverage-patterns.md +12 -4
  194. package/src/skf-verify-stack/references/integration-verification-rules.md +78 -0
  195. package/src/skf-verify-stack/steps-c/step-01-init.md +178 -0
  196. package/src/{workflows/verify-stack → skf-verify-stack}/steps-c/step-02-coverage.md +27 -72
  197. package/src/skf-verify-stack/steps-c/step-03-integrations.md +179 -0
  198. package/src/{workflows/verify-stack → skf-verify-stack}/steps-c/step-04-requirements.md +14 -67
  199. package/src/skf-verify-stack/steps-c/step-05-synthesize.md +147 -0
  200. package/src/skf-verify-stack/steps-c/step-06-report.md +156 -0
  201. package/src/skf-verify-stack/steps-c/step-07-health-check.md +25 -0
  202. package/tools/cli/commands/install.js +1 -1
  203. package/tools/cli/commands/status.js +21 -23
  204. package/tools/cli/commands/uninstall.js +11 -19
  205. package/tools/cli/commands/update.js +2 -2
  206. package/tools/cli/lib/ide-skills.js +216 -0
  207. package/tools/cli/lib/installer.js +29 -52
  208. package/tools/cli/lib/manifest.js +11 -5
  209. package/tools/cli/lib/platform-codes.yaml +223 -0
  210. package/tools/cli/lib/ui.js +76 -47
  211. package/tools/validate-docs-drift.js +193 -0
  212. package/src/agents/forger.agent.yaml +0 -114
  213. package/src/workflows/README.md +0 -174
  214. package/src/workflows/analyze-source/data/skill-brief-schema.md +0 -125
  215. package/src/workflows/analyze-source/data/unit-detection-heuristics.md +0 -124
  216. package/src/workflows/analyze-source/workflow.md +0 -61
  217. package/src/workflows/audit-skill/workflow.md +0 -64
  218. package/src/workflows/brief-skill/data/skill-brief-schema.md +0 -159
  219. package/src/workflows/brief-skill/workflow.md +0 -58
  220. package/src/workflows/create-skill/data/source-resolution-protocols.md +0 -200
  221. package/src/workflows/create-skill/steps-c/step-03-extract.md +0 -301
  222. package/src/workflows/create-skill/steps-c/step-03b-fetch-temporal.md +0 -253
  223. package/src/workflows/create-skill/steps-c/step-06-validate.md +0 -254
  224. package/src/workflows/create-skill/steps-c/step-08-report.md +0 -176
  225. package/src/workflows/create-skill/workflow.md +0 -53
  226. package/src/workflows/create-stack-skill/steps-c/step-05-detect-integrations.md +0 -196
  227. package/src/workflows/create-stack-skill/steps-c/step-07-generate-output.md +0 -270
  228. package/src/workflows/create-stack-skill/steps-c/step-09-report.md +0 -145
  229. package/src/workflows/create-stack-skill/workflow.md +0 -59
  230. package/src/workflows/drop-skill/steps-c/step-03-report.md +0 -135
  231. package/src/workflows/drop-skill/workflow.md +0 -63
  232. package/src/workflows/export-skill/data/managed-section-format.md +0 -103
  233. package/src/workflows/export-skill/steps-c/step-01-load-skill.md +0 -237
  234. package/src/workflows/export-skill/workflow.md +0 -58
  235. package/src/workflows/quick-skill/steps-c/step-06-write.md +0 -179
  236. package/src/workflows/quick-skill/workflow.md +0 -58
  237. package/src/workflows/refine-architecture/workflow.md +0 -61
  238. package/src/workflows/rename-skill/steps-c/step-03-report.md +0 -132
  239. package/src/workflows/rename-skill/workflow.md +0 -64
  240. package/src/workflows/setup-forge/steps-c/step-04-report.md +0 -156
  241. package/src/workflows/setup-forge/workflow.md +0 -51
  242. package/src/workflows/test-skill/data/scoring-rules.md +0 -123
  243. package/src/workflows/test-skill/data/source-access-protocol.md +0 -51
  244. package/src/workflows/test-skill/steps-c/step-01-init.md +0 -217
  245. package/src/workflows/test-skill/steps-c/step-03-coverage-check.md +0 -280
  246. package/src/workflows/test-skill/steps-c/step-04-coherence-check.md +0 -271
  247. package/src/workflows/test-skill/steps-c/step-05-score.md +0 -222
  248. package/src/workflows/test-skill/steps-c/step-06-report.md +0 -207
  249. package/src/workflows/test-skill/templates/test-report-template.md +0 -28
  250. package/src/workflows/test-skill/workflow.md +0 -57
  251. package/src/workflows/update-skill/data/remote-source-resolution.md +0 -57
  252. package/src/workflows/update-skill/steps-c/step-02-detect-changes.md +0 -221
  253. package/src/workflows/update-skill/steps-c/step-03-re-extract.md +0 -256
  254. package/src/workflows/update-skill/steps-c/step-06-write.md +0 -265
  255. package/src/workflows/update-skill/workflow.md +0 -56
  256. package/src/workflows/verify-stack/data/feasibility-report-template.md +0 -63
  257. package/src/workflows/verify-stack/data/integration-verification-rules.md +0 -73
  258. package/src/workflows/verify-stack/steps-c/step-01-init.md +0 -179
  259. package/src/workflows/verify-stack/steps-c/step-03-integrations.md +0 -195
  260. package/src/workflows/verify-stack/steps-c/step-05-synthesize.md +0 -191
  261. package/src/workflows/verify-stack/steps-c/step-06-report.md +0 -197
  262. package/src/workflows/verify-stack/workflow.md +0 -61
  263. package/tools/cli/lib/compiler.js +0 -306
  264. package/tools/cli/lib/ide-commands.js +0 -244
  265. /package/src/{workflows/analyze-source → skf-analyze-source}/templates/analysis-report-template.md +0 -0
  266. /package/src/{workflows/quick-skill/data → skf-quick-skill/assets}/skill-template.md +0 -0
  267. /package/src/{workflows/setup-forge/data → skf-setup/references}/tier-rules.md +0 -0
  268. /package/src/{workflows/test-skill/data → skf-test-skill/assets}/output-section-formats.md +0 -0
@@ -1,196 +0,0 @@
1
- ---
2
- name: 'step-05-detect-integrations'
3
- description: 'Detect co-import patterns and integration points between confirmed libraries'
4
-
5
- nextStepFile: './step-06-compile-stack.md'
6
- integrationPatterns: '../data/integration-patterns.md'
7
- composeModeRules: '../data/compose-mode-rules.md'
8
- ---
9
-
10
- # Step 5: Detect Integrations
11
-
12
- ## STEP GOAL:
13
-
14
- Analyze co-import patterns between confirmed libraries to identify integration points — where and how libraries connect in this specific codebase.
15
-
16
- ## MANDATORY EXECUTION RULES (READ FIRST):
17
-
18
- ### Universal Rules:
19
-
20
- - 📖 CRITICAL: Read the complete step file before taking any action
21
- - ⚙️ TOOL/SUBPROCESS FALLBACK: If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context thread
22
- - ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
23
-
24
- ### Role Reinforcement:
25
-
26
- - ✅ You are an integration architect operating in Ferris Architect mode
27
- - ✅ Zero hallucination — only document integrations evidenced in actual code
28
- - ✅ Every integration pattern must cite co-import files with file:line references
29
-
30
- ### Step-Specific Rules:
31
-
32
- - 🎯 Focus on detecting cross-library patterns using Pattern 1 (grep/search): In Claude Code, use the Grep tool or Bash with `rg`. In Cursor, use built-in search. In CLI, use `grep`/`rg` directly. See [knowledge/tool-resolution.md](../../../knowledge/tool-resolution.md)
33
- - 🚫 FORBIDDEN to compile SKILL.md — that is step 06
34
- - 💬 Integration detection is the core differentiator of stack skills vs individual skills
35
- - ⚙️ If subprocess unavailable, perform grep operations in main thread
36
-
37
- ## EXECUTION PROTOCOLS:
38
-
39
- - 🎯 Load integration-patterns.md for detection rules
40
- - 💾 Store integration_graph as workflow state
41
- - 📖 Auto-proceed to step 06 after detection complete
42
- - 🚫 Graceful handling if no integrations detected
43
-
44
- ## CONTEXT BOUNDARIES:
45
-
46
- - From step 03: confirmed_dependencies[] — in code-mode, includes file lists per library; in compose-mode, file lists are not present (use per_library_extractions[] from step 04 for skill content)
47
- - From step 04: per_library_extractions[] with exports and patterns
48
- - This step produces: integration_graph {pairs[], types[], files[]}
49
- - This is the VALUE-ADD step — what makes stack skills different from individual skills
50
-
51
- ## MANDATORY SEQUENCE
52
-
53
- **CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
54
-
55
- ### 1. Generate Library Pairs
56
-
57
- From `confirmed_dependencies`, generate all unique pairs:
58
- - N libraries → N*(N-1)/2 pairs
59
- - Skip pairs where either library had extraction failure in step 04
60
-
61
- Report: "**Analyzing {pair_count} library pairs for integration patterns...**"
62
-
63
- ### 2. Detect Co-Import Files
64
-
65
- **If `compose_mode` is true:**
66
-
67
- Instead of co-import grep, detect integrations from architecture document:
68
-
69
- 1. Load `{composeModeRules}` for integration evidence format rules
70
- 2. **If `{architecture_doc_path}` is null or not available:** Skip directly to the "If no architecture document available" fallback below
71
- 3. Load the architecture document from `{architecture_doc_path}`
72
- 4. Use prose-based co-mention analysis: find paragraphs mentioning 2+ confirmed skill names
73
- 5. For each detected integration pair:
74
- - Load both skills' export lists and API signatures
75
- - Compose an integration section following the format from `{composeModeRules}`
76
- - Include VS feasibility verdict if a feasibility report (`feasibility-report-{project_name}.md`) exists in `{forge_data_folder}/`
77
- - Cite evidence from both skills: `[from skill: {skill_name}]`
78
-
79
- All integration evidence inherits confidence tiers from the source skills. Load and apply the full **Confidence Tier Inheritance** matrix from `{composeModeRules}` to compute the correct tier for each pair (covers T1+T1, T1+T1-low, T1-low+T1-low, T1+T2, T1-low+T2, T2+T2 cases). Apply the `[composed]` suffix to all confidence labels — e.g., `T1 [composed]`, `T1-low [composed, +T2 annotations]`.
80
-
81
- **VS verdict parsing (if feasibility report exists):** Read the `overall_verdict` from the report's YAML frontmatter. Parse the `## Integration Verdicts` markdown table for per-pair verdicts. For each architecture-detected pair, include `VS overall: {verdict}` and `VS pair: {verdict}` in the integration evidence per the format in `{composeModeRules}`. VS verdicts do not apply to inferred integrations since the VS report operates on architecture-described interactions only. Additionally, flag any pairs where VS reported `Risky` or `Blocked` by appending a `[VS: Risky]` or `[VS: Blocked]` warning annotation to the integration entry.
82
-
83
- If no architecture document available:
84
- - Infer potential integrations from skills sharing the same `language` field or sharing domain keywords in their SKILL.md descriptions (use the `usage_patterns` and `exports` fields from `per_library_extractions[]` built in step-04, or reload SKILL.md from the version-aware path: use `skill_package_path` from step-02, or resolve via `{skills_output_folder}/{skill_dir}/active/{skill_dir}/SKILL.md` — see [knowledge/version-paths.md](../../../knowledge/version-paths.md))
85
- - Mark inferred integrations: `[inferred from shared domain]` — use this suffix instead of `[composed]` for inferred integrations
86
- - Inferred integrations qualify automatically — no file-count threshold applies
87
-
88
- Skip to section 3 (Classify Integration Types) with the compose-mode pairs.
89
-
90
- **If not compose_mode:**
91
-
92
- For each library pair (A, B):
93
-
94
- **Launch a subprocess** that greps across all source files to find files importing BOTH library A and library B. Return only file paths and import line numbers.
95
-
96
- **Subprocess resolution:** Use the Grep tool (Claude Code), built-in search (Cursor), or `grep`/`rg` (CLI). See [knowledge/tool-resolution.md](../../../knowledge/tool-resolution.md).
97
-
98
- **Subprocess returns:** `{pair: [A, B], co_import_files: [{path, line_A, line_B}], count: N}`
99
-
100
- **If subprocess unavailable:** Intersect the file lists from step 03 import counts for each pair.
101
-
102
- **Threshold:** A pair must have 2+ co-import files to qualify as an integration pattern (single file co-imports may be incidental).
103
-
104
- **CCC Semantic Augmentation (Forge+ and Deep with ccc):**
105
-
106
- If `tools.ccc` is true AND `ccc_index.status` is `"fresh"` or `"stale"` in forge-tier.yaml, augment co-import detection with semantic search (max 1 query per library pair):
107
-
108
- For each library pair that has exactly 1 co-import file (below the 2-file threshold), run `ccc_bridge.search("{libA} {libB}", source_root, top_k=10)` to find files where the two libraries interact semantically — even without explicit import co-location. If CCC returns additional files where both libraries appear, add them to the pair's co-import candidate list and re-evaluate against the 2-file threshold.
109
-
110
- **Tool resolution for ccc_bridge.search:** Use `/ccc` skill search (Claude Code), ccc MCP server (Cursor), or `ccc search "{libA} {libB}" --path {source_root} --top 10` (CLI). See [knowledge/tool-resolution.md](../../../knowledge/tool-resolution.md).
111
-
112
- For pairs that already qualify (2+ files), CCC is not needed for detection — but the CCC results may surface additional integration files for richer classification in section 3.
113
-
114
- CCC failures: skip augmentation silently, proceed with grep-only results.
115
-
116
- ### 3. Classify Integration Types
117
-
118
- Load `{integrationPatterns}` for classification rules.
119
-
120
- For each qualifying pair, analyze to classify the integration type (**in compose-mode**: all architecture-document-detected pairs qualify automatically — the 2+ co-import file threshold applies only in code-mode; **in code-mode**: pair must have 2+ co-import files):
121
-
122
- - **Type 1: Middleware Chain** — Sequential function calls piping output between libraries
123
- - **Type 2: Shared Types** — Type definitions exchanged between libraries
124
- - **Type 3: Configuration Bridge** — One library configuring or initializing another
125
- - **Type 4: Event Handler** — Event patterns crossing library boundaries
126
- - **Type 5: Adapter/Wrapper** — Thin wrapper connecting library interfaces
127
- - **Type 6: State Sharing** — Shared state stores or context providers
128
-
129
- For each detected integration:
130
- - Identify the top 3 files demonstrating the pattern
131
- - Extract a brief description of how the libraries connect
132
- - Assign confidence: T1 if AST-verified, T1-low if source reading
133
-
134
- ### 4. Build Integration Graph
135
-
136
- Assemble the integration graph:
137
- - **Nodes:** Confirmed libraries (with extraction data from step 04)
138
- - **Edges:** Detected integration pairs with type, file count, and description
139
- - Identify **hub libraries** (connected to 3+ other libraries)
140
- - Identify **cross-cutting patterns** (patterns spanning 3+ libraries)
141
-
142
- ### 5. Display Integration Summary
143
-
144
- **If integrations detected:**
145
-
146
- "**Integration detection complete.**
147
-
148
- **Integration graph:** {lib_count} libraries, {pair_count} integration pairs
149
-
150
- **Hub libraries** (connected to 3+ others):
151
- {For each hub:} - **{library}** — integrates with {partner_list}
152
-
153
- **Detected integrations:**
154
- | Library A | Library B | Type | Co-import Files | Confidence |
155
- |-----------|-----------|------|-----------------|------------|
156
- | {name} | {name} | {type} | {count} | {tier} |
157
-
158
- {If cross-cutting patterns:}
159
- **Cross-cutting patterns:**
160
- - {description spanning 3+ libraries}
161
-
162
- **Proceeding to stack compilation...**"
163
-
164
- **If no integrations detected:**
165
-
166
- "**No co-import integration patterns detected** between confirmed libraries.
167
-
168
- The libraries in this project appear to operate independently. The stack skill will contain library summaries without an integration layer.
169
-
170
- **Proceeding to stack compilation...**"
171
-
172
- ### 6. Auto-Proceed to Next Step
173
-
174
- Load, read the full file and then execute `{nextStepFile}`.
175
-
176
- ---
177
-
178
- ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
179
-
180
- ### ✅ SUCCESS:
181
-
182
- - All library pairs analyzed for co-imports
183
- - Integration types classified using pattern rules
184
- - Hub libraries and cross-cutting patterns identified
185
- - Integration graph built with confidence labels
186
- - Graceful handling of zero integrations (not a failure)
187
- - Auto-proceeded to step 06
188
-
189
- ### ❌ SYSTEM FAILURE:
190
-
191
- - Fabricating integrations not evidenced in code
192
- - Not applying the 2+ file threshold for pairs
193
- - Starting to compile SKILL.md (step 06's job)
194
- - Treating zero integrations as a workflow failure (it's valid)
195
-
196
- **Master Rule:** Only document integrations that exist in actual code. Zero integrations is a valid result.
@@ -1,270 +0,0 @@
1
- ---
2
- name: 'step-07-generate-output'
3
- description: 'Write all output files — SKILL.md, references, metadata, context-snippet, and forge-data'
4
-
5
- nextStepFile: './step-08-validate.md'
6
- stackSkillTemplate: '../data/stack-skill-template.md'
7
- ---
8
-
9
- # Step 7: Generate Output Files
10
-
11
- ## STEP GOAL:
12
-
13
- Write all deliverable and workspace artifact files to their target directories.
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 a skill packager operating in Ferris Architect mode
26
- - ✅ Precise file writing — every file matches its template structure
27
- - ✅ Hard halt on any write failure — partial output is worse than no output
28
-
29
- ### Step-Specific Rules:
30
-
31
- - 🎯 Write ALL output files in correct directory structure
32
- - 🚫 FORBIDDEN to modify compiled content — step 06 produced the approved version
33
- - 💬 Report each file written with path and size
34
- - 🎯 Create directory structure before writing files
35
-
36
- ## EXECUTION PROTOCOLS:
37
-
38
- - 🎯 Create output directories, write all files
39
- - 💾 Store written_files list as workflow state
40
- - 📖 Auto-proceed to validation after all files written
41
- - 🚫 HARD HALT on any individual file write failure
42
-
43
- ## CONTEXT BOUNDARIES:
44
-
45
- - From step 06: skill_content (approved compiled SKILL.md)
46
- - From step 04: per_library_extractions[] for reference files
47
- - From step 05: integration_graph for integration pair references
48
- - From step 01: forge_tier, project info for metadata
49
- - This step produces: written_files[] (all output artifacts)
50
- - Path resolution: See `knowledge/version-paths.md` for canonical path templates. Stack skills use `{project_name}-stack` as the skill name
51
-
52
- ## MANDATORY SEQUENCE
53
-
54
- **CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
55
-
56
- ### 1. Create Output Directories
57
-
58
- Resolve `{version}` from the primary library version or default to `1.0.0`. Create the directory structure:
59
-
60
- ```
61
- {skill_group} # {skills_output_folder}/{project_name}-stack/
62
- {skill_package} # {skills_output_folder}/{project_name}-stack/{version}/{project_name}-stack/
63
- ├── references/
64
- │ └── integrations/
65
- ```
66
-
67
- ```
68
- {forge_version} # {forge_data_folder}/{project_name}-stack/{version}/
69
- ```
70
-
71
- Where the skill name is `{project_name}-stack` and `{version}` is the semver version (with build metadata stripped per `knowledge/version-paths.md`).
72
-
73
- If directories already exist, proceed (overwrite previous output).
74
-
75
- ### 2. Write SKILL.md
76
-
77
- Write `{skill_package}/SKILL.md` with the approved skill_content from step 06.
78
-
79
- ### 3. Write Per-Library Reference Files
80
-
81
- For each confirmed library, write `{skill_package}/references/{library_name}.md`:
82
-
83
- Load structure from `{stackSkillTemplate}` references section:
84
- - Library name, version from manifest (**in compose-mode**: version from source skill `metadata.json`)
85
- - Import count and file count (**in compose-mode**: export count from source skill metadata)
86
- - Key exports with signatures
87
- - Usage patterns with file:line citations (**in compose-mode**: usage patterns from source skill SKILL.md)
88
- - Confidence tier label
89
-
90
- ### 4. Write Integration Pair Reference Files
91
-
92
- For each detected integration pair, write `{skill_package}/references/integrations/{libraryA}-{libraryB}.md`:
93
-
94
- Load structure from `{stackSkillTemplate}` integrations section:
95
- - Library pair and integration type
96
- - Co-import file count
97
- - Integration pattern description with file:line citations
98
- - Usage convention
99
- - Confidence tier label
100
-
101
- **If no integrations detected:** Skip this section (no files to write).
102
-
103
- ### 5. Write context-snippet.md
104
-
105
- Write `{skill_package}/context-snippet.md`:
106
-
107
- Use the Vercel-aligned indexed format targeting ~80-120 tokens:
108
- ```
109
- [{project_name}-stack v{version — in code-mode: primary_library_version or 1.0.0; in compose-mode: highest version across constituent skill metadata.json files, or 1.0.0 if none}]|root: skills/{project_name}-stack/
110
- |IMPORTANT: {project_name}-stack — read SKILL.md before writing integration code. Do NOT rely on training data.
111
- |stack: {dep-1}@{v1}, {dep-2}@{v2}, {dep-3}@{v3}
112
- |integrations: {pattern-1}, {pattern-2}
113
- |gotchas: {1-2 most critical integration pitfalls}
114
- ```
115
-
116
- ### 6. Write metadata.json
117
-
118
- Write `{skill_package}/metadata.json`:
119
-
120
- Populate all fields from the metadata.json schema defined in `{stackSkillTemplate}`:
121
-
122
- ```json
123
- {
124
- "skill_type": "stack",
125
- "name": "{project_name}-stack",
126
- "version": "{primary_library_version or 1.0.0}",
127
- "generation_date": "{current_date}",
128
- "confidence_tier": "{tier}",
129
- "spec_version": "1.3",
130
- "source_authority": "{official|community|internal — use the lowest authority among constituent skills}",
131
- "generated_by": "create-stack-skill",
132
- "exports": [],
133
- "library_count": N,
134
- "integration_count": N,
135
- "libraries": ["lib1", "lib2"],
136
- "integration_pairs": [["lib1", "lib2"]],
137
- "language": "{primary language or list of languages from constituent skills}",
138
- "ast_node_count": "{number or omit if no AST extraction performed}",
139
- "confidence_distribution": {"t1": N, "t1_low": N, "t2": N, "t3": N},
140
- "tool_versions": {
141
- "ast_grep": "{version or null}",
142
- "qmd": "{version or null}",
143
- "skf": "{skf_version}"
144
- },
145
- "stats": {
146
- "exports_documented": N,
147
- "exports_public_api": N,
148
- "exports_internal": N,
149
- "exports_total": N,
150
- "public_api_coverage": 0.0,
151
- "total_coverage": 0.0,
152
- "scripts_count": N,
153
- "assets_count": N
154
- },
155
- "dependencies": [],
156
- "compatibility": "{semver-range}"
157
- }
158
- ```
159
-
160
- ### 7. Write Forge Data Artifacts
161
-
162
- Write workspace artifacts to `{forge_version}`:
163
-
164
- **provenance-map.json:**
165
-
166
- **In code-mode:**
167
- ```json
168
- {
169
- "libraries": {
170
- "lib_name": {
171
- "manifest_source": "package.json",
172
- "extraction_method": "ast_bridge|source_reading|qmd_bridge",
173
- "confidence": "T1|T1-low|T2",
174
- "files_analyzed": N,
175
- "exports_found": N
176
- }
177
- },
178
- "integrations": {
179
- "libA+libB": {
180
- "detection_method": "co-import grep",
181
- "co_import_files": N,
182
- "type": "pattern_type"
183
- }
184
- }
185
- }
186
- ```
187
-
188
- **In compose-mode:**
189
- ```json
190
- {
191
- "libraries": {
192
- "lib_name": {
193
- "source_skill_path": "skills/{skill_dir}/",
194
- "compose_source": "architecture_co_mention|inferred_from_shared_domain",
195
- "confidence": "T1|T1-low|T2",
196
- "source_skill_tier": "{original skill confidence tier}",
197
- "exports_found": N
198
- }
199
- },
200
- "integrations": {
201
- "libA+libB": {
202
- "detection_method": "architecture_co_mention|inferred_from_shared_domain",
203
- "type": "pattern_type"
204
- }
205
- }
206
- }
207
- ```
208
-
209
- **evidence-report.md:**
210
- - Extraction summary per library
211
- - Integration detection results per pair
212
- - Warnings and failures encountered
213
- - Confidence tier distribution
214
-
215
- ### 8. Create Active Symlink
216
-
217
- Create or update the `active` symlink at `{skill_group}/active` pointing to `{version}`:
218
-
219
- ```
220
- {skill_group}/active -> {version}
221
- ```
222
-
223
- If the symlink already exists, remove it first and recreate. This ensures `{skill_group}/active/{project_name}-stack/` resolves to the just-written skill package.
224
-
225
- ### 9. Display Write Summary
226
-
227
- "**Output files written.**
228
-
229
- **Deliverables** ({skill_package}):
230
- - SKILL.md ({line_count} lines)
231
- - context-snippet.md ({token_estimate} tokens)
232
- - metadata.json
233
- - references/ -- {lib_count} library files
234
- - references/integrations/ -- {pair_count} integration files
235
-
236
- **Workspace** ({forge_version}):
237
- - provenance-map.json
238
- - evidence-report.md
239
-
240
- **Symlink:** {skill_group}/active -> {version}
241
-
242
- **Total files written:** {total_count}
243
-
244
- **Proceeding to validation...**"
245
-
246
- ### 10. Auto-Proceed to Next Step
247
-
248
- Load, read the full file and then execute `{nextStepFile}`.
249
-
250
- ---
251
-
252
- ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
253
-
254
- ### ✅ SUCCESS:
255
-
256
- - All deliverable files written to {skill_package}
257
- - All workspace artifacts written to {forge_version}
258
- - Directory structure created correctly with version nesting
259
- - Active symlink created at {skill_group}/active -> {version}
260
- - Each file matches its template structure
261
- - Write summary displayed with accurate counts
262
-
263
- ### ❌ SYSTEM FAILURE:
264
-
265
- - Any file write failure not caught (hard halt required)
266
- - Modifying approved skill_content during writing
267
- - Missing files from the expected output set
268
- - Wrong directory paths for output
269
-
270
- **Master Rule:** Write everything, modify nothing. Hard halt on any write failure.
@@ -1,145 +0,0 @@
1
- ---
2
- name: 'step-09-report'
3
- description: 'Display final stack skill summary with confidence distribution and next workflow recommendations'
4
- ---
5
-
6
- # Step 9: Stack Skill Report
7
-
8
- ## STEP GOAL:
9
-
10
- Display the final summary of the forged stack skill with confidence distribution, output file listing, and next workflow recommendations.
11
-
12
- ## MANDATORY EXECUTION RULES (READ FIRST):
13
-
14
- ### Universal Rules:
15
-
16
- - 📖 CRITICAL: Read the complete step file before taking any action
17
- - ⚙️ 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
18
- - ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
19
-
20
- ### Role Reinforcement:
21
-
22
- - ✅ You are Ferris delivering the final forge report
23
- - ✅ Positive capability framing — lead with what was accomplished
24
- - ✅ Warnings are secondary — present them only if they exist
25
-
26
- ### Step-Specific Rules:
27
-
28
- - 🎯 This is the FINAL step — no nextStepFile
29
- - 🚫 FORBIDDEN to write or modify any files — report is console output only
30
- - 💬 Lead with the positive summary, then details, then warnings if any
31
- - 🎯 Recommend next workflows based on what was produced
32
-
33
- ## EXECUTION PROTOCOLS:
34
-
35
- - 🎯 Compile summary from all previous step results
36
- - 📖 Display report to user — workflow is complete after this
37
- - 🚫 No file writes, no state updates — this is terminal output
38
-
39
- ## CONTEXT BOUNDARIES:
40
-
41
- - From step 01: project_name, forge_tier
42
- - From step 03: confirmed_dependencies[] count
43
- - From step 04: per_library_extractions[] with confidence tiers
44
- - From step 05: integration_graph with pair count
45
- - From step 07: written_files[] with paths
46
- - From step 08: validation_result with findings
47
- - This step produces: console report (no stored artifacts)
48
-
49
- ## MANDATORY SEQUENCE
50
-
51
- **CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
52
-
53
- ### 1. Display Stack Forged Banner
54
-
55
- "**Stack forged: {project_name}-stack — {lib_count} libraries, {integration_count} integration patterns**
56
-
57
- Forge tier: **{tier}**"
58
-
59
- ### 2. Display Confidence Distribution
60
-
61
- "**Confidence distribution:**
62
-
63
- | Tier | Count | Description |
64
- |------|-------|-------------|
65
- | T1 | {count} | AST-verified structural extraction |
66
- | T1-low | {count} | Source reading inference |
67
- | T2 | {count} | QMD-enriched temporal context |
68
-
69
- {IF compose_mode:}
70
- *Note: Confidence tiers above are inherited from source skills — they reflect the extraction method used when those skills were originally generated, not the current compose run.*
71
- {END IF}"
72
-
73
- ### 3. Display Output File Summary
74
-
75
- "**Output files:**
76
-
77
- **Deliverables** (`{skill_package}`):
78
- - SKILL.md — Integration patterns, library summaries, conventions
79
- - context-snippet.md — Compressed stack index ({token_estimate} tokens)
80
- - metadata.json — Skill metadata and library registry
81
- - references/ — {lib_count} per-library reference files
82
- {If integrations:} - references/integrations/ — {pair_count} integration pair files
83
-
84
- **Workspace** (`{forge_version}`):
85
- - provenance-map.json — Extraction source tracking
86
- - evidence-report.md — Evidence and confidence breakdown
87
-
88
- **Symlink:** `{skill_group}/active` -> `{version}`"
89
-
90
- ### 4. Display Validation Summary
91
-
92
- **If validation passed with no findings:**
93
-
94
- "**Validation:** All checks passed"
95
-
96
- **If validation had findings:**
97
-
98
- "**Validation:** {warning_count} warning(s) found
99
- {For each finding:}
100
- - ⚠ {description}"
101
-
102
- ### 5. Display Warnings (Conditional)
103
-
104
- **Only display if warnings exist from any step:**
105
-
106
- "**Warnings:**
107
- {For each warning from steps 04, 05, 07, 08:}
108
- - {warning_description}"
109
-
110
- **If no warnings:** Skip this section entirely.
111
-
112
- ### 6. Recommend Next Workflows
113
-
114
- "**Next steps:**
115
- - **[TS] test-skill** — Validate the stack skill against its own assertions
116
- - **[EX] export-skill** — Package for distribution or agent loading
117
-
118
- - **[VS] verify-stack** — Validate the stack's integration feasibility against your architecture document{IF compose_mode:} (re-run to confirm feasibility after any architecture changes from **[RA] refine-architecture**){END IF}
119
-
120
- **Workflow complete.**"
121
-
122
- ---
123
-
124
- ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
125
-
126
- ### ✅ SUCCESS:
127
-
128
- - Banner displayed with accurate library and integration counts
129
- - Confidence distribution table with correct tier counts
130
- - All output files listed with descriptions
131
- - Validation summary reflects actual step 08 findings
132
- - Warnings displayed only when they exist
133
- - Next workflow recommendations included
134
- - Positive capability framing throughout
135
-
136
- ### ❌ SYSTEM FAILURE:
137
-
138
- - Inaccurate counts in banner or distribution table
139
- - Missing output files from the listing
140
- - Displaying warnings section when no warnings exist
141
- - Writing or modifying files in this step
142
- - Not recommending next workflows
143
- - Negative framing or apologetic tone
144
-
145
- **Master Rule:** Celebrate what was built. Report accurately. Recommend next steps. Workflow complete.
@@ -1,59 +0,0 @@
1
- ---
2
- name: create-stack-skill
3
- description: Consolidated project stack skill with integration patterns
4
- web_bundle: true
5
- installed_path: '{project-root}/_bmad/skf/workflows/skillforge/create-stack-skill'
6
- ---
7
-
8
- # Create Stack Skill
9
-
10
- **Goal:** Produce a consolidated stack skill documenting how libraries connect. **Code-mode:** analyzes dependency manifests and co-import patterns from actual source code. **Compose-mode:** synthesizes from pre-generated individual skills and architecture documents when no codebase exists yet.
11
-
12
- **Your Role:** In addition to your name, communication_style, and persona, you are also a dependency analyst and integration architect operating in Ferris Architect mode. You bring expertise in dependency analysis, cross-library integration patterns, and compositional architecture, while the user brings their project knowledge and scope preferences. Execute with prescriptive precision — every finding must trace to actual code with file:line citations.
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
- - **Append-Only Building**: Build outputs by accumulating state across steps
26
- - **Zero Hallucination**: All extracted content must trace to actual source code — no inferred or assumed patterns. In compose-mode, inferred integrations are permitted but must be labeled `[inferred from shared domain]` per compose-mode-rules.md
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
-
47
- ---
48
-
49
- ## INITIALIZATION SEQUENCE
50
-
51
- ### 1. Module Configuration Loading
52
-
53
- Load and read full config from {project-root}/_bmad/skf/config.yaml and resolve:
54
-
55
- - `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `skills_output_folder`, `forge_data_folder`, `sidecar_path`
56
-
57
- ### 2. First Step Execution
58
-
59
- Load, read the full file and then execute `./steps-c/step-01-init.md` to begin the workflow.