@warpgogol/forge 4.2.3 → 5.1.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 (344) hide show
  1. package/AGENTS.md +12 -4
  2. package/dist/os/adr/handlers/list-create.d.ts.map +1 -1
  3. package/dist/os/adr/handlers/list-create.js +4 -1
  4. package/dist/os/adr/handlers/list-create.js.map +1 -1
  5. package/dist/os/adr/handlers/validate.d.ts.map +1 -1
  6. package/dist/os/adr/handlers/validate.js +6 -1
  7. package/dist/os/adr/handlers/validate.js.map +1 -1
  8. package/dist/os/adr/types.d.ts.map +1 -1
  9. package/dist/os/adr/types.js +7 -3
  10. package/dist/os/adr/types.js.map +1 -1
  11. package/dist/os/compass/compass.module.d.ts.map +1 -1
  12. package/dist/os/compass/compass.module.js +76 -10
  13. package/dist/os/compass/compass.module.js.map +1 -1
  14. package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +1 -1
  15. package/dist/os/compass/handlers/compass-audit-handler.js +7 -3
  16. package/dist/os/compass/handlers/compass-audit-handler.js.map +1 -1
  17. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts +1 -9
  18. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts.map +1 -1
  19. package/dist/os/compass/handlers/compass-change-summary-handler.js +44 -186
  20. package/dist/os/compass/handlers/compass-change-summary-handler.js.map +1 -1
  21. package/dist/os/compass/handlers/compass-inventory-handler.d.ts +2 -0
  22. package/dist/os/compass/handlers/compass-inventory-handler.d.ts.map +1 -1
  23. package/dist/os/compass/handlers/compass-inventory-handler.js +24 -12
  24. package/dist/os/compass/handlers/compass-inventory-handler.js.map +1 -1
  25. package/dist/os/compass/handlers/compass-inventory.d.ts +7 -5
  26. package/dist/os/compass/handlers/compass-inventory.d.ts.map +1 -1
  27. package/dist/os/compass/handlers/compass-inventory.js +84 -241
  28. package/dist/os/compass/handlers/compass-inventory.js.map +1 -1
  29. package/dist/os/compass/handlers/compass-migrate-handler.d.ts +4 -0
  30. package/dist/os/compass/handlers/compass-migrate-handler.d.ts.map +1 -0
  31. package/dist/os/compass/handlers/compass-migrate-handler.js +100 -0
  32. package/dist/os/compass/handlers/compass-migrate-handler.js.map +1 -0
  33. package/dist/os/compass/handlers/compass-migrate.d.ts +34 -0
  34. package/dist/os/compass/handlers/compass-migrate.d.ts.map +1 -0
  35. package/dist/os/compass/handlers/compass-migrate.js +273 -0
  36. package/dist/os/compass/handlers/compass-migrate.js.map +1 -0
  37. package/dist/os/compass/handlers/resolve-scan-root.d.ts.map +1 -1
  38. package/dist/os/compass/handlers/resolve-scan-root.js +15 -8
  39. package/dist/os/compass/handlers/resolve-scan-root.js.map +1 -1
  40. package/dist/os/compass/handlers/summary-record.d.ts +46 -0
  41. package/dist/os/compass/handlers/summary-record.d.ts.map +1 -0
  42. package/dist/os/compass/handlers/summary-record.js +233 -0
  43. package/dist/os/compass/handlers/summary-record.js.map +1 -0
  44. package/dist/os/compass/index.d.ts +4 -1
  45. package/dist/os/compass/index.d.ts.map +1 -1
  46. package/dist/os/compass/index.js +9 -1
  47. package/dist/os/compass/index.js.map +1 -1
  48. package/dist/os/compass/policy.d.ts +65 -0
  49. package/dist/os/compass/policy.d.ts.map +1 -0
  50. package/dist/os/compass/policy.js +241 -0
  51. package/dist/os/compass/policy.js.map +1 -0
  52. package/dist/os/core/core.module.d.ts.map +1 -1
  53. package/dist/os/core/core.module.js +9 -21
  54. package/dist/os/core/core.module.js.map +1 -1
  55. package/dist/os/core/handlers/forge-autonomy-validate.d.ts.map +1 -1
  56. package/dist/os/core/handlers/forge-autonomy-validate.js +7 -1
  57. package/dist/os/core/handlers/forge-autonomy-validate.js.map +1 -1
  58. package/dist/os/core/handlers/package-health.d.ts.map +1 -1
  59. package/dist/os/core/handlers/package-health.js +6 -1
  60. package/dist/os/core/handlers/package-health.js.map +1 -1
  61. package/dist/os/core/handlers/pinned-check.d.ts.map +1 -1
  62. package/dist/os/core/handlers/pinned-check.js +6 -1
  63. package/dist/os/core/handlers/pinned-check.js.map +1 -1
  64. package/dist/os/core/handlers/pinned-validate.d.ts.map +1 -1
  65. package/dist/os/core/handlers/pinned-validate.js +6 -1
  66. package/dist/os/core/handlers/pinned-validate.js.map +1 -1
  67. package/dist/os/core/handlers/validate.d.ts.map +1 -1
  68. package/dist/os/core/handlers/validate.js +6 -1
  69. package/dist/os/core/handlers/validate.js.map +1 -1
  70. package/dist/os/exploration/exploration.module.d.ts.map +1 -1
  71. package/dist/os/exploration/exploration.module.js +6 -4
  72. package/dist/os/exploration/exploration.module.js.map +1 -1
  73. package/dist/os/exploration/handlers/list.d.ts.map +1 -1
  74. package/dist/os/exploration/handlers/list.js +4 -1
  75. package/dist/os/exploration/handlers/list.js.map +1 -1
  76. package/dist/os/mission/handlers/archive.d.ts.map +1 -1
  77. package/dist/os/mission/handlers/archive.js +7 -3
  78. package/dist/os/mission/handlers/archive.js.map +1 -1
  79. package/dist/os/mission/index.d.ts.map +1 -1
  80. package/dist/os/mission/index.js +13 -0
  81. package/dist/os/mission/index.js.map +1 -1
  82. package/dist/os/notes/index.d.ts.map +1 -1
  83. package/dist/os/notes/index.js +7 -1
  84. package/dist/os/notes/index.js.map +1 -1
  85. package/dist/os/rfc/frontmatter-io.d.ts.map +1 -1
  86. package/dist/os/rfc/frontmatter-io.js +6 -1
  87. package/dist/os/rfc/frontmatter-io.js.map +1 -1
  88. package/dist/os/rfc/handlers/archive.d.ts.map +1 -1
  89. package/dist/os/rfc/handlers/archive.js +6 -1
  90. package/dist/os/rfc/handlers/archive.js.map +1 -1
  91. package/dist/os/rfc/handlers/implement-stamp.d.ts.map +1 -1
  92. package/dist/os/rfc/handlers/implement-stamp.js +7 -3
  93. package/dist/os/rfc/handlers/implement-stamp.js.map +1 -1
  94. package/dist/os/rfc/handlers/index-graph.d.ts.map +1 -1
  95. package/dist/os/rfc/handlers/index-graph.js +6 -1
  96. package/dist/os/rfc/handlers/index-graph.js.map +1 -1
  97. package/dist/os/rfc/handlers/lifecycle.d.ts.map +1 -1
  98. package/dist/os/rfc/handlers/lifecycle.js +6 -1
  99. package/dist/os/rfc/handlers/lifecycle.js.map +1 -1
  100. package/dist/os/rfc/handlers/list-create.d.ts.map +1 -1
  101. package/dist/os/rfc/handlers/list-create.js +6 -1
  102. package/dist/os/rfc/handlers/list-create.js.map +1 -1
  103. package/dist/os/rfc/handlers/pipeline-status.d.ts.map +1 -1
  104. package/dist/os/rfc/handlers/pipeline-status.js +6 -1
  105. package/dist/os/rfc/handlers/pipeline-status.js.map +1 -1
  106. package/dist/os/rfc/handlers/supersede-propose.d.ts.map +1 -1
  107. package/dist/os/rfc/handlers/supersede-propose.js +6 -1
  108. package/dist/os/rfc/handlers/supersede-propose.js.map +1 -1
  109. package/dist/os/rfc/handlers/validate-rules.d.ts.map +1 -1
  110. package/dist/os/rfc/handlers/validate-rules.js +7 -3
  111. package/dist/os/rfc/handlers/validate-rules.js.map +1 -1
  112. package/dist/os/rfc/handlers/validate.d.ts.map +1 -1
  113. package/dist/os/rfc/handlers/validate.js +6 -1
  114. package/dist/os/rfc/handlers/validate.js.map +1 -1
  115. package/dist/os/rfc/index.d.ts.map +1 -1
  116. package/dist/os/rfc/index.js +6 -1
  117. package/dist/os/rfc/index.js.map +1 -1
  118. package/dist/os/rfc/rfc.module.d.ts.map +1 -1
  119. package/dist/os/rfc/rfc.module.js +6 -1
  120. package/dist/os/rfc/rfc.module.js.map +1 -1
  121. package/dist/os/rfc/types.d.ts +7 -4
  122. package/dist/os/rfc/types.d.ts.map +1 -1
  123. package/dist/os/rfc/types.js +7 -4
  124. package/dist/os/rfc/types.js.map +1 -1
  125. package/dist/os/session/handlers/save.d.ts.map +1 -1
  126. package/dist/os/session/handlers/save.js +6 -1
  127. package/dist/os/session/handlers/save.js.map +1 -1
  128. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts.map +1 -1
  129. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js +6 -1
  130. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js.map +1 -1
  131. package/dist/os/werkstatt/handlers/workspace-deps.js +3 -3
  132. package/dist/os/werkstatt/handlers/workspace-deps.js.map +1 -1
  133. package/dist/os/workflow/index.d.ts.map +1 -1
  134. package/dist/os/workflow/index.js +6 -1
  135. package/dist/os/workflow/index.js.map +1 -1
  136. package/dist/src/config/forge-config.d.ts +50 -4
  137. package/dist/src/config/forge-config.d.ts.map +1 -1
  138. package/dist/src/config/forge-config.js +11 -19
  139. package/dist/src/config/forge-config.js.map +1 -1
  140. package/dist/src/forge-module.d.ts.map +1 -1
  141. package/dist/src/forge-module.js +6 -1
  142. package/dist/src/forge-module.js.map +1 -1
  143. package/dist/src/index.d.ts.map +1 -1
  144. package/dist/src/index.js +10 -2
  145. package/dist/src/index.js.map +1 -1
  146. package/dist/src/migration-adapters/git-utils.d.ts.map +1 -1
  147. package/dist/src/migration-adapters/git-utils.js +6 -2
  148. package/dist/src/migration-adapters/git-utils.js.map +1 -1
  149. package/dist/src/migration-adapters/ignored-files.d.ts.map +1 -1
  150. package/dist/src/migration-adapters/ignored-files.js +6 -1
  151. package/dist/src/migration-adapters/ignored-files.js.map +1 -1
  152. package/dist/src/migration-adapters/index.d.ts.map +1 -1
  153. package/dist/src/migration-adapters/index.js +4 -1
  154. package/dist/src/migration-adapters/index.js.map +1 -1
  155. package/dist/src/migration-adapters/types.d.ts.map +1 -1
  156. package/dist/src/migration-adapters/types.js +6 -2
  157. package/dist/src/migration-adapters/types.js.map +1 -1
  158. package/dist/src/onboarding/agents-generate.js +7 -7
  159. package/dist/src/onboarding/create.d.ts.map +1 -1
  160. package/dist/src/onboarding/create.js +7 -6
  161. package/dist/src/onboarding/create.js.map +1 -1
  162. package/dist/src/onboarding/doctor.d.ts.map +1 -1
  163. package/dist/src/onboarding/doctor.js +7 -13
  164. package/dist/src/onboarding/doctor.js.map +1 -1
  165. package/dist/src/onboarding/init.d.ts.map +1 -1
  166. package/dist/src/onboarding/init.js +7 -12
  167. package/dist/src/onboarding/init.js.map +1 -1
  168. package/dist/src/onboarding/invariant-engine.d.ts.map +1 -1
  169. package/dist/src/onboarding/invariant-engine.js +7 -2
  170. package/dist/src/onboarding/invariant-engine.js.map +1 -1
  171. package/dist/src/onboarding/nested-agents-generate.d.ts.map +1 -1
  172. package/dist/src/onboarding/nested-agents-generate.js +7 -2
  173. package/dist/src/onboarding/nested-agents-generate.js.map +1 -1
  174. package/dist/src/onboarding/nested-agents-templates.d.ts.map +1 -1
  175. package/dist/src/onboarding/nested-agents-templates.js +6 -1
  176. package/dist/src/onboarding/nested-agents-templates.js.map +1 -1
  177. package/dist/src/onboarding/scaffold-project.d.ts.map +1 -1
  178. package/dist/src/onboarding/scaffold-project.js +6 -1
  179. package/dist/src/onboarding/scaffold-project.js.map +1 -1
  180. package/dist/src/onboarding/upgrade.d.ts.map +1 -1
  181. package/dist/src/onboarding/upgrade.js +7 -3
  182. package/dist/src/onboarding/upgrade.js.map +1 -1
  183. package/dist/src/profiles/profile-schema.d.ts +54 -4
  184. package/dist/src/profiles/profile-schema.d.ts.map +1 -1
  185. package/dist/src/profiles/profile-schema.js +34 -14
  186. package/dist/src/profiles/profile-schema.js.map +1 -1
  187. package/dist/src/profiles/stack-profile.d.ts +24 -0
  188. package/dist/src/profiles/stack-profile.d.ts.map +1 -1
  189. package/dist/src/profiles/stack-profile.js +7 -3
  190. package/dist/src/profiles/stack-profile.js.map +1 -1
  191. package/dist/src/registry.d.ts.map +1 -1
  192. package/dist/src/registry.js +7 -9
  193. package/dist/src/registry.js.map +1 -1
  194. package/dist/src/types.d.ts.map +1 -1
  195. package/dist/src/types.js +6 -1
  196. package/dist/src/types.js.map +1 -1
  197. package/dist/src/utils/fs-atomic.d.ts.map +1 -1
  198. package/dist/src/utils/fs-atomic.js +13 -1
  199. package/dist/src/utils/fs-atomic.js.map +1 -1
  200. package/dist/src/utils/fs-idempotent.d.ts.map +1 -1
  201. package/dist/src/utils/fs-idempotent.js +13 -0
  202. package/dist/src/utils/fs-idempotent.js.map +1 -1
  203. package/dist/src/utils/fs-trash-sync.d.ts.map +1 -1
  204. package/dist/src/utils/fs-trash-sync.js +13 -1
  205. package/dist/src/utils/fs-trash-sync.js.map +1 -1
  206. package/dist/src/utils/fs-trash.d.ts.map +1 -1
  207. package/dist/src/utils/fs-trash.js +13 -1
  208. package/dist/src/utils/fs-trash.js.map +1 -1
  209. package/dist/src/utils/fs.d.ts.map +1 -1
  210. package/dist/src/utils/fs.js +14 -3
  211. package/dist/src/utils/fs.js.map +1 -1
  212. package/dist/src/utils/hash.d.ts.map +1 -1
  213. package/dist/src/utils/hash.js +12 -1
  214. package/dist/src/utils/hash.js.map +1 -1
  215. package/dist/src/utils/index.d.ts.map +1 -1
  216. package/dist/src/utils/index.js +13 -2
  217. package/dist/src/utils/index.js.map +1 -1
  218. package/dist/src/utils/string-utils.d.ts.map +1 -1
  219. package/dist/src/utils/string-utils.js +12 -1
  220. package/dist/src/utils/string-utils.js.map +1 -1
  221. package/dist/src/validators/port-validate.js +1 -1
  222. package/dist/src/validators/port-validate.js.map +1 -1
  223. package/dist/src/validators/skill-validate.d.ts.map +1 -1
  224. package/dist/src/validators/skill-validate.js +7 -8
  225. package/dist/src/validators/skill-validate.js.map +1 -1
  226. package/docs/reference/forge-yaml.md +38 -9
  227. package/os/adr/handlers/list-create.ts +4 -1
  228. package/os/adr/handlers/validate.ts +6 -1
  229. package/os/adr/types.ts +7 -3
  230. package/os/compass/compass.module.ts +79 -13
  231. package/os/compass/handlers/compass-audit-handler.ts +22 -3
  232. package/os/compass/handlers/compass-change-summary-handler.ts +55 -227
  233. package/os/compass/handlers/compass-inventory-handler.ts +30 -12
  234. package/os/compass/handlers/compass-inventory.ts +103 -240
  235. package/os/compass/handlers/compass-migrate-handler.ts +122 -0
  236. package/os/compass/handlers/compass-migrate.ts +361 -0
  237. package/os/compass/handlers/resolve-scan-root-package.test.ts +70 -0
  238. package/os/compass/handlers/resolve-scan-root.ts +15 -8
  239. package/os/compass/handlers/summary-record.ts +313 -0
  240. package/os/compass/handlers/tests/compass-migrate.test.ts +291 -0
  241. package/os/compass/handlers/tests/compass-policy.test.ts +249 -0
  242. package/os/compass/handlers/tests/compass-v2-contract.test.ts +9 -9
  243. package/os/compass/handlers/tests/summary-record.test.ts +224 -0
  244. package/os/compass/index.ts +23 -5
  245. package/os/compass/policy.ts +350 -0
  246. package/os/core/core.module.ts +9 -21
  247. package/os/core/handlers/forge-autonomy-validate.ts +7 -1
  248. package/os/core/handlers/package-health.ts +6 -1
  249. package/os/core/handlers/pinned-check.ts +6 -1
  250. package/os/core/handlers/pinned-validate.ts +6 -1
  251. package/os/core/handlers/validate.ts +6 -1
  252. package/os/exploration/exploration.module.ts +72 -71
  253. package/os/exploration/handlers/list.ts +4 -1
  254. package/os/mission/handlers/archive.ts +7 -3
  255. package/os/mission/index.ts +14 -0
  256. package/os/notes/index.ts +7 -1
  257. package/os/rfc/frontmatter-io.ts +6 -1
  258. package/os/rfc/handlers/archive.ts +6 -1
  259. package/os/rfc/handlers/implement-stamp.ts +7 -3
  260. package/os/rfc/handlers/index-graph.ts +6 -1
  261. package/os/rfc/handlers/lifecycle.ts +6 -1
  262. package/os/rfc/handlers/list-create.ts +6 -1
  263. package/os/rfc/handlers/pipeline-status.ts +6 -1
  264. package/os/rfc/handlers/supersede-propose.ts +6 -1
  265. package/os/rfc/handlers/validate-rules.ts +7 -3
  266. package/os/rfc/handlers/validate.ts +6 -1
  267. package/os/rfc/index.ts +6 -1
  268. package/os/rfc/rfc.module.ts +6 -1
  269. package/os/rfc/types.ts +7 -4
  270. package/os/session/handlers/save.ts +6 -1
  271. package/os/werkstatt/handlers/werkstatt-lock-recover.ts +6 -1
  272. package/os/werkstatt/handlers/workspace-deps.ts +3 -3
  273. package/os/workflow/index.ts +6 -1
  274. package/package.json +1 -1
  275. package/skills/fo/fo-add-tests/SKILL.md +14 -0
  276. package/skills/fo/fo-architecture/SKILL.md +14 -0
  277. package/skills/fo/fo-compass-annotate/SKILL.md +14 -0
  278. package/skills/fo/fo-design-summit/SKILL.md +14 -0
  279. package/skills/fo/fo-doc-audit/SKILL.md +14 -0
  280. package/skills/fo/fo-explore/SKILL.md +14 -0
  281. package/skills/fo/fo-extract-dna/SKILL.md +14 -0
  282. package/skills/fo/fo-fix/SKILL.md +14 -0
  283. package/skills/fo/fo-handoff/SKILL.md +14 -0
  284. package/skills/fo/fo-harvest/SKILL.md +14 -0
  285. package/skills/fo/fo-idea/SKILL.md +14 -0
  286. package/skills/fo/fo-idea-audit/SKILL.md +14 -0
  287. package/skills/fo/fo-idea-create-adr/SKILL.md +14 -0
  288. package/skills/fo/fo-idea-create-rfc/SKILL.md +14 -0
  289. package/skills/fo/fo-idea-enhance/SKILL.md +14 -0
  290. package/skills/fo/fo-idea-i-just-want-to-see-the-plan/SKILL.md +14 -0
  291. package/skills/fo/fo-idea-i-just-want-to-see-the-result/SKILL.md +14 -0
  292. package/skills/fo/fo-idea-implement/SKILL.md +14 -0
  293. package/skills/fo/fo-idea-plan/SKILL.md +14 -0
  294. package/skills/fo/fo-idea-status/SKILL.md +14 -0
  295. package/skills/fo/fo-knowledge-distill/SKILL.md +14 -0
  296. package/skills/fo/fo-memory-sync/SKILL.md +14 -0
  297. package/skills/fo/fo-qa/SKILL.md +14 -0
  298. package/skills/fo/fo-review/SKILL.md +14 -0
  299. package/skills/fo/fo-session-retro/SKILL.md +14 -0
  300. package/skills/fo/fo-session-save/SKILL.md +14 -0
  301. package/skills/fo/fo-spec-ingest/SKILL.md +14 -0
  302. package/skills/fo/fo-step-commit/SKILL.md +14 -0
  303. package/skills/fo/fo-triage/SKILL.md +14 -0
  304. package/skills/meta/forge-bootstrap/SKILL.md +14 -0
  305. package/skills/meta/port-to-forge/SKILL.md +14 -0
  306. package/skills/meta/skill-create/SKILL.md +14 -0
  307. package/skills/shared/grilling/SKILL.md +14 -0
  308. package/skills/shared/my-preferences/SKILL.md +14 -0
  309. package/skills/shared/windows-ai-tooling/SKILL.md +14 -0
  310. package/skills/shared/writing-great-skills/SKILL.md +14 -0
  311. package/src/config/forge-config.ts +16 -23
  312. package/src/forge-module.ts +6 -1
  313. package/src/index.ts +10 -2
  314. package/src/migration-adapters/git-utils.ts +6 -2
  315. package/src/migration-adapters/ignored-files.ts +6 -1
  316. package/src/migration-adapters/index.ts +4 -1
  317. package/src/migration-adapters/types.ts +6 -2
  318. package/src/onboarding/agents-generate.ts +7 -7
  319. package/src/onboarding/create.ts +7 -6
  320. package/src/onboarding/doctor.ts +7 -13
  321. package/src/onboarding/init.ts +7 -12
  322. package/src/onboarding/invariant-engine.ts +7 -2
  323. package/src/onboarding/nested-agents-generate.ts +7 -2
  324. package/src/onboarding/nested-agents-templates.ts +6 -1
  325. package/src/onboarding/scaffold-project.ts +6 -1
  326. package/src/onboarding/upgrade.ts +7 -3
  327. package/src/profiles/profile-schema.ts +42 -18
  328. package/src/profiles/stack-profile.ts +7 -3
  329. package/src/registry.ts +7 -9
  330. package/src/tests/agents-generate.test.ts +2 -2
  331. package/src/tests/forge-autonomy-validate.test.ts +1 -1
  332. package/src/types.ts +6 -1
  333. package/src/utils/fs-atomic.ts +13 -1
  334. package/src/utils/fs-idempotent.ts +13 -0
  335. package/src/utils/fs-trash-sync.ts +13 -1
  336. package/src/utils/fs-trash.ts +13 -1
  337. package/src/utils/fs.ts +14 -3
  338. package/src/utils/hash.ts +12 -1
  339. package/src/utils/index.ts +13 -2
  340. package/src/utils/string-utils.ts +12 -1
  341. package/src/validators/port-validate.ts +1 -1
  342. package/src/validators/skill-validate.ts +7 -8
  343. package/src/types/werkstatt-engine-shims.d.ts +0 -1416
  344. package/src/types/werkstatt-shared-shims.d.ts +0 -5686
@@ -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
 
@@ -15,6 +15,20 @@ knowledge:
15
15
  - project-narrative-template.md
16
16
  - milestone-gallery/
17
17
  ---
18
+ <!--
19
+ <MODULE_CONTRACT>
20
+ <purpose>forge-bootstrap skill — Configure a freshly created forge project — greenfield or transplant — with a barrier-free, creator-facing onboarding experience.</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
 
19
33
  # forge-bootstrap
20
34
 
@@ -10,6 +10,20 @@ bindings:
10
10
  requires: []
11
11
  optional: [paths.invariantsFile]
12
12
  ---
13
+ <!--
14
+ <MODULE_CONTRACT>
15
+ <purpose>port-to-forge skill — Port reusable patterns from project work into forge — identify pattern, grill operator about portability boundaries, create RFC/ADR if needed, scaffold, implement, validate, and update registry.</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
  # port-to-forge
15
29
 
@@ -7,6 +7,20 @@ concerns: document-only
7
7
  dependsOn: ['grilling', 'writing-great-skills']
8
8
  languagePolicy: ref(PREFERENCES.md)
9
9
  ---
10
+ <!--
11
+ <MODULE_CONTRACT>
12
+ <purpose>skill-create skill — Guides an agent through creating a new forge-compliant skill — determines category, invocation, concerns, dependencies, generates frontmatter, calls port.scaffold, and validates.</purpose>
13
+ <non-goals>
14
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
15
+ </non-goals>
16
+ </MODULE_CONTRACT>
17
+ <CHANGE_SUMMARY>
18
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
19
+
20
+ 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>
21
+ </CHANGE_SUMMARY>
22
+ -->
23
+
10
24
 
11
25
  # skill-create
12
26
 
@@ -10,6 +10,20 @@ knowledge:
10
10
  - qa-log.md
11
11
  - learned-principles.md
12
12
  ---
13
+ <!--
14
+ <MODULE_CONTRACT>
15
+ <purpose>grilling skill — Grill the user relentlessly about a plan or design. Use when the user wants to stress-test a plan before building, or uses any 'grill' trigger phrases.</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
  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.
15
29
 
@@ -7,6 +7,20 @@ concerns: document-only
7
7
  dependsOn: []
8
8
  languagePolicy: ref(PREFERENCES.md)
9
9
  ---
10
+ <!--
11
+ <MODULE_CONTRACT>
12
+ <purpose>my-preferences skill — Read, create, or edit the operator's preferences file at the repository root. Run when the operator wants to change language settings for AI conversations, grilling, or project documentation.</purpose>
13
+ <non-goals>
14
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
15
+ </non-goals>
16
+ </MODULE_CONTRACT>
17
+ <CHANGE_SUMMARY>
18
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
19
+
20
+ 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>
21
+ </CHANGE_SUMMARY>
22
+ -->
23
+
10
24
 
11
25
  # my-preferences
12
26
 
@@ -7,6 +7,20 @@ concerns: code-mutation
7
7
  dependsOn: []
8
8
  languagePolicy: ref(PREFERENCES.md)
9
9
  ---
10
+ <!--
11
+ <MODULE_CONTRACT>
12
+ <purpose>windows-ai-tooling skill — Bootstrap a Windows project for AI agents. Installs verified tools, generates .gitattributes, and emits a command allow-list for agent prompts. Run when starting a new project or when agents fail.</purpose>
13
+ <non-goals>
14
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
15
+ </non-goals>
16
+ </MODULE_CONTRACT>
17
+ <CHANGE_SUMMARY>
18
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
19
+
20
+ 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>
21
+ </CHANGE_SUMMARY>
22
+ -->
23
+
10
24
 
11
25
  # Windows AI Tooling
12
26
 
@@ -7,6 +7,20 @@ concerns: read-only
7
7
  dependsOn: []
8
8
  languagePolicy: ref(PREFERENCES.md)
9
9
  ---
10
+ <!--
11
+ <MODULE_CONTRACT>
12
+ <purpose>writing-great-skills skill — Reference for writing and editing skills well — the vocabulary and principles that make a skill predictable.</purpose>
13
+ <non-goals>
14
+ <item>Do not execute skill logic — this document instructs agents; it is not runnable code.</item>
15
+ </non-goals>
16
+ </MODULE_CONTRACT>
17
+ <CHANGE_SUMMARY>
18
+ <item>RFC-1097: sweep — SKILL.md headers + classification fixes
19
+
20
+ 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>
21
+ </CHANGE_SUMMARY>
22
+ -->
23
+
10
24
 
11
25
  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.
12
26
 
@@ -6,21 +6,16 @@
6
6
  </non-goals>
7
7
  </MODULE_CONTRACT>
8
8
  <CHANGE_SUMMARY>
9
- <item>RFC-0391: initial forge-config module with zod schema, loadForgeConfig, resolveForgeRoot.</item>
10
- <item>RFC-0393: added ForgeBindings schema, resolveBinding with placeholder substitution.</item>
11
- <item>RFC-0538: added optional compass binding section (fileExtensions, testPatterns).</item>
12
- <item>RFC-0537: added sessionsDir to paths and bindings.paths schemas.</item>
13
- <item>RFC-0539: added ForgeSkillPack schema and skillPacks to forge config for project-declared skill packs.</item>
14
- <item>RFC-0540: added implementStamp to bindings schema, FORGE_CLI_BINDING_DEFAULTS, PM_RUNNER_MAP, resolvePmRunner, applyCliBindingDefaults.</item>
15
- <item>RFC-0540 fix: eliminated type casts — applyCliBindingDefaults returns ForgeBindings["commands"] directly, resolvePackageManager validates pm against enum.</item>
16
- <item>RFC-0543: added optional forge.syncedVersion field to forgeConfigSchema and defaultForgeConfig for consumer upgrade tracking.</item>
17
- <item>RFC-0546: added optional migrationAdapters field to forgeConfigSchema for migration-adapter registry discovery.</item>
18
- <item>RFC-0639: added 5 semantic command keys (validate, produce, verify, preview, lint), terminology promoted from .optional() to .default({}), resolveTerminology function.</item>
19
- <item>RFC-0640: added optional domain field to project section for domain-aware bootstrapping and health checks.</item>
20
- <item>RFC-0643: added optional profile field to forgeConfigSchema and ForgeConfig; loadForgeConfig loads profiles/<id>.yaml when present.</item>
21
9
  <item>RFC-0661: added optional knowledge.budgets binding for hot/warm layer character budget overrides.</item>
22
10
  <item>RFC-0662: added optional knowledge.retentionDays and knowledge.staleDays bindings for compaction overrides.</item>
23
11
  <item>RFC-0704: added optional independentVersionPackages field to forgeConfigSchema for packages with autonomous npm versions.</item>
12
+ <item>RFC-1097: step 6 — compass.migrate codemod run
13
+
14
+ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
15
+ <item>RFC-1097: sweep — packages/forge + services clean
16
+
17
+ Sweep batch 2: real KEY_DECISIONS on 10 files, expanded purposes (CONTRACT-02/PURPOSE-02), headers on mission/index + gen-upstreams, sanitizeItemText in summary.record (literal Compass tags corrupted history), excludedPaths for wrangler types, test-fixtures testPattern. forge+services now 0 diagnostics under --mode error.</item>
18
+ <history>RFC-0391, RFC-0393, RFC-0537, RFC-0538, RFC-0539, RFC-0540, RFC-0543, RFC-0546, RFC-0639, RFC-0640, RFC-0643</history>
24
19
  </CHANGE_SUMMARY>
25
20
  */
26
21
 
@@ -28,7 +23,11 @@ import fs from "node:fs";
28
23
  import path from "node:path";
29
24
  import { z } from "zod";
30
25
  import { parse as parseYaml } from "yaml";
31
- import { TERMINOLOGY_DEFAULTS } from "../profiles/profile-schema.ts";
26
+ import {
27
+ TERMINOLOGY_DEFAULTS,
28
+ compassPolicyOverridesSchema,
29
+ type CompassPolicyOverrides,
30
+ } from "../profiles/profile-schema.ts";
32
31
  import { listStackProfiles, type StackProfile } from "../profiles/stack-profile.ts";
33
32
 
34
33
  // ---------------------------------------------------------------------------
@@ -61,12 +60,9 @@ export const forgeBindingsSchema = z.object({
61
60
  sessionsDir: z.string().nullable().default(null),
62
61
  }),
63
62
  terminology: z.record(z.string(), z.string()).default({}),
64
- compass: z
65
- .object({
66
- fileExtensions: z.array(z.string()).optional(),
67
- testPatterns: z.array(z.string()).optional(),
68
- })
69
- .optional(),
63
+ // RFC-1096: consumer-level Compass policy overrides (same shape as the
64
+ // stack profile `compass:` section).
65
+ compass: compassPolicyOverridesSchema.optional(),
70
66
  // RFC-0661: optional knowledge layer character budget overrides
71
67
  // RFC-0662: optional retention/stale day overrides
72
68
  knowledge: z
@@ -115,10 +111,7 @@ export interface ForgeBindings {
115
111
  sessionsDir: string | null;
116
112
  };
117
113
  terminology: Record<string, string>;
118
- compass?: {
119
- fileExtensions?: string[];
120
- testPatterns?: string[];
121
- };
114
+ compass?: CompassPolicyOverrides;
122
115
  // RFC-0661: optional knowledge layer character budget overrides
123
116
  // RFC-0662: optional retention/stale day overrides
124
117
  knowledge?: {