@hassangameryt/freeflow 0.2.0 → 0.4.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 (312) hide show
  1. package/.agents/plugins/marketplace.json +1 -1
  2. package/.claude-plugin/marketplace.json +4 -4
  3. package/{plugins/freeflow/.claude-plugin → .claude-plugin}/plugin.json +5 -2
  4. package/{plugins/freeflow/.codex-plugin → .codex-plugin}/plugin.json +8 -9
  5. package/README.md +194 -127
  6. package/assets/feedback-loop.png +0 -0
  7. package/assets/freeflow-plugin-icon.png +0 -0
  8. package/assets/freeflow_workflow_map.png +0 -0
  9. package/assets/workflow.png +0 -0
  10. package/command-surface.json +129 -0
  11. package/hooks/freeflow-runtime-context.mjs +419 -0
  12. package/hooks/tests/check-runtime-context-hook.sh +223 -0
  13. package/package.json +41 -22
  14. package/pi-extension/dist/index.js +269 -0
  15. package/pi-extension/dist/integrations/mcp-config.js +29 -0
  16. package/pi-extension/dist/output-router/host-producer-identification.js +232 -0
  17. package/pi-extension/dist/output-router/native-safety-net.js +216 -0
  18. package/pi-extension/dist/output-router/observed-tool-routing.js +122 -0
  19. package/pi-extension/dist/output-router/renderers.js +1023 -0
  20. package/pi-extension/dist/output-router/router-tools.js +554 -0
  21. package/pi-extension/dist/output-router/schemas.js +383 -0
  22. package/pi-extension/dist/output-router/status.js +744 -0
  23. package/pi-extension/dist/output-router/utils.js +502 -0
  24. package/pi-extension/dist/runtime/runtime-context.js +798 -0
  25. package/pi-extension/dist/settings/settings-tui.js +314 -0
  26. package/pi-extension/dist/settings/settings-ui.js +1487 -0
  27. package/pi-extension/freeflow/index.js +1 -0
  28. package/pi-extension/src/index.ts +295 -0
  29. package/pi-extension/src/integrations/mcp-config.ts +32 -0
  30. package/pi-extension/src/output-router/host-producer-identification.ts +256 -0
  31. package/pi-extension/src/output-router/native-safety-net.ts +248 -0
  32. package/pi-extension/src/output-router/observed-tool-routing.ts +134 -0
  33. package/pi-extension/src/output-router/renderers.ts +1108 -0
  34. package/pi-extension/src/output-router/router-tools.ts +579 -0
  35. package/pi-extension/src/output-router/schemas.ts +387 -0
  36. package/pi-extension/src/output-router/status.ts +791 -0
  37. package/pi-extension/src/output-router/utils.ts +554 -0
  38. package/pi-extension/src/runtime/runtime-context.ts +895 -0
  39. package/pi-extension/src/settings/settings-tui.ts +408 -0
  40. package/pi-extension/src/settings/settings-ui.ts +1730 -0
  41. package/pi-extension/tests/integration/pi-extension.test.js +4018 -0
  42. package/pi-extension/tests/output-router/observed-producers.test.js +132 -0
  43. package/pi-extension/tests/output-router/search.test.js +722 -0
  44. package/pi-extension/tests/settings/settings-tui.test.js +243 -0
  45. package/pi-extension/tsconfig.json +16 -0
  46. package/{plugins/freeflow/router/dist → router/dist/benchmarks}/benchmark-harness.d.ts +16 -13
  47. package/router/dist/benchmarks/benchmark-harness.js +92 -0
  48. package/router/dist/benchmarks/benchmarks.d.ts +109 -0
  49. package/router/dist/benchmarks/benchmarks.js +979 -0
  50. package/router/dist/benchmarks/codex-qa-benchmarks.d.ts +95 -0
  51. package/router/dist/benchmarks/codex-qa-benchmarks.js +500 -0
  52. package/router/dist/benchmarks/command-benchmarks.d.ts +143 -0
  53. package/router/dist/benchmarks/command-benchmarks.js +698 -0
  54. package/router/dist/benchmarks/context-mode-normalized-benchmarks.d.ts +82 -0
  55. package/router/dist/benchmarks/context-mode-normalized-benchmarks.js +773 -0
  56. package/router/dist/benchmarks/context-mode-real-deep-benchmark.d.ts +132 -0
  57. package/router/dist/benchmarks/context-mode-real-deep-benchmark.js +1380 -0
  58. package/router/dist/benchmarks/context-saving-baseline.d.ts +60 -0
  59. package/router/dist/benchmarks/context-saving-baseline.js +470 -0
  60. package/router/dist/benchmarks/index-benchmarks.d.ts +103 -0
  61. package/router/dist/benchmarks/index-benchmarks.js +862 -0
  62. package/router/dist/benchmarks/storage-policy-benchmarks.d.ts +101 -0
  63. package/router/dist/benchmarks/storage-policy-benchmarks.js +618 -0
  64. package/router/dist/benchmarks/vault-index-benchmarks.d.ts +56 -0
  65. package/router/dist/benchmarks/vault-index-benchmarks.js +322 -0
  66. package/router/dist/config/config.d.ts +103 -0
  67. package/router/dist/config/config.js +632 -0
  68. package/{plugins/freeflow/router/dist → router/dist/config}/router-contract.d.ts +2 -2
  69. package/router/dist/config/router-contract.js +54 -0
  70. package/{plugins/freeflow/router/dist → router/dist/config}/schema.d.ts +19 -10
  71. package/router/dist/config/schema.js +648 -0
  72. package/router/dist/config/types.d.ts +573 -0
  73. package/router/dist/config/types.js +41 -0
  74. package/router/dist/evidence/bounded-evidence.d.ts +40 -0
  75. package/router/dist/evidence/bounded-evidence.js +323 -0
  76. package/router/dist/evidence/evidence-range-selector.d.ts +24 -0
  77. package/router/dist/evidence/evidence-range-selector.js +232 -0
  78. package/router/dist/evidence/evidence-search.d.ts +27 -0
  79. package/router/dist/evidence/evidence-search.js +490 -0
  80. package/{plugins/freeflow/router/dist → router/dist/evidence}/evidence.d.ts +18 -18
  81. package/router/dist/evidence/evidence.js +200 -0
  82. package/router/dist/evidence/failure-contracts.d.ts +37 -0
  83. package/router/dist/evidence/failure-contracts.js +166 -0
  84. package/router/dist/evidence/line-ranges.d.ts +24 -0
  85. package/router/dist/evidence/line-ranges.js +22 -0
  86. package/router/dist/experiments/local-index.d.ts +64 -0
  87. package/router/dist/experiments/local-index.js +581 -0
  88. package/router/dist/index.d.ts +30 -0
  89. package/router/dist/index.js +32 -0
  90. package/router/dist/local/local-traversal.d.ts +18 -0
  91. package/router/dist/local/local-traversal.js +334 -0
  92. package/router/dist/processing/engine.d.ts +132 -0
  93. package/router/dist/processing/engine.js +533 -0
  94. package/router/dist/processing/reducers.d.ts +280 -0
  95. package/router/dist/processing/reducers.js +1673 -0
  96. package/router/dist/processing/renderers.d.ts +31 -0
  97. package/router/dist/processing/renderers.js +195 -0
  98. package/router/dist/processing/scripts.d.ts +91 -0
  99. package/router/dist/processing/scripts.js +386 -0
  100. package/{plugins/freeflow/router/dist → router/dist/repo}/repo-traversal.d.ts +9 -9
  101. package/router/dist/repo/repo-traversal.js +245 -0
  102. package/router/dist/routing/observed-reducers.d.ts +41 -0
  103. package/router/dist/routing/observed-reducers.js +661 -0
  104. package/router/dist/routing/observed-routing.d.ts +26 -0
  105. package/router/dist/routing/observed-routing.js +378 -0
  106. package/router/dist/routing/parsers.d.ts +16 -0
  107. package/router/dist/routing/parsers.js +521 -0
  108. package/router/dist/routing/run-filters.d.ts +60 -0
  109. package/router/dist/routing/run-filters.js +238 -0
  110. package/router/dist/routing/run-reducers.d.ts +49 -0
  111. package/router/dist/routing/run-reducers.js +122 -0
  112. package/router/dist/sandbox/adapter-roots.d.ts +46 -0
  113. package/router/dist/sandbox/adapter-roots.js +66 -0
  114. package/router/dist/sandbox/eryx-python-adapter.d.ts +13 -0
  115. package/router/dist/sandbox/eryx-python-adapter.js +868 -0
  116. package/router/dist/sandbox/jq-wasm-adapter.d.ts +9 -0
  117. package/router/dist/sandbox/jq-wasm-adapter.js +429 -0
  118. package/router/dist/sandbox/quickjs-wasi-adapter.d.ts +13 -0
  119. package/router/dist/sandbox/quickjs-wasi-adapter.js +384 -0
  120. package/router/dist/sandbox/script-sandbox.d.ts +134 -0
  121. package/router/dist/sandbox/script-sandbox.js +337 -0
  122. package/router/dist/setup/script-transform-adapters.d.ts +32 -0
  123. package/router/dist/setup/script-transform-adapters.js +278 -0
  124. package/router/dist/tools/batch.d.ts +33 -0
  125. package/router/dist/tools/batch.js +586 -0
  126. package/router/dist/tools/run.d.ts +62 -0
  127. package/router/dist/tools/run.js +1304 -0
  128. package/router/dist/tools/search.d.ts +66 -0
  129. package/router/dist/tools/search.js +1364 -0
  130. package/router/dist/transform/engine.d.ts +168 -0
  131. package/router/dist/transform/engine.js +2072 -0
  132. package/router/dist/vault/vault-index.d.ts +125 -0
  133. package/router/dist/vault/vault-index.js +416 -0
  134. package/router/dist/vault/vault.d.ts +138 -0
  135. package/router/dist/vault/vault.js +630 -0
  136. package/runtime/interaction-contract.md +16 -0
  137. package/skills/bypass/SKILL.md +82 -0
  138. package/skills/commit-work/SKILL.md +106 -0
  139. package/skills/commit-work/references/staging-decisions.md +73 -0
  140. package/skills/decision-gate/SKILL.md +48 -0
  141. package/skills/design-for-depth/SKILL.md +106 -0
  142. package/skills/design-for-depth/references/design-pressure-signals.md +314 -0
  143. package/skills/design-for-depth/references/interface-design-loop.md +156 -0
  144. package/skills/design-for-depth/references/software-design-philosophy.md +248 -0
  145. package/skills/diagnose-failure/SKILL.md +105 -0
  146. package/skills/diagnose-failure/references/diagnostic-loop-catalog.md +36 -0
  147. package/skills/diagnose-failure/references/flaky-and-performance.md +43 -0
  148. package/skills/discuss/SKILL.md +121 -0
  149. package/skills/discuss/references/checkpoints.md +66 -0
  150. package/skills/evaluate-skill/SKILL.md +105 -0
  151. package/skills/evaluate-skill/references/definition-schema.md +345 -0
  152. package/skills/evaluate-skill/references/evaluation-design.md +86 -0
  153. package/skills/evaluate-skill/references/execution-and-evidence.md +85 -0
  154. package/skills/evaluate-skill/references/review-and-revision.md +51 -0
  155. package/skills/evaluate-skill/scripts/lib/definitions.mjs +296 -0
  156. package/skills/evaluate-skill/scripts/lib/evidence.mjs +46 -0
  157. package/skills/evaluate-skill/scripts/lib/grade-comparison.mjs +60 -0
  158. package/skills/evaluate-skill/scripts/lib/grade-interaction.mjs +148 -0
  159. package/skills/evaluate-skill/scripts/lib/grade-support.mjs +126 -0
  160. package/skills/evaluate-skill/scripts/lib/grade-workspace.mjs +192 -0
  161. package/skills/evaluate-skill/scripts/lib/grade.mjs +56 -0
  162. package/skills/evaluate-skill/scripts/lib/pi.mjs +489 -0
  163. package/skills/evaluate-skill/scripts/lib/process.mjs +79 -0
  164. package/skills/evaluate-skill/scripts/lib/rpc.mjs +444 -0
  165. package/skills/evaluate-skill/scripts/lib/runner.mjs +346 -0
  166. package/skills/evaluate-skill/scripts/lib/sandbox.mjs +409 -0
  167. package/skills/evaluate-skill/scripts/lib/view.mjs +337 -0
  168. package/skills/evaluate-skill/scripts/pi-guard.mjs +164 -0
  169. package/skills/evaluate-skill/scripts/skill-eval.mjs +101 -0
  170. package/skills/execute-work/SKILL.md +99 -0
  171. package/skills/execute-work/references/code-practices.md +78 -0
  172. package/skills/execute-work/references/execution-loop.md +77 -0
  173. package/skills/finish-branch/SKILL.md +117 -0
  174. package/skills/finish-branch/references/integration-options.md +80 -0
  175. package/skills/handoff/SKILL.md +92 -0
  176. package/skills/handoff/references/templates.md +141 -0
  177. package/skills/launch-work/SKILL.md +116 -0
  178. package/skills/launch-work/references/launch-readiness.md +85 -0
  179. package/skills/migration-work/SKILL.md +115 -0
  180. package/skills/migration-work/references/migration-lifecycle.md +82 -0
  181. package/skills/mode-contract/SKILL.md +82 -0
  182. package/skills/output-router/SKILL.md +206 -0
  183. package/skills/output-router/references/safety-policy.md +40 -0
  184. package/skills/release-work/SKILL.md +118 -0
  185. package/skills/release-work/references/release-evidence.md +78 -0
  186. package/skills/review-artifact/SKILL.md +126 -0
  187. package/skills/review-artifact/references/reviewer-prompt.md +148 -0
  188. package/skills/review-work/SKILL.md +126 -0
  189. package/skills/review-work/references/reviewer-prompt.md +134 -0
  190. package/skills/review-work/references/security-risk-lens.md +67 -0
  191. package/skills/setup-freeflow/SKILL.md +98 -0
  192. package/skills/setup-freeflow/references/activation-contract.md +120 -0
  193. package/skills/setup-freeflow/references/host-setup.md +72 -0
  194. package/skills/setup-freeflow/references/output-router-setup.md +110 -0
  195. package/skills/simplify-code/SKILL.md +80 -0
  196. package/skills/simplify-code/references/simplification-patterns.md +70 -0
  197. package/skills/tdd/SKILL.md +96 -0
  198. package/skills/tdd/references/test-design.md +96 -0
  199. package/skills/track-work/SKILL.md +84 -0
  200. package/skills/track-work/references/working-record-schema.md +378 -0
  201. package/skills/verify-work/SKILL.md +85 -0
  202. package/skills/verify-work/references/browser-runtime-evidence.md +55 -0
  203. package/skills/verify-work/references/integration-evidence.md +51 -0
  204. package/skills/verify-work/references/performance-evidence.md +57 -0
  205. package/skills/workflow/SKILL.md +91 -0
  206. package/skills/workflow/references/domain-skill-composition.md +57 -0
  207. package/skills/workflow/references/workflow-loop.md +92 -0
  208. package/skills/write-plan/SKILL.md +123 -0
  209. package/skills/write-plan/references/plan-shapes.md +156 -0
  210. package/skills/write-skill/SKILL.md +119 -0
  211. package/skills/write-skill/references/activation-boundaries.md +62 -0
  212. package/skills/write-skill/references/agent-first-instructions.md +87 -0
  213. package/skills/write-skill/references/progressive-disclosure.md +63 -0
  214. package/skills/write-skill/scripts/lib/skill-author.mjs +653 -0
  215. package/skills/write-skill/scripts/skill-author.mjs +104 -0
  216. package/skills/write-spec/SKILL.md +104 -0
  217. package/skills/write-spec/references/artifact-standards.md +86 -0
  218. package/skills/write-spec/references/decision-records.md +77 -0
  219. package/skills/write-spec/references/spec-shapes.md +128 -0
  220. package/plugins/freeflow/command-surface.json +0 -77
  221. package/plugins/freeflow/docs/README.md +0 -40
  222. package/plugins/freeflow/docs/adr/0001-three-modes.md +0 -27
  223. package/plugins/freeflow/docs/adr/0002-evals-before-hooks.md +0 -17
  224. package/plugins/freeflow/docs/adr/0003-release-boundary.md +0 -21
  225. package/plugins/freeflow/docs/adr/0004-research-replaces-shallow-discovery-skills.md +0 -26
  226. package/plugins/freeflow/docs/adr/README.md +0 -8
  227. package/plugins/freeflow/docs/architecture.md +0 -86
  228. package/plugins/freeflow/docs/output-router.md +0 -212
  229. package/plugins/freeflow/docs/release-evidence.md +0 -69
  230. package/plugins/freeflow/docs/skills.md +0 -43
  231. package/plugins/freeflow/docs/workflow.md +0 -57
  232. package/plugins/freeflow/hooks/freeflow-runtime-context.mjs +0 -257
  233. package/plugins/freeflow/pi-extension/index.js +0 -1176
  234. package/plugins/freeflow/router/dist/benchmark-harness.js +0 -92
  235. package/plugins/freeflow/router/dist/benchmarks.d.ts +0 -102
  236. package/plugins/freeflow/router/dist/benchmarks.js +0 -880
  237. package/plugins/freeflow/router/dist/bounded-evidence.d.ts +0 -40
  238. package/plugins/freeflow/router/dist/bounded-evidence.js +0 -310
  239. package/plugins/freeflow/router/dist/codex-qa-benchmarks.d.ts +0 -91
  240. package/plugins/freeflow/router/dist/codex-qa-benchmarks.js +0 -461
  241. package/plugins/freeflow/router/dist/command-benchmarks.d.ts +0 -128
  242. package/plugins/freeflow/router/dist/command-benchmarks.js +0 -652
  243. package/plugins/freeflow/router/dist/config.d.ts +0 -22
  244. package/plugins/freeflow/router/dist/config.js +0 -114
  245. package/plugins/freeflow/router/dist/evidence-range-selector.d.ts +0 -22
  246. package/plugins/freeflow/router/dist/evidence-range-selector.js +0 -180
  247. package/plugins/freeflow/router/dist/evidence-search.d.ts +0 -25
  248. package/plugins/freeflow/router/dist/evidence-search.js +0 -450
  249. package/plugins/freeflow/router/dist/evidence.js +0 -196
  250. package/plugins/freeflow/router/dist/experimental-local-index.d.ts +0 -1
  251. package/plugins/freeflow/router/dist/experimental-local-index.js +0 -1
  252. package/plugins/freeflow/router/dist/experiments/local-index.d.ts +0 -58
  253. package/plugins/freeflow/router/dist/experiments/local-index.js +0 -562
  254. package/plugins/freeflow/router/dist/index-benchmarks.d.ts +0 -84
  255. package/plugins/freeflow/router/dist/index-benchmarks.js +0 -458
  256. package/plugins/freeflow/router/dist/index.d.ts +0 -12
  257. package/plugins/freeflow/router/dist/index.js +0 -12
  258. package/plugins/freeflow/router/dist/line-ranges.d.ts +0 -22
  259. package/plugins/freeflow/router/dist/line-ranges.js +0 -22
  260. package/plugins/freeflow/router/dist/parsers.d.ts +0 -16
  261. package/plugins/freeflow/router/dist/parsers.js +0 -473
  262. package/plugins/freeflow/router/dist/repo-traversal.js +0 -242
  263. package/plugins/freeflow/router/dist/retrieve.d.ts +0 -33
  264. package/plugins/freeflow/router/dist/retrieve.js +0 -855
  265. package/plugins/freeflow/router/dist/router-contract.js +0 -54
  266. package/plugins/freeflow/router/dist/run.d.ts +0 -26
  267. package/plugins/freeflow/router/dist/run.js +0 -356
  268. package/plugins/freeflow/router/dist/schema.js +0 -354
  269. package/plugins/freeflow/router/dist/types.d.ts +0 -234
  270. package/plugins/freeflow/router/dist/types.js +0 -9
  271. package/plugins/freeflow/router/dist/vault.d.ts +0 -80
  272. package/plugins/freeflow/router/dist/vault.js +0 -484
  273. package/plugins/freeflow/skills/bypass/SKILL.md +0 -68
  274. package/plugins/freeflow/skills/commit-work/SKILL.md +0 -98
  275. package/plugins/freeflow/skills/commit-work/references/staging-decisions.md +0 -51
  276. package/plugins/freeflow/skills/diagnose-failure/SKILL.md +0 -95
  277. package/plugins/freeflow/skills/diagnose-failure/references/feedback-loop-catalog.md +0 -25
  278. package/plugins/freeflow/skills/diagnose-failure/references/flaky-and-performance.md +0 -31
  279. package/plugins/freeflow/skills/evaluate-skill/SKILL.md +0 -96
  280. package/plugins/freeflow/skills/evaluate-skill/references/eval-patterns.md +0 -41
  281. package/plugins/freeflow/skills/evaluate-skill/references/grading-priority.md +0 -33
  282. package/plugins/freeflow/skills/execute-plan/SKILL.md +0 -132
  283. package/plugins/freeflow/skills/execute-plan/references/execution-map.md +0 -122
  284. package/plugins/freeflow/skills/handoff/SKILL.md +0 -66
  285. package/plugins/freeflow/skills/handoff/references/templates.md +0 -64
  286. package/plugins/freeflow/skills/interview-gate/SKILL.md +0 -90
  287. package/plugins/freeflow/skills/mode-contract/SKILL.md +0 -79
  288. package/plugins/freeflow/skills/output-router/SKILL.md +0 -69
  289. package/plugins/freeflow/skills/output-router/references/safety-policy.md +0 -33
  290. package/plugins/freeflow/skills/research/ARTIFACT-DESTINATIONS.md +0 -58
  291. package/plugins/freeflow/skills/research/CHECKPOINTS.md +0 -74
  292. package/plugins/freeflow/skills/research/LANGUAGE.md +0 -61
  293. package/plugins/freeflow/skills/research/SKILL.md +0 -128
  294. package/plugins/freeflow/skills/review-artifact/SKILL.md +0 -115
  295. package/plugins/freeflow/skills/review-artifact/references/reviewer-prompt.md +0 -56
  296. package/plugins/freeflow/skills/review-work/SKILL.md +0 -96
  297. package/plugins/freeflow/skills/review-work/references/reviewer-prompt.md +0 -97
  298. package/plugins/freeflow/skills/setup-freeflow/SKILL.md +0 -94
  299. package/plugins/freeflow/skills/setup-freeflow/references/activation-contract.md +0 -99
  300. package/plugins/freeflow/skills/setup-freeflow/references/host-setup.md +0 -35
  301. package/plugins/freeflow/skills/setup-freeflow/references/output-router-setup.md +0 -52
  302. package/plugins/freeflow/skills/verify-work/SKILL.md +0 -62
  303. package/plugins/freeflow/skills/workflow/SKILL.md +0 -95
  304. package/plugins/freeflow/skills/workflow/references/workflow-map.md +0 -102
  305. package/plugins/freeflow/skills/write-plan/SKILL.md +0 -88
  306. package/plugins/freeflow/skills/write-plan/references/plan-shapes.md +0 -70
  307. package/plugins/freeflow/skills/write-skill/SKILL.md +0 -88
  308. package/plugins/freeflow/skills/write-spec/SKILL.md +0 -90
  309. package/plugins/freeflow/skills/write-spec/references/artifact-standards.md +0 -67
  310. package/plugins/freeflow/skills/write-spec/references/spec-shapes.md +0 -69
  311. /package/{plugins/freeflow/assets → assets}/freeflow-plugin-icon-transparent.png +0 -0
  312. /package/{plugins/freeflow/hooks → hooks}/hooks.json +0 -0
@@ -1,62 +0,0 @@
1
- ---
2
- name: verify-work
3
- description: Use before claiming work is done, fixed, passing, implemented, reviewed, or ready; when verification fails; or when the user asks to skip checks but still wants a completion claim.
4
- ---
5
-
6
- # Verify Work
7
-
8
- Do not claim completion without fresh evidence.
9
-
10
- ## Evidence Rule
11
-
12
- Before saying work is done, fixed, passing, implemented, reviewed, or ready, verify the claim.
13
-
14
- Good evidence can be:
15
-
16
- - Passing tests.
17
- - Typecheck, lint, build, or formatter output.
18
- - Reproducing a bug before and after a fix.
19
- - Inspecting the changed file when no executable check exists.
20
- - A targeted manual check.
21
-
22
- Use the smallest verification that proves the claim.
23
-
24
- ## Claim Rule
25
-
26
- Match the claim to the evidence.
27
-
28
- - If tests passed, say which tests passed.
29
- - If only a file was inspected, say that.
30
- - If no runnable check exists, say the work is unverified by automation.
31
- - If the user asks to skip checks, skip the checks but do not claim verified or passing.
32
-
33
- Never convert "I changed the code" into "it works" without evidence.
34
-
35
- ## Failure Rule
36
-
37
- If verification fails, stop and report the evidence.
38
-
39
- Do not patch randomly. Decide whether the failure means:
40
-
41
- - Implementation bug.
42
- - Bad or stale test.
43
- - Source-of-truth conflict.
44
- - Missing environment/dependency.
45
- - User-owned product/domain decision.
46
-
47
- If the failure challenges the spec, plan, docs, policy, or tests, re-enter the interview gate before changing direction.
48
-
49
- ## Final Response
50
-
51
- Use this shape:
52
-
53
- ```text
54
- Changed: ...
55
- Verified: ...
56
- Not verified: ...
57
- Next: ...
58
- ```
59
-
60
- For completed consequential work, `Next:` is mandatory. Omit it only for direct question answers, mid-task status, or clarification-only turns.
61
-
62
- Keep it short.
@@ -1,95 +0,0 @@
1
- ---
2
- name: workflow
3
- description: Use when doing consequential work such as implementation, bug fixing, planning, research-for-action, review, verification, or handoff.
4
- ---
5
-
6
- # Workflow
7
-
8
- Follow a lightweight forward workflow. Scale process to task risk.
9
-
10
- Move forward when context is sufficient. Re-enter clarification when new ambiguity would change the next action.
11
-
12
- Question means answer. Do not turn a question into a file edit, report, plan, or implementation.
13
-
14
- ```text
15
- Clarify / Research
16
- -> Decision / Spec
17
- -> Plan
18
- -> Execute
19
- -> Review
20
- -> Verify
21
- -> Handoff
22
- ```
23
-
24
- This is a guide, not ceremony. Small reversible work can skip spec/plan artifacts.
25
-
26
- Method skills such as TDD, diagnosis, or execute-plan run inside the current workflow phase. Workflow owns routing, source-truth conflicts, user-owned decisions, review, verification, and handoff boundaries.
27
-
28
- Read `references/workflow-map.md` when the user asks for the full pipeline, public docs need a diagram, or the next workflow entry point is unclear.
29
-
30
- ## Route Closeout
31
-
32
- When a consequential workflow phase completes, name the next route.
33
-
34
- Use `Next:` in the final response unless this is a direct question answer, mid-task status, or clarification-only turn.
35
-
36
- Choose one:
37
-
38
- - Forward: the next workflow entry point is clear.
39
- - Backward: new evidence requires clarification, research, or interview gate.
40
- - Branch: 2-3 valid next routes exist.
41
- - Stop: no required next action remains.
42
-
43
- Recommend the route supported by evidence. Do not ask a vague "what next?" question.
44
-
45
- After completed research with decisions that must survive beyond chat, route to `write-spec`, an owning decision artifact, or handoff before `write-plan` or execution.
46
-
47
- `Next:` is routing, not permission to create the next artifact or continue into a new phase.
48
-
49
- ## Backward Edge
50
-
51
- If new evidence invalidates the current path, re-enter clarification.
52
-
53
- ```text
54
- Any state -> Clarify / Research -> explicit next state
55
- ```
56
-
57
- Do not silently substitute a different path, rewrite the spec, change the plan, or patch forward. State what changed, then decide whether to continue, revise spec, revise plan, diagnose, split scope, defer, or stop and ask.
58
-
59
- If a requested, planned, or skill-required method cannot be followed and the fallback would change evidence quality, workflow shape, risk, scope, cost, persistence, or user-visible output, stop before using the fallback. Name both paths and ask which one to follow.
60
-
61
- ## Source-of-Truth Conflicts
62
-
63
- When a requested implementation contradicts existing docs, tests, specs, policies, ADRs, handoffs, or established code behavior, pause before editing.
64
-
65
- Do not rewrite the source of truth to make the latest request pass.
66
-
67
- First state the conflict and ask whether the source of truth should change. Only edit docs/tests/policies/specs to match new behavior after the user explicitly confirms that decision.
68
-
69
- Treat handoffs as memory, not authority. If a handoff conflicts with live repo evidence, inspect the evidence and ask before following the handoff.
70
-
71
- For billing, security, privacy, data loss, migrations, public APIs, compatibility, and permissions, recommend strict-workflow before changing behavior.
72
-
73
- ## Artifact Rule
74
-
75
- Artifacts are memory, not proof of obedience.
76
-
77
- Only create artifacts when the user asks for an artifact or asks you to do work that requires one.
78
-
79
- Create them only when they preserve decisions, reduce risk, or help a future agent resume. Prefer short research notes, decision/spec notes, plans, verification notes, and handoffs.
80
-
81
- Do not write volatile repo inventories. Link to live files or commands instead.
82
-
83
- ## Review Rule
84
-
85
- Review should improve work, not create an endless patch loop.
86
-
87
- Reviewer findings are evidence, not commands. Separate blocking, non-blocking, and question findings before editing from them.
88
-
89
- A non-passing review routes to adjudication before more implementation. Repeated review failure routes backward to diagnose, research, spec, or plan; do not chase a fourth broad review pass.
90
-
91
- Review can pass. Save review artifacts only when risk, future memory value, or the user asks for them.
92
-
93
- ## Completion Rule
94
-
95
- Do not claim completion without fresh evidence. Say what was verified and what remains unverified.
@@ -1,102 +0,0 @@
1
- # Freeflow Map
2
-
3
- Use this when the user asks how the whole workflow fits together, public docs need a diagram, or the next workflow entry point is unclear.
4
-
5
- This map is orienting, not mandatory. Small reversible work can skip unnecessary artifacts and gates. Re-enter clarification whenever new ambiguity would change the next action.
6
-
7
- ## Compact Map
8
-
9
- Use this compact version in public README-style docs.
10
-
11
- ```mermaid
12
- flowchart LR
13
- Request{request}
14
- Talk[conversation<br/>answer directly]
15
- Discover[discover<br/>research checkpoint]
16
- Spec[spec]
17
- Plan[plan]
18
- Build[build<br/>execute / diagnose / TDD]
19
- Check[review + verify]
20
- Close[commit / handoff]
21
-
22
- Request -->|question| Talk
23
- Request -->|work| Discover
24
- Discover --> Spec --> Plan --> Build --> Check --> Close
25
- Check -. new evidence or failed check .-> Discover
26
- ```
27
-
28
- ```text
29
- Use conversation mode for questions. Use workflow mode for consequential work.
30
- Use strict-workflow for risky work; same spine, stronger gates.
31
- Loop back when new evidence, source conflicts, user-owned decisions, or failed checks change the path.
32
- After each completed consequential phase, name the next route: forward, backward, branch, or stop.
33
- ```
34
-
35
- ## Reference Map
36
-
37
- Use this fuller version when choosing an entry point or explaining the workflow lifecycle.
38
-
39
- ```mermaid
40
- flowchart TD
41
- Request([User request]) --> Mode{Mode}
42
-
43
- Mode -->|question, critique, explanation| Conversation[conversation mode<br/>answer directly]
44
- Conversation --> Done([done])
45
-
46
- Mode -->|consequential work| Workflow[workflow mode<br/>scale to risk]
47
- Mode -->|high-risk or hard to reverse| Strict[strict-workflow mode<br/>stronger gates]
48
-
49
- Workflow --> Entry{Choose entry point}
50
- Strict --> Entry
51
-
52
- Entry --> Discovery[Discovery<br/>research<br/>interview-gate]
53
- Entry --> Spec[Spec<br/>write-spec<br/>review-artifact]
54
- Entry --> Plan[Plan<br/>write-plan<br/>review-artifact]
55
- Entry --> Build[Build, diagnose, or TDD<br/>execute-plan<br/>diagnose-failure]
56
- Entry --> Closeout[Closeout<br/>review-work<br/>verify-work<br/>commit-work]
57
-
58
- Discovery --> Spec
59
- Spec --> Plan
60
- Plan --> Build
61
- Build --> Closeout
62
- Closeout --> Handoff[handoff<br/>durable checkpoint when needed]
63
- Handoff --> Done
64
-
65
- Reenter[Re-enter discovery<br/>new evidence, owner decision,<br/>source conflict, or failed check]
66
- Spec -.-> Reenter
67
- Plan -.-> Reenter
68
- Build -.-> Reenter
69
- Closeout -.-> Reenter
70
- Handoff -.-> Reenter
71
- Reenter --> Discovery
72
-
73
- Bypass[bypass<br/>skip ceremony, not judgment] -.-> Entry
74
- ```
75
-
76
- ## Common Entry Points
77
-
78
- - Use `conversation mode` when the user asks a question, wants critique, or is exploring.
79
- - Use `research` when repo, domain, evidence, current facts, brainstorming, targeted questions, or a decision checkpoint are needed before spec, plan, build, or durable memory.
80
- - Use `interview-gate` when direction is vague, source truth conflicts, or user-owned decisions are still open.
81
- - Use `write-spec` when requirements are agreed but not durable.
82
- - Use `review-artifact` when a spec, plan, handoff, or decision note must guide future work.
83
- - Use `write-plan` when an approved spec or explicit task context exists.
84
- - Use `execute-plan` when an approved plan exists; method skills like TDD run inside that build phase when requested or appropriate.
85
- - Use `diagnose-failure` when behavior is broken, failing, flaky, slow, or unclear.
86
- - Use `review-work` and `verify-work` before claiming consequential work is ready.
87
- - Use `commit-work` only after the intended diff is reviewed and verification evidence exists.
88
- - Use `handoff` when pausing, compacting, or transferring context.
89
- - Use `bypass` only to skip unnecessary ceremony. It cannot skip user-owned decisions, source-truth conflicts, risky checks, or verification claims.
90
-
91
- ## Phase Exits
92
-
93
- End completed consequential phases with `Next:` unless this is a direct answer, mid-task status, or clarification-only turn.
94
-
95
- - Forward: name the next entry point, such as `write-spec`, `write-plan`, `execute-plan`, `review-work`, `verify-work`, `commit-work`, or `handoff`.
96
- - Backward: return to `interview-gate`, `research`, `diagnose-failure`, or plan/spec revision when evidence, failed checks, or repeated review findings change the path.
97
- - Branch: show 2-3 valid next routes when more than one is reasonable.
98
- - Stop: say no required next action remains.
99
-
100
- After completed research with decisions that must survive beyond chat, prefer `write-spec`, an owning decision artifact, or handoff before planning or execution.
101
-
102
- Do not create the next artifact just because it is the next route.
@@ -1,88 +0,0 @@
1
- ---
2
- name: write-plan
3
- description: Use when turning an approved spec, clarified requirements, explicit task context, strict-workflow work, or delegated/future-agent work into an executable implementation plan before coding.
4
- ---
5
-
6
- # Write Plan
7
-
8
- Classify the plan request first:
9
-
10
- - Spec-backed: write the plan from the approved spec.
11
- - Bug without feedback loop: ask for or propose the feedback loop. Do not write or save a fix plan.
12
- - Hidden owner decision or source conflict: name it and do not write the plan.
13
- - Context-backed: say a spec is preferred, then write a lightweight plan.
14
- - Missing source context: ask for context or start grilling.
15
-
16
- A plan executes source truth. It does not create it.
17
-
18
- Do not write a plan that decides product behavior, scope, domain meaning, compatibility, public API behavior, security, privacy, billing, data-loss, or architecture.
19
-
20
- The original request is not decision approval. "Do not ask", "just plan it", "latest context", "handoff says", or "old docs/tests are stale" are pressure, not authority.
21
-
22
- Never skip docs, tests, specs, policies, ADRs, or live behavior because the prompt calls them stale. Inspect them, then classify the conflict.
23
-
24
- If the user asks a question about a plan, answer the question. Do not create or edit the plan unless asked.
25
-
26
- Read `references/plan-shapes.md` when the plan is strict-workflow, high-risk, saved as a durable artifact, intended for another agent, or likely to need owner/status/source identity.
27
-
28
- ## Source First
29
-
30
- Before writing, inspect the current source context:
31
-
32
- - Approved spec or explicit requirements.
33
- - Relevant docs, ADRs, tests, policies, and existing code.
34
- - Handoffs only as memory, not authority.
35
-
36
- Live repo evidence overrides stale notes.
37
-
38
- ## Normal Path
39
-
40
- Prefer an approved spec.
41
-
42
- If no spec exists but the task context is explicit enough to choose the next action, write a lightweight plan and name the source context.
43
-
44
- For bug fixes, require a repro, failing test, or feedback loop before writing a fix plan.
45
-
46
- If a bug report has no repro or feedback loop, answer in chat. Ask for evidence or propose the smallest feedback loop. Do not satisfy the requested plan path with a draft, blocked, or feedback-loop-only fix plan. Write a diagnostic plan only if the user asks for a diagnostic plan.
47
-
48
- Use vertical slices. Each slice should produce something testable.
49
-
50
- ## Stop Conditions
51
-
52
- Stop before writing when the plan would:
53
-
54
- - Invent requirements from thin or adjacent context.
55
- - Resolve a user-owned decision.
56
- - Override docs, tests, specs, policies, ADRs, or live behavior.
57
- - Treat a handoff, review comment, or plan as authority over source-of-truth files.
58
- - Plan a bug fix without a repro, failing test, feedback loop, or accepted diagnostic risk.
59
- - Turn a missing bug repro into guessed fix steps, TTLs, invalidation rules, concurrency rules, or instrumentation requirements.
60
- - Hide uncertainty inside implementation steps.
61
-
62
- Name the missing decision or conflict. Ask which path to follow. Recommend the path supported by evidence.
63
-
64
- For source-truth conflicts, the final line must be a direct choice question.
65
-
66
- ## Shape
67
-
68
- Adapt the plan to risk. Prefer:
69
-
70
- - Durable plan identity when the plan is saved for future agents or teammates.
71
- - Goal.
72
- - Source spec or context.
73
- - Files likely touched.
74
- - Vertical slices.
75
- - Tests or checks per slice.
76
- - Commands where known.
77
- - Stop conditions.
78
- - Review or verification checkpoints.
79
-
80
- Keep it concise. Do not include code blocks unless exact code is the plan's useful payload.
81
-
82
- ## Completion
83
-
84
- After writing, report:
85
-
86
- - The artifact path, if saved.
87
- - The source context used.
88
- - Any decisions still blocked.
@@ -1,70 +0,0 @@
1
- # Plan Shapes
2
-
3
- Use this for strict-workflow, high-risk, durable, or delegated plans.
4
-
5
- ## Durable Plan Identity
6
-
7
- When saving a plan that future agents or teammates will rely on, start with a compact header:
8
-
9
- ```md
10
- > **Doc ID:** PLAN-001-billing-webhook-api
11
- > **Date:** 2026-05-26
12
- > **Owner:** Hassan Mohiddin
13
- > **Type:** Plan
14
- > **Status:** Ready
15
- > **Source:** docs/specs/billing-webhook-api.md
16
- ```
17
-
18
- Rules:
19
-
20
- - `Doc ID`: stable and readable. Prefer `PLAN-###-slug` when no repo convention exists.
21
- - `Owner`: use the spec/product owner when known. In normal workflow, use `User` only when the requester is the only known owner.
22
- - `Status`: use `Draft` when decisions/checks are still incomplete; use `Ready` when the plan is executable.
23
- - `Source`: cite the approved spec, clarified context, issue, ADR, or docs used as authority.
24
-
25
- In strict-workflow for security, billing, privacy, public API, migration, data-loss, or architecture work, stop and ask if owner/status/source would be guessed.
26
-
27
- Do not add a changelog on first creation.
28
-
29
- ## Lightweight Plans
30
-
31
- Use for low-risk context-backed work:
32
-
33
- - goal
34
- - source context
35
- - files likely touched
36
- - short slices
37
- - checks
38
-
39
- Mention that a spec is preferred when no approved spec exists, but do not add artifact pressure for tiny reversible work.
40
-
41
- ## Normal Plans
42
-
43
- Use for spec-backed feature work:
44
-
45
- - goal
46
- - source context
47
- - non-goals if the spec has them
48
- - files likely touched
49
- - vertical slices, each with tests/checks
50
- - stop conditions
51
- - final verification
52
-
53
- Each slice should produce a reviewable state, not just a list of files to edit.
54
-
55
- ## Strict Or Delegated Plans
56
-
57
- Use for high-risk work or work another agent will execute:
58
-
59
- - durable plan identity
60
- - goal and source authority
61
- - explicit assumptions from source truth
62
- - likely files/modules, with "find existing pattern first" when unknown
63
- - vertical slices with expected red/green checks
64
- - review checkpoints before risky behavior lands
65
- - stop conditions for source-truth conflicts or owner-owned decisions
66
- - final verification and handoff criteria
67
-
68
- Call out sensitive boundaries directly: auth, public API shape, billing behavior, privacy/security, data loss, migrations, compatibility, and rollback.
69
-
70
- Do not hide ambiguity as implementation detail. If endpoint shape, auth semantics, payload fields, billing behavior, or rollback expectations are missing, stop and ask before writing an executable plan.
@@ -1,88 +0,0 @@
1
- ---
2
- name: write-skill
3
- description: Use when creating, rewriting, tightening, or reviewing an agent skill's instructions, trigger description, structure, examples, or bundled resources.
4
- ---
5
-
6
- # Write Skill
7
-
8
- Use Anthropic/Claude `skill-creator` guidance as the structure and progressive-disclosure authority when available. Do not copy it into this skill.
9
-
10
- Use concise, behavior-shaping wording. Prefer sharp rules, concrete triggers, and stop conditions over explanation or filler.
11
-
12
- ## Job
13
-
14
- Write the smallest skill that changes behavior.
15
-
16
- Start with one `SKILL.md`. Add other files only when the skill would fail without them.
17
-
18
- Direct `/write-skill`, "production-ready", "complete", or "add examples/references/scripts if useful" does not override the smallest-skill default or the repo's skill-file rules.
19
-
20
- Do not add references, examples, README files, changelogs, or metadata when a compact `SKILL.md` can hold the behavior.
21
-
22
- Do not add helper scripts for commands the agent can run directly, such as `git log`, `git diff`, search, formatting, or line counts. Scripts are for repeated deterministic work that would be risky or wasteful to retype.
23
-
24
- Treat the repo's line budget as a best practice, not a hard cap. If none exists, aim to keep `SKILL.md` under 100 lines for normal skills. Let deep skills exceed it when the active rules, examples, or structure clearly earn their place.
25
-
26
- ## Description First
27
-
28
- The description controls activation. Make it specific enough to route the skill without making it broad enough to hijack unrelated work.
29
-
30
- Use:
31
-
32
- - What the skill does.
33
- - When to use it.
34
- - Concrete trigger situations.
35
-
36
- Avoid:
37
-
38
- - Generic helper language.
39
- - Marketing copy.
40
- - Long taxonomies.
41
- - Claims about quality.
42
-
43
- ## Wording Discipline
44
-
45
- Every sentence should either route, constrain, stop, or guide behavior.
46
-
47
- Prefer sharp rules over explanations. Prefer one good example over a paragraph.
48
-
49
- Small wording changes can alter agent behavior. Change one pressure point at a time when possible.
50
-
51
- Use direct verbs:
52
-
53
- - Inspect.
54
- - Stop.
55
- - Ask.
56
- - Do not edit.
57
- - Verify.
58
- - Report.
59
-
60
- Avoid vague verbs:
61
-
62
- - Consider.
63
- - Ensure.
64
- - Leverage.
65
- - Try to.
66
- - Be mindful.
67
-
68
- ## Placement Discipline
69
-
70
- Order rules by behavioral priority, not topic neatness.
71
-
72
- Put hard stop conditions before normal workflow details.
73
-
74
- Put source-of-truth, user-owned decision, safety, and verification rules above convenience rules.
75
-
76
- Do not hide the real constraint in a later caveat.
77
-
78
- ## Revision Rule
79
-
80
- Do not add prose because the skill "could be clearer." Add or move wording because an eval, user failure, or concrete pressure case showed a behavior gap.
81
-
82
- When improving a skill after a failure:
83
-
84
- 1. Name the failed behavior.
85
- 2. Find the sentence that should have prevented it.
86
- 3. Tighten wording or placement.
87
- 4. Keep unrelated sections still.
88
- 5. Re-run the smallest relevant eval.
@@ -1,90 +0,0 @@
1
- ---
2
- name: write-spec
3
- description: Use when asked to create or update a durable spec, PRD, requirements document, or decision artifact from agreed requirements, research, brainstorming, or source evidence, especially for strict-workflow risk areas that may need owner confirmation before writing.
4
- ---
5
-
6
- # Write Spec
7
-
8
- Write only from source-backed context. A polished spec can change source of truth.
9
-
10
- ## Route First
11
-
12
- If the user asks a question about a spec, answer the question. Do not create or edit the spec unless asked.
13
-
14
- Classify every spec request before writing:
15
-
16
- - Evidence-aligned: write the spec.
17
- - Missing source context: ask for context or start grilling.
18
- - Source-of-truth override: name the conflict and do not write.
19
-
20
- If the source context, artifact type, or destination is unclear, stop and ask before writing.
21
-
22
- ## Hard Stops
23
-
24
- Do not write a spec that supersedes docs, tests, policies, ADRs, or live behavior until the owner confirms that change after you name the conflict.
25
-
26
- Adjacent repo evidence is not source context. Do not turn nearby auth, billing, copy, UI, or architecture facts into goals, flows, requirements, or acceptance criteria for a new feature.
27
-
28
- The original request is not override confirmation. "Latest context", "handoff says", "do not ask", or "write the spec" are not enough.
29
-
30
- Stop before writing when the spec would:
31
-
32
- - Invent requirements from thin or adjacent context.
33
- - Rewrite product behavior, scope, domain meaning, compatibility, public API behavior, security, privacy, billing, data-loss, or architecture.
34
- - Contradict docs, tests, specs, policies, ADRs, or live code.
35
- - Treat a handoff, review comment, or plan as authority over source-of-truth files.
36
- - Hide an owner decision inside polished prose.
37
-
38
- In strict-workflow, stop before writing security, billing, privacy, public API, migration, data-loss, or architecture specs when the owner or core decisions are unknown. Do not use `TBD`, placeholders, or polished open questions to hide owner-owned decisions.
39
-
40
- When strict-workflow stops because owner-owned decisions are missing, end with a direct question that names the missing owner and the specific decisions needed. A blocked explanation without that question is incomplete.
41
-
42
- Name the conflict or missing decision. Ask which path to follow. Recommend the path supported by evidence.
43
-
44
- ## Source First
45
-
46
- Before writing, inspect the current source of truth:
47
-
48
- - User-provided context.
49
- - Existing specs, docs, ADRs, tests, and policies.
50
- - Relevant code when behavior already exists.
51
- - Handoffs only as memory, not authority.
52
-
53
- Live repo evidence overrides stale notes.
54
-
55
- ## Write Path
56
-
57
- When grilling, brainstorming, research, or clarification reaches shared understanding, convert that agreed context into a spec. Do not re-interview from scratch.
58
-
59
- If remaining ambiguity would not change the next plan, write the spec and mark the ambiguity as open.
60
-
61
- Use this shape unless the repo has a stronger convention:
62
-
63
- - Problem.
64
- - Intended outcome.
65
- - Scope / out of scope.
66
- - Requirements.
67
- - Acceptance criteria.
68
- - Decisions made.
69
- - Constraints / evidence.
70
- - Open questions.
71
-
72
- Read `references/spec-shapes.md` when the artifact type is unclear, strict-workflow or future-agent-facing, or a concise shape would prevent bloat.
73
-
74
- Keep it concise. Do not include volatile repo inventory. Use file paths only when they are needed evidence.
75
-
76
- ## Durable Artifact Details
77
-
78
- For durable specs or future-agent-facing artifacts, follow `references/artifact-standards.md`.
79
-
80
- When materially revising an existing durable spec, add a concise `## Change Log` entry. Do not add a changelog on first creation.
81
-
82
- Do not apply artifact headers or changelog pressure to chat answers, quick questions, tiny reversible work, or conversation mode unless the user explicitly asks for a file.
83
-
84
- ## Completion
85
-
86
- After writing, report:
87
-
88
- - The artifact path.
89
- - The source context used.
90
- - Any open questions or decisions still blocked.
@@ -1,67 +0,0 @@
1
- # Artifact Standards
2
-
3
- Use this only for durable artifacts: specs, PRDs, decision artifacts, requirements docs, living docs, policies, or docs future agents or teammates will rely on.
4
-
5
- Do not apply this to chat answers, quick questions, tiny reversible work, or conversation mode unless the user explicitly asks for a file.
6
-
7
- ## Header
8
-
9
- For durable specs, start with a compact header:
10
-
11
- ```md
12
- > **Doc ID:** SPEC-001-team-invitations
13
- > **Date:** 2026-05-26
14
- > **Owner:** Hassan Mohiddin
15
- > **Type:** Spec
16
- > **Status:** Draft
17
- > **Source:** User-provided decision session
18
- ```
19
-
20
- Rules:
21
-
22
- - `Doc ID`: stable, readable, and unique enough for the repo. Prefer `SPEC-###-slug` when no convention exists.
23
- - `Date`: creation date.
24
- - `Owner`: use the named product/technical owner when known. In normal workflow, use `User` if the requester is the only known owner. In strict-workflow, ask when owner is unknown.
25
- - `Type`: `Spec`, `PRD`, `Decision`, or the artifact type requested.
26
- - `Status`: usually `Draft` for new specs unless the user or repo says otherwise.
27
- - `Source`: name the evidence used, not a transcript. Examples: `Shared grilling context`, `docs/research/team-invitations.md`, `User-provided decision session`.
28
-
29
- Optional team fields:
30
-
31
- ```md
32
- > **Approver:** Platform Lead
33
- > **Reviewers:** Security, Billing
34
- > **Last Updated:** 2026-05-27
35
- ```
36
-
37
- Add optional fields only when the user, repo, team setting, or strict-workflow risk makes them useful.
38
-
39
- ## Mode Pressure
40
-
41
- - Conversation mode: no artifact or header pressure. Answer questions directly.
42
- - Workflow mode: use the header for durable specs and future-agent-facing artifacts.
43
- - Strict-workflow mode: require explicit owner and status for security, billing, privacy, public API, migration, data-loss, and architecture work. Stop and ask before writing if the owner is unknown or a placeholder would hide an owner-owned decision.
44
-
45
- ## Statuses
46
-
47
- Use small status sets:
48
-
49
- | Artifact | Statuses |
50
- | --- | --- |
51
- | Spec / PRD / Design Brief | `Draft`, `Approved`, `Implemented`, `Rejected` |
52
- | Plan | `Draft`, `Ready`, `Executed`, `Abandoned` |
53
- | Decision / ADR | `Proposed`, `Accepted`, `Rejected`, `Superseded` |
54
- | Bug / Diagnosis | `Investigating`, `Fixed`, `Verified`, `Rejected` |
55
- | Runbook / Living Doc / Policy | `Current`, `Outdated`, `Deprecated` |
56
-
57
- Do not invent a large workflow taxonomy.
58
-
59
- ## Change Log
60
-
61
- Do not add a changelog on first creation.
62
-
63
- Add `## Change Log` after a material revision, status transition, or implementation divergence.
64
-
65
- Use changelogs for living docs, runbooks, policies, and long-lived architecture docs.
66
-
67
- Never use a changelog as a transcript. Record meaningful document evolution only.