bmad-module-skill-forge 0.10.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/shared/health-check.md +372 -0
  38. package/src/shared/references/feasibility-report-schema.md +86 -0
  39. package/src/shared/references/headless-gate-convention.md +62 -0
  40. package/src/shared/references/output-contract-schema.md +35 -0
  41. package/src/shared/references/pipeline-contracts.md +102 -0
  42. package/src/shared/scripts/skf-atomic-write.py +370 -0
  43. package/src/shared/scripts/skf-manifest-ops.py +236 -0
  44. package/src/shared/scripts/skf-preflight.py +164 -0
  45. package/src/shared/scripts/skf-rebuild-managed-sections.py +201 -0
  46. package/src/shared/scripts/skf-severity-classify.py +163 -0
  47. package/src/shared/scripts/skf-skill-inventory.py +210 -0
  48. package/src/shared/scripts/skf-structural-diff.py +257 -0
  49. package/src/shared/scripts/skf-validate-frontmatter.py +318 -0
  50. package/src/shared/scripts/skf-validate-output.py +247 -0
  51. package/src/skf-analyze-source/SKILL.md +57 -0
  52. package/src/skf-analyze-source/assets/skill-brief-schema.md +125 -0
  53. package/src/skf-analyze-source/references/unit-detection-heuristics.md +124 -0
  54. package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-01-init.md +6 -66
  55. package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-01b-continue.md +4 -59
  56. package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-02-scan-project.md +7 -68
  57. package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-03-identify-units.md +6 -66
  58. package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-04-map-and-detect.md +7 -68
  59. package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-05-recommend.md +6 -66
  60. package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-06-generate-briefs.md +14 -71
  61. package/src/skf-analyze-source/steps-c/step-07-health-check.md +22 -0
  62. package/src/skf-audit-skill/SKILL.md +59 -0
  63. package/src/{workflows/audit-skill/data → skf-audit-skill/assets}/drift-report-template.md +7 -7
  64. package/src/{workflows/audit-skill/data → skf-audit-skill/references}/severity-rules.md +11 -11
  65. package/src/{workflows/audit-skill → skf-audit-skill}/steps-c/step-01-init.md +24 -68
  66. package/src/{workflows/audit-skill → skf-audit-skill}/steps-c/step-02-re-index.md +36 -71
  67. package/src/{workflows/audit-skill → skf-audit-skill}/steps-c/step-03-structural-diff.md +21 -63
  68. package/src/{workflows/audit-skill → skf-audit-skill}/steps-c/step-04-semantic-diff.md +6 -65
  69. package/src/{workflows/audit-skill → skf-audit-skill}/steps-c/step-05-severity-classify.md +5 -63
  70. package/src/{workflows/audit-skill → skf-audit-skill}/steps-c/step-06-report.md +10 -64
  71. package/src/skf-audit-skill/steps-c/step-07-health-check.md +22 -0
  72. package/src/skf-brief-skill/SKILL.md +53 -0
  73. package/src/{workflows/brief-skill/data → skf-brief-skill/assets}/scope-templates.md +23 -0
  74. package/src/skf-brief-skill/assets/skill-brief-schema.md +206 -0
  75. package/src/{workflows/brief-skill → skf-brief-skill}/steps-c/step-01-gather-intent.md +6 -67
  76. package/src/{workflows/brief-skill → skf-brief-skill}/steps-c/step-02-analyze-target.md +6 -66
  77. package/src/{workflows/brief-skill → skf-brief-skill}/steps-c/step-03-scope-definition.md +12 -68
  78. package/src/{workflows/brief-skill → skf-brief-skill}/steps-c/step-04-confirm-brief.md +5 -63
  79. package/src/{workflows/brief-skill → skf-brief-skill}/steps-c/step-05-write-brief.md +10 -70
  80. package/src/skf-brief-skill/steps-c/step-06-health-check.md +22 -0
  81. package/src/skf-create-skill/SKILL.md +63 -0
  82. package/src/{workflows/create-skill/data → skf-create-skill/assets}/compile-assembly-rules.md +60 -0
  83. package/src/{workflows/create-skill/data → skf-create-skill/assets}/skill-sections.md +92 -23
  84. package/src/skf-create-skill/assets/tessl-dismissal-rules.md +102 -0
  85. package/src/{workflows/create-skill/data → skf-create-skill/references}/extraction-patterns-tracing.md +13 -13
  86. package/src/{workflows/create-skill/data → skf-create-skill/references}/extraction-patterns.md +8 -3
  87. package/src/skf-create-skill/references/source-resolution-protocols.md +239 -0
  88. package/src/{workflows/create-skill/data → skf-create-skill/references}/tier-degradation-rules.md +8 -7
  89. package/src/{workflows/create-skill → skf-create-skill}/steps-c/step-01-load-brief.md +25 -63
  90. package/src/{workflows/create-skill → skf-create-skill}/steps-c/step-02-ecosystem-check.md +8 -64
  91. package/src/skf-create-skill/steps-c/step-03-extract.md +379 -0
  92. package/src/{workflows/create-skill → skf-create-skill}/steps-c/step-03d-component-extraction.md +18 -35
  93. package/src/{workflows/create-skill → skf-create-skill}/steps-c/step-04-enrich.md +12 -69
  94. package/src/{workflows/create-skill → skf-create-skill}/steps-c/step-05-compile.md +71 -75
  95. package/src/skf-create-skill/steps-c/step-06-validate.md +267 -0
  96. package/src/{workflows/create-skill → skf-create-skill}/steps-c/step-07-generate-artifacts.md +30 -74
  97. package/src/skf-create-skill/steps-c/step-08-report.md +145 -0
  98. package/src/skf-create-skill/steps-c/step-09-health-check.md +23 -0
  99. package/src/{workflows/create-skill/steps-c → skf-create-skill/steps-c/sub}/step-02b-ccc-discover.md +8 -66
  100. package/src/skf-create-skill/steps-c/sub/step-03b-fetch-temporal.md +229 -0
  101. package/src/{workflows/create-skill/steps-c → skf-create-skill/steps-c/sub}/step-03c-fetch-docs.md +18 -42
  102. package/src/skf-create-stack-skill/SKILL.md +64 -0
  103. package/src/{workflows/create-stack-skill/data → skf-create-stack-skill/assets}/stack-skill-template.md +2 -1
  104. package/src/{workflows/create-stack-skill/data → skf-create-stack-skill/references}/compose-mode-rules.md +19 -5
  105. package/src/{workflows/create-stack-skill/data → skf-create-stack-skill/references}/integration-patterns.md +1 -1
  106. package/src/{workflows/create-stack-skill/data → skf-create-stack-skill/references}/manifest-patterns.md +10 -10
  107. package/src/{workflows/create-stack-skill → skf-create-stack-skill}/steps-c/step-01-init.md +14 -55
  108. package/src/{workflows/create-stack-skill → skf-create-stack-skill}/steps-c/step-02-detect-manifests.md +29 -63
  109. package/src/{workflows/create-stack-skill → skf-create-stack-skill}/steps-c/step-03-rank-and-confirm.md +9 -59
  110. package/src/{workflows/create-stack-skill → skf-create-stack-skill}/steps-c/step-04-parallel-extract.md +29 -64
  111. package/src/skf-create-stack-skill/steps-c/step-05-detect-integrations.md +164 -0
  112. package/src/{workflows/create-stack-skill → skf-create-stack-skill}/steps-c/step-06-compile-stack.md +7 -60
  113. package/src/skf-create-stack-skill/steps-c/step-07-generate-output.md +328 -0
  114. package/src/{workflows/create-stack-skill → skf-create-stack-skill}/steps-c/step-08-validate.md +17 -63
  115. package/src/skf-create-stack-skill/steps-c/step-09-report.md +128 -0
  116. package/src/skf-create-stack-skill/steps-c/step-10-health-check.md +22 -0
  117. package/src/skf-drop-skill/SKILL.md +57 -0
  118. package/src/{workflows/drop-skill → skf-drop-skill}/steps-c/step-01-select.md +9 -69
  119. package/src/{workflows/drop-skill → skf-drop-skill}/steps-c/step-02-execute.md +30 -106
  120. package/src/skf-drop-skill/steps-c/step-03-report.md +83 -0
  121. package/src/skf-drop-skill/steps-c/step-04-health-check.md +22 -0
  122. package/src/skf-export-skill/SKILL.md +57 -0
  123. package/src/skf-export-skill/assets/managed-section-format.md +138 -0
  124. package/src/{workflows/export-skill/data → skf-export-skill/assets}/snippet-format.md +8 -12
  125. package/src/skf-export-skill/steps-c/step-01-load-skill.md +247 -0
  126. package/src/{workflows/export-skill → skf-export-skill}/steps-c/step-02-package.md +5 -58
  127. package/src/{workflows/export-skill → skf-export-skill}/steps-c/step-03-generate-snippet.md +15 -77
  128. package/src/{workflows/export-skill → skf-export-skill}/steps-c/step-04-update-context.md +59 -133
  129. package/src/{workflows/export-skill → skf-export-skill}/steps-c/step-05-token-report.md +4 -58
  130. package/src/{workflows/export-skill → skf-export-skill}/steps-c/step-06-summary.md +16 -68
  131. package/src/skf-export-skill/steps-c/step-07-health-check.md +22 -0
  132. package/src/skf-forger/SKILL.md +110 -0
  133. package/src/skf-forger/bmad-skill-manifest.yaml +11 -0
  134. package/src/skf-quick-skill/SKILL.md +56 -0
  135. package/src/{workflows/quick-skill/data → skf-quick-skill/references}/registry-resolution.md +6 -6
  136. package/src/{workflows/quick-skill → skf-quick-skill}/steps-c/step-01-resolve-target.md +9 -62
  137. package/src/{workflows/quick-skill → skf-quick-skill}/steps-c/step-02-ecosystem-check.md +5 -59
  138. package/src/{workflows/quick-skill → skf-quick-skill}/steps-c/step-03-quick-extract.md +18 -61
  139. package/src/{workflows/quick-skill → skf-quick-skill}/steps-c/step-04-compile.md +6 -60
  140. package/src/{workflows/quick-skill → skf-quick-skill}/steps-c/step-05-validate.md +58 -78
  141. package/src/skf-quick-skill/steps-c/step-06-write.md +73 -0
  142. package/src/skf-quick-skill/steps-c/step-07-health-check.md +22 -0
  143. package/src/skf-refine-architecture/SKILL.md +57 -0
  144. package/src/{workflows/refine-architecture/data → skf-refine-architecture/references}/refinement-rules.md +16 -16
  145. package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-01-init.md +6 -63
  146. package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-02-gap-analysis.md +29 -71
  147. package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-03-issue-detection.md +5 -65
  148. package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-04-improvements.md +5 -64
  149. package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-05-compile.md +5 -56
  150. package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-06-report.md +11 -64
  151. package/src/skf-refine-architecture/steps-c/step-07-health-check.md +22 -0
  152. package/src/skf-rename-skill/SKILL.md +58 -0
  153. package/src/{workflows/rename-skill → skf-rename-skill}/steps-c/step-01-select.md +12 -73
  154. package/src/{workflows/rename-skill → skf-rename-skill}/steps-c/step-02-execute.md +32 -113
  155. package/src/skf-rename-skill/steps-c/step-03-report.md +83 -0
  156. package/src/skf-rename-skill/steps-c/step-04-health-check.md +22 -0
  157. package/src/skf-setup/SKILL.md +55 -0
  158. package/src/{workflows/setup-forge → skf-setup}/steps-c/step-01-detect-and-tier.md +6 -62
  159. package/src/{workflows/setup-forge → skf-setup}/steps-c/step-01b-ccc-index.md +9 -65
  160. package/src/{workflows/setup-forge → skf-setup}/steps-c/step-02-write-config.md +15 -60
  161. package/src/{workflows/setup-forge → skf-setup}/steps-c/step-03-auto-index.md +7 -66
  162. package/src/skf-setup/steps-c/step-04-report.md +92 -0
  163. package/src/skf-setup/steps-c/step-05-health-check.md +22 -0
  164. package/src/skf-test-skill/SKILL.md +59 -0
  165. package/src/skf-test-skill/references/migration-section-rules.md +114 -0
  166. package/src/skf-test-skill/references/scoring-rules.md +207 -0
  167. package/src/skf-test-skill/references/source-access-protocol.md +109 -0
  168. package/src/skf-test-skill/scripts/compute-score.py +310 -0
  169. package/src/skf-test-skill/steps-c/step-01-init.md +238 -0
  170. package/src/{workflows/test-skill → skf-test-skill}/steps-c/step-02-detect-mode.md +4 -62
  171. package/src/skf-test-skill/steps-c/step-03-coverage-check.md +347 -0
  172. package/src/skf-test-skill/steps-c/step-04-coherence-check.md +239 -0
  173. package/src/{workflows/test-skill → skf-test-skill}/steps-c/step-04b-external-validators.md +42 -77
  174. package/src/skf-test-skill/steps-c/step-05-score.md +266 -0
  175. package/src/skf-test-skill/steps-c/step-06-report.md +290 -0
  176. package/src/skf-test-skill/steps-c/step-07-health-check.md +25 -0
  177. package/src/skf-test-skill/templates/test-report-template.md +58 -0
  178. package/src/skf-update-skill/SKILL.md +58 -0
  179. package/src/{workflows/update-skill/data → skf-update-skill/references}/manual-section-rules.md +6 -6
  180. package/src/{workflows/update-skill/data → skf-update-skill/references}/merge-conflict-rules.md +5 -5
  181. package/src/skf-update-skill/references/remote-source-resolution.md +94 -0
  182. package/src/{workflows/update-skill → skf-update-skill}/steps-c/step-01-init.md +22 -69
  183. package/src/skf-update-skill/steps-c/step-02-detect-changes.md +255 -0
  184. package/src/skf-update-skill/steps-c/step-03-re-extract.md +336 -0
  185. package/src/{workflows/update-skill → skf-update-skill}/steps-c/step-04-merge.md +60 -72
  186. package/src/{workflows/update-skill → skf-update-skill}/steps-c/step-05-validate.md +5 -62
  187. package/src/skf-update-skill/steps-c/step-06-write.md +278 -0
  188. package/src/{workflows/update-skill → skf-update-skill}/steps-c/step-07-report.md +11 -69
  189. package/src/skf-update-skill/steps-c/step-08-health-check.md +22 -0
  190. package/src/skf-verify-stack/SKILL.md +60 -0
  191. package/src/skf-verify-stack/assets/feasibility-report-template.md +76 -0
  192. package/src/{workflows/verify-stack/data → skf-verify-stack/references}/coverage-patterns.md +12 -4
  193. package/src/skf-verify-stack/references/integration-verification-rules.md +78 -0
  194. package/src/skf-verify-stack/steps-c/step-01-init.md +178 -0
  195. package/src/{workflows/verify-stack → skf-verify-stack}/steps-c/step-02-coverage.md +27 -72
  196. package/src/skf-verify-stack/steps-c/step-03-integrations.md +179 -0
  197. package/src/{workflows/verify-stack → skf-verify-stack}/steps-c/step-04-requirements.md +14 -67
  198. package/src/skf-verify-stack/steps-c/step-05-synthesize.md +147 -0
  199. package/src/skf-verify-stack/steps-c/step-06-report.md +156 -0
  200. package/src/skf-verify-stack/steps-c/step-07-health-check.md +25 -0
  201. package/tools/cli/commands/install.js +1 -1
  202. package/tools/cli/commands/status.js +21 -23
  203. package/tools/cli/commands/uninstall.js +11 -19
  204. package/tools/cli/commands/update.js +2 -2
  205. package/tools/cli/lib/ide-skills.js +216 -0
  206. package/tools/cli/lib/installer.js +29 -52
  207. package/tools/cli/lib/manifest.js +11 -5
  208. package/tools/cli/lib/platform-codes.yaml +223 -0
  209. package/tools/cli/lib/ui.js +76 -47
  210. package/tools/validate-docs-drift.js +193 -0
  211. package/src/agents/forger.agent.yaml +0 -114
  212. package/src/workflows/README.md +0 -174
  213. package/src/workflows/analyze-source/data/skill-brief-schema.md +0 -125
  214. package/src/workflows/analyze-source/data/unit-detection-heuristics.md +0 -124
  215. package/src/workflows/analyze-source/workflow.md +0 -61
  216. package/src/workflows/audit-skill/workflow.md +0 -64
  217. package/src/workflows/brief-skill/data/skill-brief-schema.md +0 -159
  218. package/src/workflows/brief-skill/workflow.md +0 -58
  219. package/src/workflows/create-skill/data/source-resolution-protocols.md +0 -200
  220. package/src/workflows/create-skill/steps-c/step-03-extract.md +0 -301
  221. package/src/workflows/create-skill/steps-c/step-03b-fetch-temporal.md +0 -253
  222. package/src/workflows/create-skill/steps-c/step-06-validate.md +0 -254
  223. package/src/workflows/create-skill/steps-c/step-08-report.md +0 -179
  224. package/src/workflows/create-skill/workflow.md +0 -53
  225. package/src/workflows/create-stack-skill/steps-c/step-05-detect-integrations.md +0 -196
  226. package/src/workflows/create-stack-skill/steps-c/step-07-generate-output.md +0 -270
  227. package/src/workflows/create-stack-skill/steps-c/step-09-report.md +0 -150
  228. package/src/workflows/create-stack-skill/workflow.md +0 -59
  229. package/src/workflows/drop-skill/steps-c/step-03-report.md +0 -136
  230. package/src/workflows/drop-skill/workflow.md +0 -63
  231. package/src/workflows/export-skill/data/managed-section-format.md +0 -103
  232. package/src/workflows/export-skill/steps-c/step-01-load-skill.md +0 -237
  233. package/src/workflows/export-skill/workflow.md +0 -58
  234. package/src/workflows/quick-skill/steps-c/step-06-write.md +0 -178
  235. package/src/workflows/quick-skill/workflow.md +0 -58
  236. package/src/workflows/refine-architecture/workflow.md +0 -61
  237. package/src/workflows/rename-skill/steps-c/step-03-report.md +0 -133
  238. package/src/workflows/rename-skill/workflow.md +0 -64
  239. package/src/workflows/setup-forge/steps-c/step-04-report.md +0 -159
  240. package/src/workflows/setup-forge/workflow.md +0 -51
  241. package/src/workflows/shared/health-check.md +0 -231
  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 -208
  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 -200
  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
package/docs/index.md CHANGED
@@ -1,50 +1,67 @@
1
1
  ---
2
2
  title: Skill Forge (SKF)
3
- description: Turn code and docs into instructions AI agents can actually follow
3
+ description: Every instruction your AI reads cites a file, a line, and a commit SHA. Verify any claim in 60 seconds.
4
4
  template: splash
5
5
  hero:
6
- title: Skill Forge (SKF)
7
- tagline: Turn code and docs into instructions AI agents can actually follow.
6
+ title: Skill Forge
7
+ tagline: Every instruction your AI reads cites a file, a line, and a commit SHA.
8
8
  actions:
9
- - text: Getting Started
10
- link: ./getting-started/
9
+ - text: Why Skill Forge?
10
+ link: ./why-skf/
11
11
  icon: right-arrow
12
12
  variant: primary
13
- - text: View on GitHub
14
- link: https://github.com/armelhbobdad/bmad-module-skill-forge
15
- icon: external
13
+ - text: Install
14
+ link: ./getting-started/#install
15
+ icon: right-arrow
16
+ variant: secondary
16
17
  ---
17
18
 
18
- ## What does Skill Forge do?
19
+ ## The problem
20
+
21
+ AI agents hallucinate API calls. They invent function names, guess parameter types, and produce code that doesn't compile.
22
+
23
+ ## The fix
24
+
25
+ Skill Forge reads the source and hands your agent the truth — with receipts. Every function signature, every parameter type, every usage pattern traces back to a file, a line, and a commit SHA in the upstream repository.
26
+
27
+ <div class="receipt-sample">
28
+ <span class="receipt-sample__label">A receipt looks like</span>
29
+ <code class="receipt-sample__chip">[AST:cognee/api/v1/search/search.py:L26]</code>
30
+ <span class="receipt-sample__check" aria-label="verified">✓</span>
31
+ </div>
32
+
33
+ If SKF can't cite a source, it doesn't include the instruction.
34
+
35
+ <p class="cta-pill"><a href="./verifying-a-skill/">Verify any claim in 60 seconds →</a></p>
19
36
 
20
- AI agents hallucinate API calls. They invent function names, guess parameter types, and produce code that doesn't compile. Skill Forge fixes this by analyzing code repositories, documentation, and developer discourse — extracting real signatures and patterns and compiling them into verified instruction files that any AI agent can follow. Every instruction traces back to where it came from. Generated skills can also include executable scripts and static assets extracted from the source repository, each with full provenance tracking.
37
+ ## How SKF compares
21
38
 
22
- ## Quick Install
39
+ <div class="comparison-table">
23
40
 
24
- Requires [Node.js](https://nodejs.org/) >= 22.
41
+ | Approach | What it does well | Where it falls short |
42
+ |----------|-------------------|----------------------|
43
+ | Skill scaffolding (`npx skills init`) | Generates a spec-compliant skill file | The file is empty — you still have to write every instruction by hand |
44
+ | LLM summarization | Understands context and intent | Generates plausible-sounding content that may not match the actual API |
45
+ | RAG / context stuffing | Retrieves relevant code snippets | Returns fragments without synthesis — no coherent skill output |
46
+ | Manual authoring | High initial accuracy | Drifts as the source code changes, doesn't scale across dependencies |
47
+ | IDE built-in context (Copilot, Cursor) | Convenient, zero setup | Uses generic training data, not your project's specific integration patterns |
48
+ | **Skill Forge** | **Every instruction cites upstream `file:line` at a pinned commit. Falsifiable in 60 seconds.** | **Coverage depends on which tools you've installed (Quick / Forge / Forge+ / Deep tiers).** |
49
+
50
+ </div>
51
+
52
+ ## Quick install
53
+
54
+ Requires [Node.js](https://nodejs.org/) >= 22, [Python](https://www.python.org/) >= 3.10, and [uv](https://docs.astral.sh/uv/).
25
55
 
26
56
  ```bash
27
57
  npx bmad-module-skill-forge install
28
58
  ```
29
59
 
30
- Then set up your environment and generate your first skill:
60
+ Then generate your first skill:
31
61
 
32
62
  ```
33
63
  @Ferris SF # Set up your forge
34
64
  @Ferris QS <package> # Generate a skill in under a minute
35
65
  ```
36
66
 
37
- See the [Getting Started](./getting-started/) guide for full installation and usage instructions.
38
-
39
- ## Documentation
40
-
41
- - **[Getting Started](./getting-started/)** — Installation, prerequisites, and your first skill
42
- - **[Concepts](./concepts/)** — Plain-English definitions of key terms (provenance, tiers, drift, and more)
43
- - **[How It Works](./how-it-works/)** — Architecture, capability model, output format, and design decisions
44
- - **[Workflows](./workflows/)** — All 14 workflows with commands and connection diagrams
45
- - **[Agents](./agents/)** — Ferris: the AI agent that runs all SKF workflows
46
- - **[Examples](./examples/)** — Real-world scenarios, tips, and troubleshooting
47
-
48
- ## Support
49
-
50
- - **Issues**: [GitHub Issues](https://github.com/armelhbobdad/bmad-module-skill-forge/issues)
67
+ See [Getting Started](./getting-started/) for platform support, tier selection, and troubleshooting.
@@ -0,0 +1,328 @@
1
+ ---
2
+ title: Skill Model
3
+ description: What a Skill Forge skill contains — progressive capability tiers, confidence model, output architecture, the dual-output strategy, and the ownership model.
4
+ ---
5
+
6
+ A Skill Forge skill is more than a single markdown file. This page explains what ships when you compile and export a skill: the capability tier your forge runs at, the confidence level of every claim, the files in the output directory, and why every skill is shipped as both an active instruction manual and a passive context index. For a walkthrough of compilation, see [How It Works](../how-it-works/). For the audit recipe that ties this all together, see [Verifying a Skill](../verifying-a-skill/).
7
+
8
+ ---
9
+
10
+ ## Progressive Capability Model
11
+
12
+ SKF uses an additive tier model. You never lose capability by adding a tool.
13
+
14
+ | Tier | Required Tools | What You Get |
15
+ |------|---------------|-------------|
16
+ | **Quick** | None (`gh_bridge`, `skill-check`, `tessl` used when available) | Source reading + spec validation + content quality review. Best-effort skills in under a minute. **Note:** Quick Skill (QS) is tier-unaware by design — it always runs at community tier regardless of installed tools. |
17
+ | **Forge** | + `ast_bridge` (ast-grep) | Structural truth. AST-verified signatures. Co-import detection. T1 confidence. |
18
+ | **Forge+** | + `ccc_bridge` (cocoindex-code) | Semantic discovery. CCC pre-ranks files by meaning before AST extraction. Better coverage on large codebases. |
19
+ | **Deep** | `ast_bridge` + `gh_bridge` (gh) + `qmd_bridge` (QMD). CCC optional — enhances when installed. | Knowledge search. Temporal provenance. Drift detection. Full intelligence. |
20
+
21
+ Setup detects your installed tools and sets your tier automatically:
22
+
23
+ ```
24
+ @Ferris SF
25
+ ```
26
+
27
+ ```
28
+ ┌─────────────────────────────┐
29
+ │ FORGE STATUS │
30
+ └─────────────────────────────┘
31
+
32
+ Tier: Deep
33
+
34
+ Deep tier active. Full capability unlocked — AST-backed code
35
+ analysis, GitHub repository exploration, and QMD knowledge search
36
+ with cross-repository synthesis. Maximum provenance and intelligence.
37
+
38
+ Tools Detected:
39
+ ast-grep — 0.42.0
40
+ gh — 2.89.0
41
+ qmd — operational (104 docs indexed globally)
42
+ ccc — 0.2.10 (daemon healthy)
43
+
44
+ QMD Registry:
45
+ 0 collection(s) healthy
46
+ 39 orphaned collection(s) removed
47
+ (empty — collections are created automatically when you run [CS] Create Skill)
48
+
49
+ CCC Index:
50
+ indexed this run — semantic discovery ready (2 files, 14 chunks)
51
+ SKF infrastructure excluded: _bmad, _bmad-output, .claude,
52
+ _skf-learn, skills, forge-data
53
+
54
+ ┌────────────────────────────────┐
55
+ │ Forge ready. Deep tier active. │
56
+ └────────────────────────────────┘
57
+
58
+ Health Check: Clean run. No workflow issues to report.
59
+
60
+ Workflow complete.
61
+
62
+ ---
63
+ Forge is live at Deep tier, armel. All four core tools are available, the CCC semantic index is built, and the QMD registry is clean.
64
+
65
+ What would you like to forge next? Common starting points:
66
+
67
+ - QS — fast skill from a GitHub URL or package name
68
+ - BS → CS — brief, then compile a skill from source
69
+ - AN — analyze a large repo to discover what's worth skilling
70
+ - WS — show current lifecycle status
71
+
72
+ Or chain them: forge (BS CS TS EX), forge-quick (QS TS EX), onboard (AN CS TS EX).
73
+ ```
74
+
75
+ Don't have ast-grep, cocoindex-code, or QMD yet? No problem — Quick mode works with no additional tools. Optional GitHub CLI improves source access. Install tools later; your tier upgrades automatically.
76
+
77
+ ### Tier Override — Comparing Output Across Tiers
78
+
79
+ You can force a specific tier by setting `tier_override` in your preferences file (`_bmad/_memory/forger-sidecar/preferences.yaml`):
80
+
81
+ ```yaml
82
+ # Force Forge tier regardless of detected tools
83
+ tier_override: Forge
84
+ ```
85
+
86
+ This is useful for comparing skill quality across tiers for the same target:
87
+
88
+ ```
89
+ # 1. Set tier_override: Quick in preferences.yaml
90
+ @Ferris CS # compile at Quick tier
91
+
92
+ # 2. Change to tier_override: Forge
93
+ @Ferris CS # recompile at Forge tier — compare output
94
+
95
+ # 3. Change to tier_override: Forge+
96
+ @Ferris CS # recompile with semantic discovery — compare coverage
97
+
98
+ # 4. Reset to tier_override: ~ (auto-detect)
99
+ ```
100
+
101
+ Set `tier_override` to `Quick`, `Forge`, `Forge+`, or `Deep`. Set to `~` (null) to return to auto-detection. The override is respected by all tier-aware workflows (CS, SS, US, AS, TS).
102
+
103
+ ---
104
+
105
+ ## Confidence Tiers
106
+
107
+ Every claim in a generated skill carries a confidence tier that traces to its source:
108
+
109
+ | Tier | Source | Tool | What It Means |
110
+ |------|--------|------|---------------|
111
+ | **T1** | AST extraction | `ast_bridge` | Current code, structurally verified. Immutable for that version. |
112
+ | **T1-low** | Source reading | `ast_bridge` (fallback) | Source-read without AST verification. Produced by Quick tier and by Forge/Forge+/Deep when ast-grep cannot parse a specific file. Location correct, signature may be inferred. |
113
+ | **T2** | QMD evidence | `qmd_bridge` | Historical + planned context (issues, PRs, changelogs, docs). |
114
+ | **T3** | External documentation | `doc_fetcher` | External, untrusted. Quarantined. |
115
+
116
+ ### Temporal Provenance
117
+
118
+ Confidence tiers map to temporal scopes:
119
+
120
+ - **T1-now (instructions):** What ast-grep sees in the checked-out code. This is what your agent executes.
121
+ - **T2-past (annotations):** Closed issues, merged PRs, changelogs — why the API looks the way it does.
122
+ - **T2-future (annotations):** Open PRs, deprecation warnings, RFCs — what's coming.
123
+
124
+ Progressive disclosure controls how much context surfaces at each level:
125
+
126
+ | Output | Content |
127
+ |--------|---------|
128
+ | `context-snippet.md` | T1-now + T2-future gotchas (breaking changes, deprecation warnings) — compressed, always-on |
129
+ | `SKILL.md` | T1-now + lightweight T2 annotations |
130
+ | `references/` | Full temporal context with all tiers |
131
+
132
+ ### Tier Constrains Authority
133
+
134
+ Your forge tier limits what authority claims a skill can make:
135
+
136
+ | Forge Tier | AST? | CCC? | QMD? | Max Authority | Accuracy Guarantee |
137
+ |-----------|------|------|------|---------------|-------------------|
138
+ | Quick | No | No | No | `community` | Best-effort |
139
+ | Forge | Yes | No | No | `official` | Structural (AST-verified) |
140
+ | Forge+ | Yes | Yes | No | `official` | Structural + semantic discovery |
141
+ | Deep | Yes | opt. (enhances when installed) | Yes | `official` | Full (structural + contextual + temporal) |
142
+
143
+ **Tier governs technical verification; authority is an ecosystem claim.** Reaching Deep tier unlocks the *capability* to claim `official` authority — it does not grant it. Only library maintainers can publish `source_authority: official` skills via the [agentskills.io](https://agentskills.io) open-format ecosystem. A Deep-tier skill compiled by a third party is `community` by default. See [oh-my-skills](https://github.com/armelhbobdad/oh-my-skills), where all four Deep-tier skills ship as `community` by design — audited, not blessed.
144
+
145
+ ---
146
+
147
+ ## Completeness Scoring
148
+
149
+ Skills are graded on a 0–100 completeness scale. See [how the score is computed](../verifying-a-skill/#how-the-score-is-computed) in Verifying a Skill for the formula and tier adjustments.
150
+
151
+ ---
152
+
153
+ ## Output Architecture
154
+
155
+ ### Per-Skill Output
156
+
157
+ Every generated skill produces a self-contained, version-aware directory:
158
+
159
+ ```
160
+ skills/{name}/
161
+ ├── active -> {version} # Symlink to current version
162
+ ├── {version}/
163
+ │ └── {name}/ # agentskills.io-compliant package
164
+ │ ├── SKILL.md # Active skill (loaded on trigger)
165
+ │ ├── context-snippet.md # Passive context (compressed, always-on)
166
+ │ ├── metadata.json # Machine-readable provenance
167
+ │ ├── references/ # Progressive disclosure
168
+ │ │ ├── {function-a}.md
169
+ │ │ └── {function-b}.md
170
+ │ ├── scripts/ # Executable automation (when detected in source)
171
+ │ │ └── {script-name}.sh
172
+ │ └── assets/ # Templates, schemas, configs (when detected in source)
173
+ │ └── {asset-name}.json
174
+ └── {older-version}/
175
+ └── {name}/ # Previous version preserved
176
+ └── ...
177
+ ```
178
+
179
+ Multiple versions coexist under the same skill name. The `active` symlink points to the current version. Updating a skill for a new library release creates a new version directory — users pinned to older versions keep their skill intact. The inner `{name}/` directory is a standalone [agentskills.io](https://agentskills.io) package, directly installable via `npx skills add`.
180
+
181
+ The `scripts/` and `assets/` directories are optional — only created when the source repository contains executable scripts or static assets matching detection heuristics. Each file traces to its source via `[SRC:file:L1]` provenance citations with SHA-256 content hashes for drift detection. User-authored files go in `scripts/[MANUAL]/` or `assets/[MANUAL]/` subdirectories and are preserved during updates.
182
+
183
+ ### SKILL.md Format
184
+
185
+ Skills follow the [agentskills.io specification](https://agentskills.io/specification) with frontmatter:
186
+
187
+ ```yaml
188
+ ---
189
+ name: oms-cognee
190
+ description: >
191
+ Builds apps on top of cognee v1.0.0, the knowledge-graph memory engine for AI agents.
192
+ Use when ingesting text/files/URLs into persistent memory, building knowledge graphs,
193
+ searching graph-backed memory with multiple SearchType modes, enriching graphs with
194
+ memify/improve, scoping memory with datasets and node_sets, configuring LLM/embedding/
195
+ graph/vector backends, running custom task pipelines, tracing operations, decorating
196
+ agent entrypoints with `agent_memory`, connecting to Cognee Cloud with `serve`, or
197
+ visualizing the graph. Covers cognee/__init__.py exports: the V1 API (add, cognify,
198
+ search, memify, datasets, prune, update, run_custom_pipeline, config, SearchType,
199
+ visualize_graph, pipelines, Drop, run_startup_migrations, tracing) and the V2
200
+ memory-oriented API (remember, RememberResult, recall, improve, forget, serve,
201
+ disconnect, visualize, agent_memory). Do NOT use for: cognee internals, the HTTP
202
+ REST API (use cognee-mcp or the FastAPI server), non-cognee memory/RAG libraries.
203
+ ---
204
+ ```
205
+
206
+ Every instruction in the body traces to source:
207
+
208
+ ```python
209
+ await cognee.search( # [AST:cognee/api/v1/search/search.py:L26]
210
+ query_text="What does Cognee do?"
211
+ )
212
+ ```
213
+
214
+ ### metadata.json — The Birth Certificate
215
+
216
+ Machine-readable provenance for every skill:
217
+
218
+ This is a trimmed excerpt from the real [`oms-cognee/1.0.0/metadata.json`](https://github.com/armelhbobdad/oh-my-skills/blob/main/skills/oms-cognee/1.0.0/oms-cognee/metadata.json) shipped with the oh-my-skills canonical output. Every value below is verbatim from the file — not illustrative.
219
+
220
+ ```json
221
+ {
222
+ "name": "oms-cognee",
223
+ "version": "1.0.0",
224
+ "skill_type": "single",
225
+ "source_authority": "community",
226
+ "source_repo": "https://github.com/topoteretes/cognee",
227
+ "source_commit": "3c048aa4147776f14d4546704f986242554a9ef3",
228
+ "source_ref": "v1.0.0",
229
+ "confidence_tier": "Deep",
230
+ "spec_version": "1.3",
231
+ "generation_date": "2026-04-13T00:00:00Z",
232
+ "language": "python",
233
+ "ast_node_count": 34,
234
+ "confidence_distribution": {
235
+ "t1": 34,
236
+ "t1_low": 0,
237
+ "t2": 11,
238
+ "t3": 15
239
+ },
240
+ "stats": {
241
+ "exports_documented": 34,
242
+ "exports_public_api": 34,
243
+ "exports_internal": 0,
244
+ "exports_total": 34,
245
+ "public_api_coverage": 1.0,
246
+ "total_coverage": 1.0
247
+ }
248
+ }
249
+ ```
250
+
251
+ Fields omitted from this excerpt for brevity: `description`, `exports[]`, `tool_versions`, `dependencies`, `compatibility`, `last_update`, `generated_by`. The full 93-line file lives at [`oh-my-skills/skills/oms-cognee/1.0.0/oms-cognee/metadata.json`](https://github.com/armelhbobdad/oh-my-skills/blob/main/skills/oms-cognee/1.0.0/oms-cognee/metadata.json).
252
+
253
+ `scripts` and `assets` arrays are optional — omitted entirely (not empty) when the source has no scripts or assets.
254
+
255
+ ### Stack Skill Output
256
+
257
+ Stack skills map how your dependencies interact — shared types, co-import patterns, integration points:
258
+
259
+ ```
260
+ skills/{project}-stack/
261
+ ├── active -> {version}
262
+ └── {version}/
263
+ └── {project}-stack/
264
+ ├── SKILL.md # Integration patterns + project conventions
265
+ ├── context-snippet.md # Compressed stack index
266
+ ├── metadata.json # Component versions, integration graph
267
+ └── references/
268
+ ├── nextjs.md # Project-specific subset
269
+ ├── better-auth.md # Project-specific subset
270
+ └── integrations/
271
+ ├── auth-db.md # Cross-library pattern
272
+ └── pwa-auth.md # Cross-library pattern
273
+ ```
274
+
275
+ The primary source is your project repo. Component references trace to library repos. `skill_type: "stack"` in metadata.
276
+
277
+ ---
278
+
279
+ ## Dual-Output Strategy
280
+
281
+ Every skill SKF compiles ships as **two** files on purpose — and the reason is empirical, not aesthetic.
282
+
283
+ > **[Vercel research](https://vercel.com/blog/agents-md-outperforms-skills-in-our-agent-evals):** passive context (`AGENTS.md` / `CLAUDE.md`) achieves a **100% pass rate** in agent evals. Active skills loaded alone achieve **79%**. The 21-point gap is what the dual-output strategy closes.
284
+
285
+ Every skill generates both:
286
+
287
+ 1. **`SKILL.md`** — Active skill, loaded on trigger with the full instruction set. This is the instruction manual your agent opens when it knows it needs library guidance.
288
+ 2. **`context-snippet.md`** — Passive context, compressed to 80–120 tokens per skill. Injected into platform context files (`CLAUDE.md` / `AGENTS.md` / `.cursorrules`) only when `export-skill` is run. This is the ambient index that tells your agent the skill exists in the first place and should be opened for relevant work.
289
+
290
+ Without the snippet, the agent never knows to open `SKILL.md`. Without `SKILL.md`, the snippet has nothing to point at. **Both halves are load-bearing.** That's the 21-point delta.
291
+
292
+ ### Managed Context Section
293
+
294
+ Export injects a managed section between markers:
295
+
296
+ The block below is the real managed section currently in [`oh-my-skills/CLAUDE.md`](https://github.com/armelhbobdad/oh-my-skills/blob/main/CLAUDE.md), showing one of its four compiled skills. Every line is verbatim from the file:
297
+
298
+ ```markdown
299
+ <!-- SKF:BEGIN updated:2026-04-13 -->
300
+ [SKF Skills]|4 skills|0 stack
301
+ |IMPORTANT: Prefer documented APIs over training data.
302
+ |When using a listed library, read its SKILL.md before writing code.
303
+ |
304
+ |[oms-cognee v1.0.0]|root: .claude/skills/oms-cognee/
305
+ |IMPORTANT: oms-cognee v1.0.0 — read SKILL.md before writing cognee code. Do NOT rely on training data.
306
+ |quick-start:SKILL.md#quick-start
307
+ |api-v1: add(), cognify(), search(), memify(), update(), run_custom_pipeline(), visualize_graph(), datasets, prune, config, SearchType, pipelines, Drop, run_startup_migrations(), session, tracing
308
+ |api-v2: remember()→RememberResult, recall(), improve(), forget(), serve()/disconnect(), visualize(), @agent_memory
309
+ |key-types:SKILL.md#key-types — SearchType: GRAPH_COMPLETION (default), RAG_COMPLETION, CHUNKS, CHUNKS_LEXICAL, SUMMARIES, TEMPORAL, CODING_RULES, CYPHER, FEELING_LUCKY, GRAPH_COMPLETION_DECOMPOSITION (+5 more); Task, Drop, RememberResult, DataPoint, 5 Cognee* exceptions
310
+ |gotchas: cognee.low_level REMOVED from public API in v1.0.0 (import from cognee.infrastructure.engine directly); cognee.run_migrations REPLACED by cognee.run_startup_migrations (relational + vector); cognee.delete is DEPRECATED since v0.3.9 (use cognee.datasets.delete_data or cognee.forget); cognee.pipelines restructured in v1.0.0 (package with Drop + lazy re-exports); cognee.agent_memory requires async function; cognee.serve() without url triggers Auth0 Device Code Flow; cognee.start_ui is sync and needs pid_callback arg; all add/cognify/search/memify/remember/recall/improve/forget/serve are async — always await.
311
+ |
312
+ |(three more skills — oms-cocoindex, oms-storybook-react-vite, oms-uitripled — omitted here for brevity; see the full file)
313
+ <!-- SKF:END -->
314
+ ```
315
+
316
+ ~80-120 tokens per skill (version-pinned, retrieval instruction, section anchors, inline gotchas). Root paths are per-IDE — each of the 23 supported IDEs has its own skill directory (e.g., `.claude/skills/`, `.cursor/skills/`, `.github/skills/`, `.windsurf/skills/`). See [`skf-export-skill/assets/managed-section-format.md`](https://github.com/armelhbobdad/bmad-module-skill-forge/blob/main/src/skf-export-skill/assets/managed-section-format.md) for the complete IDE → Context File Mapping. Aligned with [Vercel's research](https://vercel.com/blog/agents-md-outperforms-skills-in-our-agent-evals) finding that indexed format with explicit retrieval instructions dramatically improves agent performance. Developer controls placement. Ferris controls content. Snippet updates only happen at `export-skill` — create and update are draft operations. An `.export-manifest.json` tracks which skills have been explicitly exported, preventing draft skills from leaking into the managed section.
317
+
318
+ ---
319
+
320
+ ## Ownership Model
321
+
322
+ | Context | `source_authority` | Distribution |
323
+ |---------|-------------------|-------------|
324
+ | OSS library (maintainer generates) | `official` | `npx skills publish` to agentskills ecosystem |
325
+ | Internal service (team generates) | `internal` | `skills/` in repo, ships with code |
326
+ | External dependency (consumer generates) | `community` | Local `skills/`, marked as community |
327
+
328
+ Provenance maps enable verification: an `official` skill's provenance must trace to the actual source repo owned by the author.
@@ -0,0 +1,39 @@
1
+ ---
2
+ title: Troubleshooting
3
+ description: Common errors in Skill Forge — forge setup, ecosystem checks, tier confidence — and how to resolve them.
4
+ ---
5
+
6
+ If something isn't working, start here. For general setup help see [Getting Started → Need help?](../getting-started/#need-help).
7
+
8
+ ---
9
+
10
+ ## Common errors
11
+
12
+ ### Forge reports ast-grep is unavailable
13
+
14
+ If setup reports that ast-grep was not detected, install it to unlock the Forge tier: <https://ast-grep.github.io>. Re-run `@Ferris SF` afterward — your tier upgrades automatically.
15
+
16
+ ### "No brief found"
17
+
18
+ Run `@Ferris BS` first to create a skill brief, or use `@Ferris QS` for brief-less generation. `CS` requires either a brief or a direct invocation with scope arguments.
19
+
20
+ ### "Ecosystem check: official skill exists"
21
+
22
+ An official skill already exists for this package. Consider installing it with `npx skills add` instead of generating your own — the official skill is typically better tested and kept up-to-date by the library maintainer.
23
+
24
+ ### Quick-tier skills have lower confidence scores
25
+
26
+ Quick tier reads source without AST analysis, so signatures are read directly from files rather than structurally verified. Install ast-grep to upgrade to the Forge tier for AST-verified signatures (T1 confidence) — see [Capability Tiers](../concepts/#capability-tiers-quickforgeforgedeep).
27
+
28
+ ### Want semantic discovery for large codebases?
29
+
30
+ Install [cocoindex-code](https://github.com/cocoindex-io/cocoindex-code) to unlock the Forge+ tier. CCC indexes your codebase and pre-ranks files by semantic relevance before AST extraction, improving coverage on projects with 500+ files.
31
+
32
+ ---
33
+
34
+ ## Still stuck?
35
+
36
+ 1. Run `@Ferris SF` to check your tool availability and current tier
37
+ 2. Check `forge-tier.yaml` in your forger sidecar for your configuration
38
+ 3. If `/bmad-help` is installed (via full BMAD Method), run it and describe your state — e.g. `/bmad-help my batch creation failed halfway, how do I resume?`
39
+ 4. [File an issue](https://github.com/armelhbobdad/bmad-module-skill-forge/issues/new/choose) — SKF's [health check system](../workflows/#terminal-step-health-check) is the primary feedback channel, and manual issues feed the same pipeline