@warpgogol/forge 4.2.4 → 5.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/AGENTS.md +14 -6
  2. package/CHANGELOG.md +72 -0
  3. package/README.md +8 -8
  4. package/README.uk.md +5 -5
  5. package/dist/os/adr/handlers/list-create.d.ts.map +1 -1
  6. package/dist/os/adr/handlers/list-create.js +4 -1
  7. package/dist/os/adr/handlers/list-create.js.map +1 -1
  8. package/dist/os/adr/handlers/validate.d.ts.map +1 -1
  9. package/dist/os/adr/handlers/validate.js +6 -1
  10. package/dist/os/adr/handlers/validate.js.map +1 -1
  11. package/dist/os/adr/types.d.ts.map +1 -1
  12. package/dist/os/adr/types.js +7 -3
  13. package/dist/os/adr/types.js.map +1 -1
  14. package/dist/os/compass/compass.module.d.ts.map +1 -1
  15. package/dist/os/compass/compass.module.js +76 -10
  16. package/dist/os/compass/compass.module.js.map +1 -1
  17. package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +1 -1
  18. package/dist/os/compass/handlers/compass-audit-handler.js +7 -3
  19. package/dist/os/compass/handlers/compass-audit-handler.js.map +1 -1
  20. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts +1 -9
  21. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts.map +1 -1
  22. package/dist/os/compass/handlers/compass-change-summary-handler.js +44 -186
  23. package/dist/os/compass/handlers/compass-change-summary-handler.js.map +1 -1
  24. package/dist/os/compass/handlers/compass-inventory-handler.d.ts +2 -0
  25. package/dist/os/compass/handlers/compass-inventory-handler.d.ts.map +1 -1
  26. package/dist/os/compass/handlers/compass-inventory-handler.js +24 -12
  27. package/dist/os/compass/handlers/compass-inventory-handler.js.map +1 -1
  28. package/dist/os/compass/handlers/compass-inventory.d.ts +7 -5
  29. package/dist/os/compass/handlers/compass-inventory.d.ts.map +1 -1
  30. package/dist/os/compass/handlers/compass-inventory.js +84 -241
  31. package/dist/os/compass/handlers/compass-inventory.js.map +1 -1
  32. package/dist/os/compass/handlers/compass-migrate-handler.d.ts +4 -0
  33. package/dist/os/compass/handlers/compass-migrate-handler.d.ts.map +1 -0
  34. package/dist/os/compass/handlers/compass-migrate-handler.js +100 -0
  35. package/dist/os/compass/handlers/compass-migrate-handler.js.map +1 -0
  36. package/dist/os/compass/handlers/compass-migrate.d.ts +34 -0
  37. package/dist/os/compass/handlers/compass-migrate.d.ts.map +1 -0
  38. package/dist/os/compass/handlers/compass-migrate.js +273 -0
  39. package/dist/os/compass/handlers/compass-migrate.js.map +1 -0
  40. package/dist/os/compass/handlers/resolve-scan-root.d.ts.map +1 -1
  41. package/dist/os/compass/handlers/resolve-scan-root.js +15 -8
  42. package/dist/os/compass/handlers/resolve-scan-root.js.map +1 -1
  43. package/dist/os/compass/handlers/summary-record.d.ts +46 -0
  44. package/dist/os/compass/handlers/summary-record.d.ts.map +1 -0
  45. package/dist/os/compass/handlers/summary-record.js +233 -0
  46. package/dist/os/compass/handlers/summary-record.js.map +1 -0
  47. package/dist/os/compass/index.d.ts +4 -1
  48. package/dist/os/compass/index.d.ts.map +1 -1
  49. package/dist/os/compass/index.js +9 -1
  50. package/dist/os/compass/index.js.map +1 -1
  51. package/dist/os/compass/policy.d.ts +65 -0
  52. package/dist/os/compass/policy.d.ts.map +1 -0
  53. package/dist/os/compass/policy.js +241 -0
  54. package/dist/os/compass/policy.js.map +1 -0
  55. package/dist/os/core/core.module.d.ts.map +1 -1
  56. package/dist/os/core/core.module.js +11 -23
  57. package/dist/os/core/core.module.js.map +1 -1
  58. package/dist/os/core/handlers/forge-autonomy-validate.d.ts.map +1 -1
  59. package/dist/os/core/handlers/forge-autonomy-validate.js +7 -1
  60. package/dist/os/core/handlers/forge-autonomy-validate.js.map +1 -1
  61. package/dist/os/core/handlers/package-health.d.ts.map +1 -1
  62. package/dist/os/core/handlers/package-health.js +6 -1
  63. package/dist/os/core/handlers/package-health.js.map +1 -1
  64. package/dist/os/core/handlers/pinned-check.d.ts.map +1 -1
  65. package/dist/os/core/handlers/pinned-check.js +6 -1
  66. package/dist/os/core/handlers/pinned-check.js.map +1 -1
  67. package/dist/os/core/handlers/pinned-validate.d.ts.map +1 -1
  68. package/dist/os/core/handlers/pinned-validate.js +6 -1
  69. package/dist/os/core/handlers/pinned-validate.js.map +1 -1
  70. package/dist/os/core/handlers/validate.d.ts.map +1 -1
  71. package/dist/os/core/handlers/validate.js +6 -1
  72. package/dist/os/core/handlers/validate.js.map +1 -1
  73. package/dist/os/exploration/exploration.module.d.ts.map +1 -1
  74. package/dist/os/exploration/exploration.module.js +6 -4
  75. package/dist/os/exploration/exploration.module.js.map +1 -1
  76. package/dist/os/exploration/handlers/list.d.ts.map +1 -1
  77. package/dist/os/exploration/handlers/list.js +4 -1
  78. package/dist/os/exploration/handlers/list.js.map +1 -1
  79. package/dist/os/mission/handlers/archive.d.ts.map +1 -1
  80. package/dist/os/mission/handlers/archive.js +7 -3
  81. package/dist/os/mission/handlers/archive.js.map +1 -1
  82. package/dist/os/mission/index.d.ts.map +1 -1
  83. package/dist/os/mission/index.js +13 -0
  84. package/dist/os/mission/index.js.map +1 -1
  85. package/dist/os/notes/index.d.ts.map +1 -1
  86. package/dist/os/notes/index.js +7 -1
  87. package/dist/os/notes/index.js.map +1 -1
  88. package/dist/os/rfc/frontmatter-io.d.ts.map +1 -1
  89. package/dist/os/rfc/frontmatter-io.js +6 -1
  90. package/dist/os/rfc/frontmatter-io.js.map +1 -1
  91. package/dist/os/rfc/handlers/archive.d.ts.map +1 -1
  92. package/dist/os/rfc/handlers/archive.js +6 -1
  93. package/dist/os/rfc/handlers/archive.js.map +1 -1
  94. package/dist/os/rfc/handlers/implement-stamp.d.ts.map +1 -1
  95. package/dist/os/rfc/handlers/implement-stamp.js +7 -3
  96. package/dist/os/rfc/handlers/implement-stamp.js.map +1 -1
  97. package/dist/os/rfc/handlers/index-graph.d.ts.map +1 -1
  98. package/dist/os/rfc/handlers/index-graph.js +6 -1
  99. package/dist/os/rfc/handlers/index-graph.js.map +1 -1
  100. package/dist/os/rfc/handlers/lifecycle.d.ts.map +1 -1
  101. package/dist/os/rfc/handlers/lifecycle.js +6 -1
  102. package/dist/os/rfc/handlers/lifecycle.js.map +1 -1
  103. package/dist/os/rfc/handlers/list-create.d.ts.map +1 -1
  104. package/dist/os/rfc/handlers/list-create.js +6 -1
  105. package/dist/os/rfc/handlers/list-create.js.map +1 -1
  106. package/dist/os/rfc/handlers/pipeline-status.d.ts.map +1 -1
  107. package/dist/os/rfc/handlers/pipeline-status.js +6 -1
  108. package/dist/os/rfc/handlers/pipeline-status.js.map +1 -1
  109. package/dist/os/rfc/handlers/supersede-propose.d.ts.map +1 -1
  110. package/dist/os/rfc/handlers/supersede-propose.js +6 -1
  111. package/dist/os/rfc/handlers/supersede-propose.js.map +1 -1
  112. package/dist/os/rfc/handlers/validate-rules.d.ts.map +1 -1
  113. package/dist/os/rfc/handlers/validate-rules.js +7 -3
  114. package/dist/os/rfc/handlers/validate-rules.js.map +1 -1
  115. package/dist/os/rfc/handlers/validate.d.ts.map +1 -1
  116. package/dist/os/rfc/handlers/validate.js +6 -1
  117. package/dist/os/rfc/handlers/validate.js.map +1 -1
  118. package/dist/os/rfc/index.d.ts.map +1 -1
  119. package/dist/os/rfc/index.js +6 -1
  120. package/dist/os/rfc/index.js.map +1 -1
  121. package/dist/os/rfc/rfc.module.d.ts.map +1 -1
  122. package/dist/os/rfc/rfc.module.js +6 -1
  123. package/dist/os/rfc/rfc.module.js.map +1 -1
  124. package/dist/os/rfc/types.d.ts +7 -4
  125. package/dist/os/rfc/types.d.ts.map +1 -1
  126. package/dist/os/rfc/types.js +7 -4
  127. package/dist/os/rfc/types.js.map +1 -1
  128. package/dist/os/session/handlers/save.d.ts.map +1 -1
  129. package/dist/os/session/handlers/save.js +6 -1
  130. package/dist/os/session/handlers/save.js.map +1 -1
  131. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts.map +1 -1
  132. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js +6 -1
  133. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js.map +1 -1
  134. package/dist/os/werkstatt/handlers/workspace-deps.js +3 -3
  135. package/dist/os/werkstatt/handlers/workspace-deps.js.map +1 -1
  136. package/dist/os/workflow/index.d.ts.map +1 -1
  137. package/dist/os/workflow/index.js +6 -1
  138. package/dist/os/workflow/index.js.map +1 -1
  139. package/dist/src/config/forge-config.d.ts +62 -4
  140. package/dist/src/config/forge-config.d.ts.map +1 -1
  141. package/dist/src/config/forge-config.js +35 -19
  142. package/dist/src/config/forge-config.js.map +1 -1
  143. package/dist/src/forge-module.d.ts.map +1 -1
  144. package/dist/src/forge-module.js +6 -1
  145. package/dist/src/forge-module.js.map +1 -1
  146. package/dist/src/index.d.ts.map +1 -1
  147. package/dist/src/index.js +10 -2
  148. package/dist/src/index.js.map +1 -1
  149. package/dist/src/migration-adapters/git-utils.d.ts.map +1 -1
  150. package/dist/src/migration-adapters/git-utils.js +6 -2
  151. package/dist/src/migration-adapters/git-utils.js.map +1 -1
  152. package/dist/src/migration-adapters/ignored-files.d.ts.map +1 -1
  153. package/dist/src/migration-adapters/ignored-files.js +6 -1
  154. package/dist/src/migration-adapters/ignored-files.js.map +1 -1
  155. package/dist/src/migration-adapters/index.d.ts.map +1 -1
  156. package/dist/src/migration-adapters/index.js +4 -1
  157. package/dist/src/migration-adapters/index.js.map +1 -1
  158. package/dist/src/migration-adapters/types.d.ts.map +1 -1
  159. package/dist/src/migration-adapters/types.js +6 -2
  160. package/dist/src/migration-adapters/types.js.map +1 -1
  161. package/dist/src/onboarding/agents-generate.d.ts.map +1 -1
  162. package/dist/src/onboarding/agents-generate.js +18 -14
  163. package/dist/src/onboarding/agents-generate.js.map +1 -1
  164. package/dist/src/onboarding/create.d.ts.map +1 -1
  165. package/dist/src/onboarding/create.js +7 -6
  166. package/dist/src/onboarding/create.js.map +1 -1
  167. package/dist/src/onboarding/doctor.d.ts.map +1 -1
  168. package/dist/src/onboarding/doctor.js +7 -13
  169. package/dist/src/onboarding/doctor.js.map +1 -1
  170. package/dist/src/onboarding/init.d.ts.map +1 -1
  171. package/dist/src/onboarding/init.js +7 -12
  172. package/dist/src/onboarding/init.js.map +1 -1
  173. package/dist/src/onboarding/invariant-engine.d.ts.map +1 -1
  174. package/dist/src/onboarding/invariant-engine.js +7 -2
  175. package/dist/src/onboarding/invariant-engine.js.map +1 -1
  176. package/dist/src/onboarding/nested-agents-generate.d.ts.map +1 -1
  177. package/dist/src/onboarding/nested-agents-generate.js +7 -2
  178. package/dist/src/onboarding/nested-agents-generate.js.map +1 -1
  179. package/dist/src/onboarding/nested-agents-templates.d.ts.map +1 -1
  180. package/dist/src/onboarding/nested-agents-templates.js +11 -3
  181. package/dist/src/onboarding/nested-agents-templates.js.map +1 -1
  182. package/dist/src/onboarding/scaffold-project.d.ts.map +1 -1
  183. package/dist/src/onboarding/scaffold-project.js +6 -1
  184. package/dist/src/onboarding/scaffold-project.js.map +1 -1
  185. package/dist/src/onboarding/upgrade.d.ts.map +1 -1
  186. package/dist/src/onboarding/upgrade.js +7 -3
  187. package/dist/src/onboarding/upgrade.js.map +1 -1
  188. package/dist/src/profiles/profile-schema.d.ts +54 -4
  189. package/dist/src/profiles/profile-schema.d.ts.map +1 -1
  190. package/dist/src/profiles/profile-schema.js +34 -14
  191. package/dist/src/profiles/profile-schema.js.map +1 -1
  192. package/dist/src/profiles/stack-profile.d.ts +24 -0
  193. package/dist/src/profiles/stack-profile.d.ts.map +1 -1
  194. package/dist/src/profiles/stack-profile.js +7 -3
  195. package/dist/src/profiles/stack-profile.js.map +1 -1
  196. package/dist/src/registry.d.ts.map +1 -1
  197. package/dist/src/registry.js +7 -9
  198. package/dist/src/registry.js.map +1 -1
  199. package/dist/src/types.d.ts.map +1 -1
  200. package/dist/src/types.js +6 -1
  201. package/dist/src/types.js.map +1 -1
  202. package/dist/src/utils/fs-atomic.d.ts.map +1 -1
  203. package/dist/src/utils/fs-atomic.js +13 -1
  204. package/dist/src/utils/fs-atomic.js.map +1 -1
  205. package/dist/src/utils/fs-idempotent.d.ts.map +1 -1
  206. package/dist/src/utils/fs-idempotent.js +13 -0
  207. package/dist/src/utils/fs-idempotent.js.map +1 -1
  208. package/dist/src/utils/fs-trash-sync.d.ts.map +1 -1
  209. package/dist/src/utils/fs-trash-sync.js +13 -1
  210. package/dist/src/utils/fs-trash-sync.js.map +1 -1
  211. package/dist/src/utils/fs-trash.d.ts.map +1 -1
  212. package/dist/src/utils/fs-trash.js +13 -1
  213. package/dist/src/utils/fs-trash.js.map +1 -1
  214. package/dist/src/utils/fs.d.ts.map +1 -1
  215. package/dist/src/utils/fs.js +14 -3
  216. package/dist/src/utils/fs.js.map +1 -1
  217. package/dist/src/utils/hash.d.ts.map +1 -1
  218. package/dist/src/utils/hash.js +12 -1
  219. package/dist/src/utils/hash.js.map +1 -1
  220. package/dist/src/utils/index.d.ts.map +1 -1
  221. package/dist/src/utils/index.js +13 -2
  222. package/dist/src/utils/index.js.map +1 -1
  223. package/dist/src/utils/string-utils.d.ts.map +1 -1
  224. package/dist/src/utils/string-utils.js +12 -1
  225. package/dist/src/utils/string-utils.js.map +1 -1
  226. package/dist/src/validators/port-validate.js +1 -1
  227. package/dist/src/validators/port-validate.js.map +1 -1
  228. package/dist/src/validators/skill-validate.d.ts.map +1 -1
  229. package/dist/src/validators/skill-validate.js +7 -8
  230. package/dist/src/validators/skill-validate.js.map +1 -1
  231. package/docs/getting-started.md +1 -1
  232. package/docs/reference/forge-yaml.md +38 -9
  233. package/docs/reference/profiles.md +8 -8
  234. package/os/adr/handlers/list-create.ts +4 -1
  235. package/os/adr/handlers/validate.ts +6 -1
  236. package/os/adr/types.ts +7 -3
  237. package/os/compass/compass.module.ts +79 -13
  238. package/os/compass/handlers/compass-audit-handler.ts +22 -3
  239. package/os/compass/handlers/compass-change-summary-handler.ts +55 -227
  240. package/os/compass/handlers/compass-inventory-handler.ts +30 -12
  241. package/os/compass/handlers/compass-inventory.ts +103 -240
  242. package/os/compass/handlers/compass-migrate-handler.ts +122 -0
  243. package/os/compass/handlers/compass-migrate.ts +361 -0
  244. package/os/compass/handlers/resolve-scan-root-package.test.ts +70 -0
  245. package/os/compass/handlers/resolve-scan-root.ts +15 -8
  246. package/os/compass/handlers/summary-record.ts +313 -0
  247. package/os/compass/handlers/tests/compass-migrate.test.ts +291 -0
  248. package/os/compass/handlers/tests/compass-policy.test.ts +249 -0
  249. package/os/compass/handlers/tests/compass-v2-contract.test.ts +9 -9
  250. package/os/compass/handlers/tests/summary-record.test.ts +224 -0
  251. package/os/compass/index.ts +23 -5
  252. package/os/compass/policy.ts +350 -0
  253. package/os/core/core.module.ts +11 -23
  254. package/os/core/handlers/forge-autonomy-validate.ts +7 -1
  255. package/os/core/handlers/package-health.ts +6 -1
  256. package/os/core/handlers/pinned-check.ts +6 -1
  257. package/os/core/handlers/pinned-validate.ts +6 -1
  258. package/os/core/handlers/validate.ts +6 -1
  259. package/os/exploration/exploration.module.ts +72 -71
  260. package/os/exploration/handlers/list.ts +4 -1
  261. package/os/mission/handlers/archive.ts +7 -3
  262. package/os/mission/index.ts +14 -0
  263. package/os/notes/index.ts +7 -1
  264. package/os/rfc/frontmatter-io.ts +6 -1
  265. package/os/rfc/handlers/archive.ts +6 -1
  266. package/os/rfc/handlers/implement-stamp.ts +7 -3
  267. package/os/rfc/handlers/index-graph.ts +6 -1
  268. package/os/rfc/handlers/lifecycle.ts +6 -1
  269. package/os/rfc/handlers/list-create.ts +6 -1
  270. package/os/rfc/handlers/pipeline-status.ts +6 -1
  271. package/os/rfc/handlers/supersede-propose.ts +6 -1
  272. package/os/rfc/handlers/validate-rules.ts +7 -3
  273. package/os/rfc/handlers/validate.ts +6 -1
  274. package/os/rfc/index.ts +6 -1
  275. package/os/rfc/rfc.module.ts +6 -1
  276. package/os/rfc/types.ts +7 -4
  277. package/os/session/handlers/save.ts +6 -1
  278. package/os/werkstatt/handlers/werkstatt-lock-recover.ts +6 -1
  279. package/os/werkstatt/handlers/workspace-deps.ts +3 -3
  280. package/os/workflow/index.ts +6 -1
  281. package/package.json +1 -1
  282. package/profiles/{godot-csharp.yaml → godot-game.yaml} +2 -2
  283. package/profiles/{knowledge-typescript-turborepo.yaml → knowledge.yaml} +1 -1
  284. package/profiles/{phaser-turborepo.yaml → phaser-game.yaml} +2 -2
  285. package/profiles/{typescript-turborepo.yaml → typescript.yaml} +2 -2
  286. package/skills/fo/fo-add-tests/SKILL.md +14 -0
  287. package/skills/fo/fo-architecture/SKILL.md +14 -0
  288. package/skills/fo/fo-compass-annotate/SKILL.md +14 -0
  289. package/skills/fo/fo-design-summit/SKILL.md +14 -0
  290. package/skills/fo/fo-doc-audit/SKILL.md +14 -0
  291. package/skills/fo/fo-explore/SKILL.md +14 -0
  292. package/skills/fo/fo-extract-dna/SKILL.md +14 -0
  293. package/skills/fo/fo-fix/SKILL.md +14 -0
  294. package/skills/fo/fo-handoff/SKILL.md +14 -0
  295. package/skills/fo/fo-harvest/SKILL.md +14 -0
  296. package/skills/fo/fo-idea/SKILL.md +14 -0
  297. package/skills/fo/fo-idea-audit/SKILL.md +14 -0
  298. package/skills/fo/fo-idea-create-adr/SKILL.md +14 -0
  299. package/skills/fo/fo-idea-create-rfc/SKILL.md +14 -0
  300. package/skills/fo/fo-idea-enhance/SKILL.md +14 -0
  301. package/skills/fo/fo-idea-i-just-want-to-see-the-plan/SKILL.md +14 -0
  302. package/skills/fo/fo-idea-i-just-want-to-see-the-result/SKILL.md +14 -0
  303. package/skills/fo/fo-idea-implement/SKILL.md +14 -0
  304. package/skills/fo/fo-idea-plan/SKILL.md +14 -0
  305. package/skills/fo/fo-idea-status/SKILL.md +14 -0
  306. package/skills/fo/fo-knowledge-distill/SKILL.md +14 -0
  307. package/skills/fo/fo-memory-sync/SKILL.md +14 -0
  308. package/skills/fo/fo-qa/SKILL.md +14 -0
  309. package/skills/fo/fo-review/SKILL.md +14 -0
  310. package/skills/fo/fo-session-retro/SKILL.md +14 -0
  311. package/skills/fo/fo-session-save/SKILL.md +14 -0
  312. package/skills/fo/fo-spec-ingest/SKILL.md +14 -0
  313. package/skills/fo/fo-step-commit/SKILL.md +14 -0
  314. package/skills/fo/fo-triage/SKILL.md +14 -0
  315. package/skills/meta/forge-bootstrap/SKILL.md +14 -0
  316. package/skills/meta/port-to-forge/SKILL.md +14 -0
  317. package/skills/meta/skill-create/SKILL.md +14 -0
  318. package/skills/shared/grilling/SKILL.md +14 -0
  319. package/skills/shared/my-preferences/SKILL.md +14 -0
  320. package/skills/shared/windows-ai-tooling/SKILL.md +14 -0
  321. package/skills/shared/writing-great-skills/SKILL.md +14 -0
  322. package/src/config/forge-config.ts +40 -23
  323. package/src/forge-module.ts +6 -1
  324. package/src/index.ts +10 -2
  325. package/src/migration-adapters/git-utils.ts +6 -2
  326. package/src/migration-adapters/ignored-files.ts +6 -1
  327. package/src/migration-adapters/index.ts +4 -1
  328. package/src/migration-adapters/types.ts +6 -2
  329. package/src/onboarding/agents-generate.ts +23 -14
  330. package/src/onboarding/create.ts +7 -6
  331. package/src/onboarding/doctor.ts +7 -13
  332. package/src/onboarding/init.ts +7 -12
  333. package/src/onboarding/invariant-engine.ts +7 -2
  334. package/src/onboarding/nested-agents-generate.ts +7 -2
  335. package/src/onboarding/nested-agents-templates.ts +11 -3
  336. package/src/onboarding/scaffold-project.ts +6 -1
  337. package/src/onboarding/upgrade.ts +7 -3
  338. package/src/profiles/profile-schema.ts +42 -18
  339. package/src/profiles/stack-profile.ts +7 -3
  340. package/src/registry.ts +7 -9
  341. package/src/tests/agents-generate-domain.test.ts +3 -3
  342. package/src/tests/agents-generate.test.ts +2 -2
  343. package/src/tests/create.test.ts +4 -4
  344. package/src/tests/forge-autonomy-validate.test.ts +1 -1
  345. package/src/tests/package-files.test.ts +53 -1
  346. package/src/tests/profile-schema.test.ts +4 -4
  347. package/src/tests/scaffold-project.test.ts +3 -3
  348. package/src/tests/stack-profile.test.ts +12 -12
  349. package/src/types.ts +6 -1
  350. package/src/utils/fs-atomic.ts +13 -1
  351. package/src/utils/fs-idempotent.ts +13 -0
  352. package/src/utils/fs-trash-sync.ts +13 -1
  353. package/src/utils/fs-trash.ts +13 -1
  354. package/src/utils/fs.ts +14 -3
  355. package/src/utils/hash.ts +12 -1
  356. package/src/utils/index.ts +13 -2
  357. package/src/utils/string-utils.ts +12 -1
  358. package/src/validators/port-validate.ts +1 -1
  359. package/src/validators/skill-validate.ts +7 -8
  360. package/skills/shared/extension-e2e-mitm/SKILL.md +0 -53
  361. package/skills/shared/extension-e2e-mitm/fixture-proxy.ts +0 -113
  362. package/src/types/werkstatt-engine-shims.d.ts +0 -1416
  363. package/src/types/werkstatt-shared-shims.d.ts +0 -5686
@@ -8,6 +8,20 @@ dependsOn: ['my-preferences']
8
8
  languagePolicy: ref(PREFERENCES.md)
9
9
  triggers: ["write tests for this code", "add unit tests", "add property-based tests", "write test coverage for this function"]
10
10
  ---
11
+ <!--
12
+ <MODULE_CONTRACT>
13
+ <purpose>fo-add-tests skill — Write unit and property-based tests for session-produced or specified code. Uses vitest + fast-check per RFC-XXXX.</purpose>
14
+ <non-goals>
15
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
16
+ </non-goals>
17
+ </MODULE_CONTRACT>
18
+ <CHANGE_SUMMARY>
19
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
20
+
21
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
22
+ </CHANGE_SUMMARY>
23
+ -->
24
+
11
25
 
12
26
  # fo-add-tests
13
27
 
@@ -8,6 +8,20 @@ dependsOn: ['my-preferences', 'grilling']
8
8
  languagePolicy: ref(PREFERENCES.md)
9
9
  triggers: ["analyze codebase architecture", "find deepening opportunities", "review code structure quality"]
10
10
  ---
11
+ <!--
12
+ <MODULE_CONTRACT>
13
+ <purpose>fo-architecture skill — Scan a codebase for deepening opportunities, present as HTML report, then grill through the chosen one. Uses deep-module vocabulary.</purpose>
14
+ <non-goals>
15
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
16
+ </non-goals>
17
+ </MODULE_CONTRACT>
18
+ <CHANGE_SUMMARY>
19
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
20
+
21
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
22
+ </CHANGE_SUMMARY>
23
+ -->
24
+
11
25
 
12
26
  # fo-architecture
13
27
 
@@ -11,6 +11,20 @@ bindings:
11
11
  optional: [compass.fileExtensions, compass.testPatterns]
12
12
  triggers: ["manage Compass headers", "annotate source files with Compass", "audit Compass module contracts"]
13
13
  ---
14
+ <!--
15
+ <MODULE_CONTRACT>
16
+ <purpose>fo-compass-annotate skill — Full-lifecycle Compass header management — generate, update, audit, validate, cleanup. Replaces removed compass.annotate/clear/migrate/invariant.add commands.</purpose>
17
+ <non-goals>
18
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
19
+ </non-goals>
20
+ </MODULE_CONTRACT>
21
+ <CHANGE_SUMMARY>
22
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
23
+
24
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
25
+ </CHANGE_SUMMARY>
26
+ -->
27
+
14
28
 
15
29
  # fo-compass-annotate
16
30
 
@@ -11,6 +11,20 @@ bindings:
11
11
  optional: []
12
12
  triggers: ["design summit", "multi-persona review", "party mode"]
13
13
  ---
14
+ <!--
15
+ <MODULE_CONTRACT>
16
+ <purpose>fo-design-summit skill — Simulate a multi-persona design discussion for complex RFCs. Each persona reviews from its professional perspective and raises concerns. Optional, invoked for high-risk architectural RFCs.</purpose>
17
+ <non-goals>
18
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
19
+ </non-goals>
20
+ </MODULE_CONTRACT>
21
+ <CHANGE_SUMMARY>
22
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
23
+
24
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
25
+ </CHANGE_SUMMARY>
26
+ -->
27
+
14
28
 
15
29
  # Design Summit
16
30
 
@@ -11,6 +11,20 @@ bindings:
11
11
  optional: [paths.invariantsFile, paths.compassDocs]
12
12
  triggers: ["audit documentation sync", "update docs after code changes", "check AGENTS.md and README are in sync"]
13
13
  ---
14
+ <!--
15
+ <MODULE_CONTRACT>
16
+ <purpose>fo-doc-audit skill — Audit session changes and update AGENTS.md, README, Compass XML, architecture-dna.md, and templates so AI and human docs stay in sync with code. Use at session end or inline by other skills.</purpose>
17
+ <non-goals>
18
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
19
+ </non-goals>
20
+ </MODULE_CONTRACT>
21
+ <CHANGE_SUMMARY>
22
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
23
+
24
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
25
+ </CHANGE_SUMMARY>
26
+ -->
27
+
14
28
 
15
29
  # Documentation Audit
16
30
 
@@ -11,6 +11,20 @@ bindings:
11
11
  optional: []
12
12
  triggers: ["explore this idea", "let me think about this", "what are the options for", "what if we"]
13
13
  ---
14
+ <!--
15
+ <MODULE_CONTRACT>
16
+ <purpose>fo-explore skill — Explore an idea in the codebase without creating an RFC or ADR. Produces a markdown exploration note in docs/explorations/. Use when weighing options before committing to a specification.</purpose>
17
+ <non-goals>
18
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
19
+ </non-goals>
20
+ </MODULE_CONTRACT>
21
+ <CHANGE_SUMMARY>
22
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
23
+
24
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
25
+ </CHANGE_SUMMARY>
26
+ -->
27
+
14
28
 
15
29
  # Explore an idea before specification
16
30
 
@@ -11,6 +11,20 @@ bindings:
11
11
  optional: [paths.invariantsFile]
12
12
  triggers: ["extract DNA invariant", "discover architectural invariants", "formalize implicit architectural rules"]
13
13
  ---
14
+ <!--
15
+ <MODULE_CONTRACT>
16
+ <purpose>fo-extract-dna skill — Discover implicit architectural invariants, grill the operator about each, and delegate to fo-idea-create-rfc. After acceptance, append to architecture-dna.md. Use when extracting DNA.</purpose>
17
+ <non-goals>
18
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
19
+ </non-goals>
20
+ </MODULE_CONTRACT>
21
+ <CHANGE_SUMMARY>
22
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
23
+
24
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
25
+ </CHANGE_SUMMARY>
26
+ -->
27
+
14
28
 
15
29
  # Extract DNA
16
30
 
@@ -11,6 +11,20 @@ bindings:
11
11
  optional: [commands.test, paths.invariantsFile]
12
12
  triggers: ["fix issues from review", "apply review findings and fix", "iterative fix workflow for code"]
13
13
  ---
14
+ <!--
15
+ <MODULE_CONTRACT>
16
+ <purpose>fo-fix skill — Iterative fix workflow for AI-generated work. Calls fo-review if needed, applies findings, runs scoped typecheck, commits, and delegates doc updates to fo-doc-audit.</purpose>
17
+ <non-goals>
18
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
19
+ </non-goals>
20
+ </MODULE_CONTRACT>
21
+ <CHANGE_SUMMARY>
22
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
23
+
24
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
25
+ </CHANGE_SUMMARY>
26
+ -->
27
+
14
28
 
15
29
  # fo-fix
16
30
 
@@ -8,6 +8,20 @@ dependsOn: ['my-preferences']
8
8
  languagePolicy: ref(PREFERENCES.md)
9
9
  triggers: ["create a handoff document", "compact conversation for next agent", "prepare handoff for another agent"]
10
10
  ---
11
+ <!--
12
+ <MODULE_CONTRACT>
13
+ <purpose>fo-handoff skill — Compact the current conversation into a handoff document for another agent to pick up. Saves to docs/handoffs/ (resolved from forge.yaml paths.handoffsDir) and commits via ecosystem.commit.</purpose>
14
+ <non-goals>
15
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
16
+ </non-goals>
17
+ </MODULE_CONTRACT>
18
+ <CHANGE_SUMMARY>
19
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
20
+
21
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
22
+ </CHANGE_SUMMARY>
23
+ -->
24
+
11
25
 
12
26
  # fo-handoff
13
27
 
@@ -10,6 +10,20 @@ dependsOn:
10
10
  languagePolicy: ref(PREFERENCES.md)
11
11
  triggers: ["harvest portable patterns from code", "extract reusable code pattern to forge", "port this pattern to forge"]
12
12
  ---
13
+ <!--
14
+ <MODULE_CONTRACT>
15
+ <purpose>fo-harvest skill — Systematic self-growth loop — scan the whole project for forge-worthy patterns, grill the operator on portability, and port accepted candidates via port-to-forge / port.scaffold.</purpose>
16
+ <non-goals>
17
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
18
+ </non-goals>
19
+ </MODULE_CONTRACT>
20
+ <CHANGE_SUMMARY>
21
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
22
+
23
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
24
+ </CHANGE_SUMMARY>
25
+ -->
26
+
13
27
 
14
28
  # fo-harvest
15
29
 
@@ -11,6 +11,20 @@ bindings:
11
11
  optional: [paths.invariantsFile]
12
12
  triggers: ["I have an idea for a change", "analyze this idea and route it", "decompose this feature idea", "does this need an RFC", "should I write an ADR for this"]
13
13
  ---
14
+ <!--
15
+ <MODULE_CONTRACT>
16
+ <purpose>fo-idea skill — Classify an idea, split it when needed, and route it to an RFC, ADR, or direct implementation. Use when the required decision artifact is unclear.</purpose>
17
+ <non-goals>
18
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
19
+ </non-goals>
20
+ </MODULE_CONTRACT>
21
+ <CHANGE_SUMMARY>
22
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
23
+
24
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
25
+ </CHANGE_SUMMARY>
26
+ -->
27
+
14
28
 
15
29
  # Idea → RFC, ADR, or direct implementation
16
30
 
@@ -11,6 +11,20 @@ bindings:
11
11
  optional: [paths.invariantsFile, paths.compassDocs]
12
12
  triggers: ["audit this RFC", "check RFC for ecosystem fit", "review RFC against DNA and forward-only rules"]
13
13
  ---
14
+ <!--
15
+ <MODULE_CONTRACT>
16
+ <purpose>fo-idea-audit skill — Audit RFCs for ecosystem fit, DNA alignment, forward-only compliance, agent policy, and pragmatism. Accepts a single id, list, or range. Use after creating or revising an RFC.</purpose>
17
+ <non-goals>
18
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
19
+ </non-goals>
20
+ </MODULE_CONTRACT>
21
+ <CHANGE_SUMMARY>
22
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
23
+
24
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
25
+ </CHANGE_SUMMARY>
26
+ -->
27
+
14
28
 
15
29
  # RFC Audit
16
30
 
@@ -11,6 +11,20 @@ bindings:
11
11
  optional: [paths.invariantsFile]
12
12
  triggers: ["record this architectural decision", "create an ADR", "document a local technical decision"]
13
13
  ---
14
+ <!--
15
+ <MODULE_CONTRACT>
16
+ <purpose>fo-idea-create-adr skill — Create a lightweight Architectural Decision Record (ADR) draft in docs/adrs/. Use when the user asks to record a local technical decision that does not need a full RFC.</purpose>
17
+ <non-goals>
18
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
19
+ </non-goals>
20
+ </MODULE_CONTRACT>
21
+ <CHANGE_SUMMARY>
22
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
23
+
24
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
25
+ </CHANGE_SUMMARY>
26
+ -->
27
+
14
28
 
15
29
  # ADR Create
16
30
 
@@ -11,6 +11,20 @@ bindings:
11
11
  optional: [paths.invariantsFile]
12
12
  triggers: ["draft an RFC", "create a full RFC", "scaffold an RFC from template"]
13
13
  ---
14
+ <!--
15
+ <MODULE_CONTRACT>
16
+ <purpose>fo-idea-create-rfc skill — Create a full RFC draft from the rfc-0000-template.md template and prepare it for human architecture review. Use when the user asks to draft or scaffold an RFC.</purpose>
17
+ <non-goals>
18
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
19
+ </non-goals>
20
+ </MODULE_CONTRACT>
21
+ <CHANGE_SUMMARY>
22
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
23
+
24
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
25
+ </CHANGE_SUMMARY>
26
+ -->
27
+
14
28
 
15
29
  # RFC Create
16
30
 
@@ -11,6 +11,20 @@ bindings:
11
11
  optional: [paths.invariantsFile]
12
12
  triggers: ["enhance this RFC", "fix audit findings in RFC", "improve RFC based on audit"]
13
13
  ---
14
+ <!--
15
+ <MODULE_CONTRACT>
16
+ <purpose>fo-idea-enhance skill — Enhance RFCs by integrating audit findings. Fixes gaps, DNA misalignment, drift, and blind spots. May split out new RFCs. Use after fo-idea-audit or when asked to enhance an RFC.</purpose>
17
+ <non-goals>
18
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
19
+ </non-goals>
20
+ </MODULE_CONTRACT>
21
+ <CHANGE_SUMMARY>
22
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
23
+
24
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
25
+ </CHANGE_SUMMARY>
26
+ -->
27
+
14
28
 
15
29
  # RFC Enhance
16
30
 
@@ -8,6 +8,20 @@ dependsOn: ['my-preferences', 'fo-idea-i-just-want-to-see-the-result']
8
8
  languagePolicy: ref(PREFERENCES.md)
9
9
  triggers: ["I just want to see the plan", "plan this feature without implementing", "run idea to plan pipeline"]
10
10
  ---
11
+ <!--
12
+ <MODULE_CONTRACT>
13
+ <purpose>fo-idea-i-just-want-to-see-the-plan skill — Run the idea-to-plan pipeline (idea, audit, enhance, plan) in a single invocation, then stop. Accepts a raw idea or an existing RFC id. Use when the operator wants a plan, not implementation.</purpose>
14
+ <non-goals>
15
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
16
+ </non-goals>
17
+ </MODULE_CONTRACT>
18
+ <CHANGE_SUMMARY>
19
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
20
+
21
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
22
+ </CHANGE_SUMMARY>
23
+ -->
24
+
11
25
 
12
26
  # Idea to Plan — Just Want to See the Plan
13
27
 
@@ -8,6 +8,20 @@ dependsOn: ['my-preferences']
8
8
  languagePolicy: ref(PREFERENCES.md)
9
9
  triggers: ["I just want to see the result", "run the full pipeline automatically", "implement this end-to-end without pauses"]
10
10
  ---
11
+ <!--
12
+ <MODULE_CONTRACT>
13
+ <purpose>fo-idea-i-just-want-to-see-the-result skill — Orchestrate the full feature pipeline (idea, audit, enhance, plan, implement, review, fix) in one invocation. Accepts a raw idea or RFC/ADR id. Use when the operator wants the complete pipeline.</purpose>
14
+ <non-goals>
15
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
16
+ </non-goals>
17
+ </MODULE_CONTRACT>
18
+ <CHANGE_SUMMARY>
19
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
20
+
21
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
22
+ </CHANGE_SUMMARY>
23
+ -->
24
+
11
25
 
12
26
  # Full Pipeline — Just Want to See the Result
13
27
 
@@ -11,6 +11,20 @@ bindings:
11
11
  optional: [commands.test, commands.scopedBuild, paths.invariantsFile, paths.compassDocs]
12
12
  triggers: ["implement this RFC", "execute the implementation plan", "realize this RFC end-to-end"]
13
13
  ---
14
+ <!--
15
+ <MODULE_CONTRACT>
16
+ <purpose>fo-idea-implement skill — Implement one or more RFCs or ADRs end-to-end. Detects document type by prefix and executes the appropriate flow. Use when the user asks to implement, realize, or execute a document.</purpose>
17
+ <non-goals>
18
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
19
+ </non-goals>
20
+ </MODULE_CONTRACT>
21
+ <CHANGE_SUMMARY>
22
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
23
+
24
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
25
+ </CHANGE_SUMMARY>
26
+ -->
27
+
14
28
 
15
29
  # Implement RFC or ADR
16
30
 
@@ -11,6 +11,20 @@ bindings:
11
11
  optional: [paths.invariantsFile, paths.compassDocs]
12
12
  triggers: ["plan the implementation for this RFC", "create implementation plan", "map affected artifacts and draft steps"]
13
13
  ---
14
+ <!--
15
+ <MODULE_CONTRACT>
16
+ <purpose>fo-idea-plan skill — Plan RFC implementation — ensure audit/enhance done, map affected artifacts, draft a step-by-step plan with validation and evidence, and persist it. Use when an RFC needs an implementation plan.</purpose>
17
+ <non-goals>
18
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
19
+ </non-goals>
20
+ </MODULE_CONTRACT>
21
+ <CHANGE_SUMMARY>
22
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
23
+
24
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
25
+ </CHANGE_SUMMARY>
26
+ -->
27
+
14
28
 
15
29
  # Plan RFC Implementation
16
30
 
@@ -11,6 +11,20 @@ bindings:
11
11
  optional: [commands.validateRfc, commands.validateAdr]
12
12
  triggers: ["show RFC and ADR status", "what is the status of this RFC", "list RFCs by status"]
13
13
  ---
14
+ <!--
15
+ <MODULE_CONTRACT>
16
+ <purpose>fo-idea-status skill — Show a concise table of RFCs and ADRs filtered by status or mentioned in the current session. Use when the operator wants a quick status overview.</purpose>
17
+ <non-goals>
18
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
19
+ </non-goals>
20
+ </MODULE_CONTRACT>
21
+ <CHANGE_SUMMARY>
22
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
23
+
24
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
25
+ </CHANGE_SUMMARY>
26
+ -->
27
+
14
28
 
15
29
  # RFC and ADR Status
16
30
 
@@ -11,6 +11,20 @@ bindings:
11
11
  optional: []
12
12
  triggers: ["distill knowledge", "compact skill knowledge", "knowledge lifecycle", "promote fix patterns"]
13
13
  ---
14
+ <!--
15
+ <MODULE_CONTRACT>
16
+ <purpose>fo-knowledge-distill skill — Distill raw knowledge logs (L0) into durable fix patterns (L1) and learned principles (L2), maintain confirmation counters, and migrate legacy sections — with operator approval on every mutation.</purpose>
17
+ <non-goals>
18
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
19
+ </non-goals>
20
+ </MODULE_CONTRACT>
21
+ <CHANGE_SUMMARY>
22
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
23
+
24
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
25
+ </CHANGE_SUMMARY>
26
+ -->
27
+
14
28
 
15
29
  # Knowledge Distillation
16
30
 
@@ -12,6 +12,20 @@ knowledge:
12
12
  - learned-principles.md
13
13
  triggers: ["sync memory from codex", "import external agent knowledge", "recall sessions from other tools", "sync memory from claude code"]
14
14
  ---
15
+ <!--
16
+ <MODULE_CONTRACT>
17
+ <purpose>fo-memory-sync skill — Sync memory and recent sessions from external AI coding tools (Codex CLI, Claude Code) into the current project. Cross-platform, local-only.</purpose>
18
+ <non-goals>
19
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
20
+ </non-goals>
21
+ </MODULE_CONTRACT>
22
+ <CHANGE_SUMMARY>
23
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
24
+
25
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
26
+ </CHANGE_SUMMARY>
27
+ -->
28
+
15
29
 
16
30
  # fo-memory-sync
17
31
 
@@ -8,6 +8,20 @@ dependsOn: ['my-preferences']
8
8
  languagePolicy: ref(PREFERENCES.md)
9
9
  triggers: ["I found a bug", "file a GitHub issue for this bug", "report a bug conversationally", "interactive QA session"]
10
10
  ---
11
+ <!--
12
+ <MODULE_CONTRACT>
13
+ <purpose>fo-qa skill — Interactive QA session where the operator reports bugs conversationally and the agent files durable GitHub issues. Explores codebase for domain language.</purpose>
14
+ <non-goals>
15
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
16
+ </non-goals>
17
+ </MODULE_CONTRACT>
18
+ <CHANGE_SUMMARY>
19
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
20
+
21
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
22
+ </CHANGE_SUMMARY>
23
+ -->
24
+
11
25
 
12
26
  # fo-qa
13
27
 
@@ -11,6 +11,20 @@ bindings:
11
11
  optional: [paths.invariantsFile, paths.compassDocs]
12
12
  triggers: ["review this code diff", "check code against Forge standards", "fitness check on code changes"]
13
13
  ---
14
+ <!--
15
+ <MODULE_CONTRACT>
16
+ <purpose>fo-review skill — Cross-session fitness check of a code diff against Forge standards — DNA, forward-only, Compass, agent clarity, pragmatism. The code analogue of fo-idea-audit. Use when another agent produced code.</purpose>
17
+ <non-goals>
18
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
19
+ </non-goals>
20
+ </MODULE_CONTRACT>
21
+ <CHANGE_SUMMARY>
22
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
23
+
24
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
25
+ </CHANGE_SUMMARY>
26
+ -->
27
+
14
28
 
15
29
  # fo-review
16
30
 
@@ -11,6 +11,20 @@ bindings:
11
11
  optional: [paths.invariantsFile]
12
12
  triggers: ["session retrospective", "capture insights from this session", "triage session discoveries", "Завершаем сессию", "Завершаем эту сессию", "Заканчиваем сессию", "Завершить сессию", "протокол завершения сессии", "End session", "Wrap up", "Session end", "/session-end"]
13
13
  ---
14
+ <!--
15
+ <MODULE_CONTRACT>
16
+ <purpose>fo-session-retro skill — Session-end insight triage — review what was discovered, categorize each insight, and route it to the right durable home (AGENTS.md rule, ADR, DNA invariant, forge pattern, or memory).</purpose>
17
+ <non-goals>
18
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
19
+ </non-goals>
20
+ </MODULE_CONTRACT>
21
+ <CHANGE_SUMMARY>
22
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
23
+
24
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
25
+ </CHANGE_SUMMARY>
26
+ -->
27
+
14
28
 
15
29
  # Session Retro
16
30
 
@@ -12,6 +12,20 @@ bindings:
12
12
  optional: []
13
13
  triggers: ["save this session", "enhance session transcript with annotations", "save session with quality checks"]
14
14
  ---
15
+ <!--
16
+ <MODULE_CONTRACT>
17
+ <purpose>fo-session-save skill — Enhance saved session transcripts with semantic annotations, summaries, and quality checks. Self-learning via knowledge files.</purpose>
18
+ <non-goals>
19
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
20
+ </non-goals>
21
+ </MODULE_CONTRACT>
22
+ <CHANGE_SUMMARY>
23
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
24
+
25
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
26
+ </CHANGE_SUMMARY>
27
+ -->
28
+
15
29
 
16
30
  # fo-session-save
17
31
 
@@ -11,6 +11,20 @@ bindings:
11
11
  optional: [paths.invariantsFile]
12
12
  triggers: ["ingest external specification", "vendor spec package into docs", "author spec skeleton"]
13
13
  ---
14
+ <!--
15
+ <MODULE_CONTRACT>
16
+ <purpose>fo-spec-ingest skill — Ingest an external specification package into docs/specs/ or author a spec skeleton from fo-idea escalation. Builds forge-spec.yaml, validates, grills the spec delta, and obtains operator acceptance.</purpose>
17
+ <non-goals>
18
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
19
+ </non-goals>
20
+ </MODULE_CONTRACT>
21
+ <CHANGE_SUMMARY>
22
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
23
+
24
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
25
+ </CHANGE_SUMMARY>
26
+ -->
27
+
14
28
 
15
29
  # Spec Ingest
16
30
 
@@ -15,6 +15,20 @@ triggers:
15
15
  - "step commit"
16
16
  ---
17
17
 
18
+ <!--
19
+ <MODULE_CONTRACT>
20
+ <purpose>fo-step-commit skill — commits agent file changes after each operator request, staging only agent-touched files in monorepo and mission workpiece contexts.</purpose>
21
+ <non-goals>
22
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
23
+ </non-goals>
24
+ </MODULE_CONTRACT>
25
+ <CHANGE_SUMMARY>
26
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
27
+
28
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
29
+ </CHANGE_SUMMARY>
30
+ -->
31
+
18
32
  # Step Commit
19
33
 
20
34
  Before starting, read `PREFERENCES.md` at the repository root. If the file is missing or `aiLanguage` is unset, ask the operator once and create the file using the `my-preferences` skill semantics.
@@ -8,6 +8,20 @@ dependsOn: ['my-preferences', 'grilling']
8
8
  languagePolicy: ref(PREFERENCES.md)
9
9
  triggers: ["triage this issue", "categorize incoming bug report", "triage external pull request", "process feature request"]
10
10
  ---
11
+ <!--
12
+ <MODULE_CONTRACT>
13
+ <purpose>fo-triage skill — Move issues and external PRs through a triage state machine — categorize, verify, grill, write agent-ready briefs. Use for incoming bug reports and feature requests.</purpose>
14
+ <non-goals>
15
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
16
+ </non-goals>
17
+ </MODULE_CONTRACT>
18
+ <CHANGE_SUMMARY>
19
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
20
+
21
+ Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
22
+ </CHANGE_SUMMARY>
23
+ -->
24
+
11
25
 
12
26
  # fo-triage
13
27