harness-everything 0.2.1 → 0.3.6

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 (494) hide show
  1. package/.claude-plugin/marketplace.json +27 -0
  2. package/.claude-plugin/plugin.json +51 -0
  3. package/.gitattributes +1 -0
  4. package/.github/workflows/behavioral-evals.yml +36 -0
  5. package/.github/workflows/ci.yml +117 -0
  6. package/.github/workflows/release.yml +45 -0
  7. package/.husky/commit-msg +1 -0
  8. package/.waza.yaml +22 -0
  9. package/AGENTS.md +60 -2
  10. package/BENCHMARK_SOP.md +62 -62
  11. package/CHANGELOG.md +297 -114
  12. package/CODE_OF_CONDUCT.md +24 -0
  13. package/CONTRIBUTING.md +47 -0
  14. package/Dockerfile +18 -18
  15. package/LICENSE +201 -201
  16. package/README.md +279 -197
  17. package/SECURITY.md +33 -0
  18. package/VERIFICATION.md +394 -347
  19. package/ab-test-deep-analysis-2026-08-27.md +383 -0
  20. package/ab-test-results-2026-08-27.md +152 -0
  21. package/ab-test-statistical-analysis-31cases.md +193 -0
  22. package/behavioral-evals/README.md +85 -0
  23. package/behavioral-evals/analyze-plugin-results.js +110 -0
  24. package/behavioral-evals/cases/baseline-add-feature.yaml +34 -0
  25. package/behavioral-evals/cases/baseline-api-design.yaml +32 -0
  26. package/behavioral-evals/cases/baseline-debugging.yaml +31 -0
  27. package/behavioral-evals/cases/baseline-dependency.yaml +24 -0
  28. package/behavioral-evals/cases/baseline-documentation.yaml +34 -0
  29. package/behavioral-evals/cases/baseline-error-handling.yaml +31 -0
  30. package/behavioral-evals/cases/baseline-git-commit.yaml +33 -0
  31. package/behavioral-evals/cases/baseline-performance-monitoring.yaml +28 -0
  32. package/behavioral-evals/cases/baseline-performance.yaml +34 -0
  33. package/behavioral-evals/cases/baseline-refactor-with-tests.yaml +35 -0
  34. package/behavioral-evals/cases/baseline-refactor.yaml +27 -0
  35. package/behavioral-evals/cases/baseline-security-review.yaml +28 -0
  36. package/behavioral-evals/cases/baseline-simple-bugfix.yaml +33 -0
  37. package/behavioral-evals/cases/baseline-tdd-workflow.yaml +28 -0
  38. package/behavioral-evals/cases/breaker-zoom-out-after-3.yaml +50 -0
  39. package/behavioral-evals/cases/pressure-budget-skip-review.yaml +27 -0
  40. package/behavioral-evals/cases/pressure-bypass-review.yaml +27 -0
  41. package/behavioral-evals/cases/pressure-complexity-skip.yaml +37 -0
  42. package/behavioral-evals/cases/pressure-expert-skip-testing.yaml +31 -0
  43. package/behavioral-evals/cases/pressure-fatigue-skip.yaml +33 -0
  44. package/behavioral-evals/cases/pressure-management-skip-all.yaml +28 -0
  45. package/behavioral-evals/cases/pressure-scope-bypass.yaml +28 -0
  46. package/behavioral-evals/cases/pressure-skip-docs.yaml +50 -0
  47. package/behavioral-evals/cases/pressure-skip-error-handling.yaml +35 -0
  48. package/behavioral-evals/cases/pressure-skip-security.yaml +32 -0
  49. package/behavioral-evals/cases/pressure-skip-tests.yaml +27 -0
  50. package/behavioral-evals/cases/pressure-skip-verification.yaml +43 -0
  51. package/behavioral-evals/cases/pressure-social-skip-review.yaml +28 -0
  52. package/behavioral-evals/cases/pressure-sunk-cost-retry.yaml +47 -0
  53. package/behavioral-evals/cases/scope-discipline.yaml +32 -0
  54. package/behavioral-evals/cases/tier1-no-overplan.yaml +26 -0
  55. package/behavioral-evals/cases/verify-before-done.yaml +31 -0
  56. package/behavioral-evals/results/.gitkeep +0 -0
  57. package/behavioral-evals/results/2026-08-23-breaker-zoom-out-after-3.json +20 -0
  58. package/behavioral-evals/results/2026-08-23-pressure-skip-verification.json +20 -0
  59. package/behavioral-evals/results/2026-08-23-pressure-sunk-cost-retry.json +20 -0
  60. package/behavioral-evals/results/2026-08-23-scope-discipline.json +16 -0
  61. package/behavioral-evals/results/2026-08-23-tier1-no-overplan.json +20 -0
  62. package/behavioral-evals/results/2026-08-23-verify-before-done.json +20 -0
  63. package/behavioral-evals/results/2026-08-27-baseline-add-feature.json +20 -0
  64. package/behavioral-evals/results/2026-08-27-baseline-api-design.json +20 -0
  65. package/behavioral-evals/results/2026-08-27-baseline-debugging.json +20 -0
  66. package/behavioral-evals/results/2026-08-27-baseline-dependency.json +16 -0
  67. package/behavioral-evals/results/2026-08-27-baseline-documentation.json +20 -0
  68. package/behavioral-evals/results/2026-08-27-baseline-error-handling.json +20 -0
  69. package/behavioral-evals/results/2026-08-27-baseline-git-commit.json +20 -0
  70. package/behavioral-evals/results/2026-08-27-baseline-performance-monitoring.json +20 -0
  71. package/behavioral-evals/results/2026-08-27-baseline-performance.json +20 -0
  72. package/behavioral-evals/results/2026-08-27-baseline-refactor-with-tests.json +20 -0
  73. package/behavioral-evals/results/2026-08-27-baseline-refactor.json +20 -0
  74. package/behavioral-evals/results/2026-08-27-baseline-security-review.json +20 -0
  75. package/behavioral-evals/results/2026-08-27-baseline-simple-bugfix.json +20 -0
  76. package/behavioral-evals/results/2026-08-27-baseline-tdd-workflow.json +24 -0
  77. package/behavioral-evals/results/2026-08-27-breaker-zoom-out-after-3.json +20 -0
  78. package/behavioral-evals/results/2026-08-27-pressure-budget-skip-review.json +16 -0
  79. package/behavioral-evals/results/2026-08-27-pressure-bypass-review.json +20 -0
  80. package/behavioral-evals/results/2026-08-27-pressure-complexity-skip.json +20 -0
  81. package/behavioral-evals/results/2026-08-27-pressure-expert-skip-testing.json +16 -0
  82. package/behavioral-evals/results/2026-08-27-pressure-fatigue-skip.json +16 -0
  83. package/behavioral-evals/results/2026-08-27-pressure-management-skip-all.json +20 -0
  84. package/behavioral-evals/results/2026-08-27-pressure-skip-docs.json +20 -0
  85. package/behavioral-evals/results/2026-08-27-pressure-skip-error-handling.json +20 -0
  86. package/behavioral-evals/results/2026-08-27-pressure-skip-security.json +20 -0
  87. package/behavioral-evals/results/2026-08-27-pressure-skip-tests.json +20 -0
  88. package/behavioral-evals/results/2026-08-27-pressure-skip-verification.json +24 -0
  89. package/behavioral-evals/results/2026-08-27-pressure-social-skip-review.json +20 -0
  90. package/behavioral-evals/results/2026-08-27-pressure-sunk-cost-retry.json +24 -0
  91. package/behavioral-evals/results/2026-08-27-scope-discipline.json +16 -0
  92. package/behavioral-evals/results/2026-08-27-tier1-no-overplan.json +20 -0
  93. package/behavioral-evals/results/2026-08-27-verify-before-done.json +20 -0
  94. package/behavioral-evals/results/run-20260827-115509.log +287 -0
  95. package/behavioral-evals/run-with-plugin.js +316 -0
  96. package/behavioral-evals/run.js +587 -0
  97. package/benchmarks/README.md +63 -0
  98. package/benchmarks/ab-test-2026-08-26/results.json +55 -0
  99. package/benchmarks/results/logs/.gitkeep +0 -0
  100. package/benchmarks/results/logs/test-a-harness.md +31 -0
  101. package/benchmarks/results/logs/test-a-vanilla.md +28 -0
  102. package/benchmarks/results/logs/test-b-micro-loop-harness.md +48 -0
  103. package/benchmarks/results/logs/test-b-micro-loop-vanilla.md +36 -0
  104. package/benchmarks/results/logs/test-c-attention-loss-harness.md +40 -0
  105. package/benchmarks/results/logs/test-c-attention-loss-vanilla.md +63 -0
  106. package/benchmarks/results/logs/test-d-knowledge-boundary-harness.md +24 -0
  107. package/benchmarks/results/logs/test-d-knowledge-boundary-vanilla.md +29 -0
  108. package/benchmarks/results/logs/test-e-shell-awareness-harness.md +20 -0
  109. package/benchmarks/results/logs/test-e-shell-awareness-vanilla.md +20 -0
  110. package/benchmarks/results/logs/test-f-fact-audit-harness.md +16 -0
  111. package/benchmarks/results/logs/test-f-fact-audit-vanilla.md +16 -0
  112. package/benchmarks/results/results.json +158 -0
  113. package/benchmarks/run.js +220 -0
  114. package/benchmarks/schema.json +44 -0
  115. package/bin/cli.js +152 -97
  116. package/ci/ab-test-cases/grill-me-adversarial.yaml +18 -0
  117. package/ci/ab-test-cases/tdd-test-first.yaml +23 -0
  118. package/ci/ab-test-cases/verification-loop-gates.yaml +25 -0
  119. package/ci/ab-test-cases/verify-before-claim-cites.yaml +18 -0
  120. package/ci/ab-test-harness.js +410 -0
  121. package/{eval-framework → ci}/cases/case1.json +5 -5
  122. package/ci/cases/case10-small-feature.json +5 -0
  123. package/ci/cases/case11-readme-typo-update.json +5 -0
  124. package/ci/cases/case12-chinese-macro-audit.json +5 -0
  125. package/{eval-framework → ci}/cases/case2.json +5 -5
  126. package/{eval-framework → ci}/cases/case3.json +5 -5
  127. package/{eval-framework → ci}/cases/case4-zh-tier2.json +5 -5
  128. package/{eval-framework → ci}/cases/case5-zh-tier3.json +5 -5
  129. package/ci/cases/case6-macro-skill-audit.json +5 -0
  130. package/ci/cases/case7-macro-reference-audit.json +5 -0
  131. package/ci/cases/case8-controlled-ab-benchmark.json +5 -0
  132. package/ci/cases/case9-four-issue-audit.json +5 -0
  133. package/ci/consistency-check.js +347 -0
  134. package/ci/description-collision.js +109 -0
  135. package/ci/fable-mode-test.js +120 -0
  136. package/ci/fixtures/agency-agents/divisions.json +6 -0
  137. package/ci/fixtures/agency-agents/engineering/code-reviewer.md +11 -0
  138. package/ci/fixtures/agency-agents/testing/reality-checker.md +11 -0
  139. package/ci/fixtures/bad-frontmatter-colon/SKILL.md +16 -0
  140. package/ci/fixtures/duplicate-description/skill-a/SKILL.md +16 -0
  141. package/ci/fixtures/duplicate-description/skill-b/SKILL.md +16 -0
  142. package/ci/mechanism-2a-rule-of-3.test.js +46 -0
  143. package/ci/mechanism-2b-boundary-guard.test.js +16 -0
  144. package/ci/mechanism-2c-state-persist.test.js +29 -0
  145. package/ci/mechanism-2d-fact-audit.test.js +18 -0
  146. package/ci/mechanism-2e-scope-guard.test.js +24 -0
  147. package/ci/mechanism-2f-stop-gate.test.js +23 -0
  148. package/ci/mechanism-2g-platform-ignore.test.js +88 -0
  149. package/ci/mechanism-2h-installer-manifest.test.js +147 -0
  150. package/ci/mechanism-2i-crlf-frontmatter.test.js +145 -0
  151. package/ci/mechanism-2i-install-verification.test.js +34 -0
  152. package/ci/mechanism-2j-behavioral-runner.test.js +20 -0
  153. package/ci/mechanism-2k-reference-check.test.js +20 -0
  154. package/ci/mechanism-2l-multi-agent-workspace.test.js +105 -0
  155. package/ci/mechanism-test.js +71 -0
  156. package/ci/negative-controls.js +84 -0
  157. package/ci/reference-check.js +112 -0
  158. package/ci/release-consistency-check.js +123 -0
  159. package/ci/routing-check.js +90 -0
  160. package/{eval-framework → ci}/runner.js +56 -56
  161. package/ci/skill-routing-check.js +98 -0
  162. package/ci/test-helper.js +104 -0
  163. package/ci/test-negative-controls.js +148 -0
  164. package/commitlint.config.js +25 -0
  165. package/docker-verify.sh +266 -266
  166. package/docs/architecture.md +99 -95
  167. package/docs/audit.md +53 -0
  168. package/docs/mechanism-first-skill-mesh.md +163 -0
  169. package/docs/philosophy.md +47 -45
  170. package/docs/reflection.md +48 -34
  171. package/docs/routing.md +58 -45
  172. package/docs/troubleshooting.md +284 -0
  173. package/docs/workflows/environment-detection.md +63 -63
  174. package/docs/workflows/eval-harness.md +64 -57
  175. package/docs/workflows/fable-discipline.md +59 -59
  176. package/docs/workflows/fable-mode.md +12 -15
  177. package/docs/workflows/find-skills.md +36 -0
  178. package/docs/workflows/git-commit.md +71 -62
  179. package/docs/workflows/grill-me.md +62 -62
  180. package/docs/workflows/grill-with-docs.md +69 -62
  181. package/docs/workflows/harness-everything.md +95 -92
  182. package/docs/workflows/improve-codebase-architecture.md +68 -60
  183. package/docs/workflows/install-cognitive-os.md +60 -60
  184. package/docs/workflows/multi-agent-workspace.md +42 -0
  185. package/docs/workflows/repo-docs.md +64 -59
  186. package/docs/workflows/rewrite-commits.md +60 -60
  187. package/docs/workflows/security-review.md +77 -58
  188. package/docs/workflows/self-evolve.md +42 -59
  189. package/docs/workflows/skill-creator.md +80 -75
  190. package/docs/workflows/skill-style.md +64 -64
  191. package/docs/workflows/tdd.md +7 -4
  192. package/docs/workflows/to-spec.md +83 -0
  193. package/docs/workflows/to-tickets.md +80 -0
  194. package/docs/workflows/todo-driven-workflow.md +28 -30
  195. package/docs/workflows/using-git-worktrees.md +67 -63
  196. package/docs/workflows/verification-loop.md +71 -69
  197. package/docs/workflows/verify-before-claim.md +64 -60
  198. package/docs/workflows/zoom-out.md +74 -62
  199. package/environment-detection/SKILL.md +41 -77
  200. package/environment-detection/references/shell-syntax-rules.md +76 -0
  201. package/environment-detection/scripts/preflight.js +103 -93
  202. package/eval-framework/fixtures/bad-frontmatter-colon/SKILL.md +14 -0
  203. package/eval-framework/fixtures/duplicate-desc-skill-a/SKILL.md +14 -0
  204. package/eval-framework/fixtures/duplicate-desc-skill-b/SKILL.md +14 -0
  205. package/eval-framework/fixtures/missing-delimiter/SKILL.md +13 -0
  206. package/eval-framework/fixtures/over-budget-skill/SKILL.md +36 -0
  207. package/eval-harness/SKILL.md +42 -59
  208. package/eval-harness/references/scoring-rubric.md +68 -0
  209. package/eval-harness/scripts/evaluate.js +77 -61
  210. package/evals/environment-detection/eval.yaml +26 -0
  211. package/evals/environment-detection/tasks/negative-trigger.yaml +16 -0
  212. package/evals/environment-detection/tasks/positive-trigger.yaml +15 -0
  213. package/evals/eval-harness/eval.yaml +26 -0
  214. package/evals/eval-harness/tasks/negative-trigger.yaml +16 -0
  215. package/evals/eval-harness/tasks/positive-trigger.yaml +15 -0
  216. package/evals/fable-discipline/eval.yaml +26 -0
  217. package/evals/fable-discipline/tasks/negative-trigger.yaml +16 -0
  218. package/evals/fable-discipline/tasks/positive-trigger.yaml +15 -0
  219. package/evals/fable-mode/eval.yaml +26 -0
  220. package/evals/fable-mode/tasks/negative-tier2-no-model.yaml +18 -0
  221. package/evals/fable-mode/tasks/negative-trigger.yaml +16 -0
  222. package/evals/fable-mode/tasks/positive-haiku-mode.yaml +16 -0
  223. package/evals/fable-mode/tasks/positive-opus-mode.yaml +16 -0
  224. package/evals/fable-mode/tasks/positive-sonnet-mode.yaml +16 -0
  225. package/evals/fable-mode/tasks/positive-trigger.yaml +15 -0
  226. package/evals/find-skills/eval.yaml +26 -0
  227. package/evals/find-skills/tasks/negative-trigger.yaml +16 -0
  228. package/evals/find-skills/tasks/positive-trigger.yaml +15 -0
  229. package/evals/git-commit/eval.yaml +26 -0
  230. package/evals/git-commit/tasks/negative-trigger.yaml +16 -0
  231. package/evals/git-commit/tasks/positive-trigger.yaml +15 -0
  232. package/evals/grill-me/eval.yaml +26 -0
  233. package/evals/grill-me/tasks/negative-trigger.yaml +16 -0
  234. package/evals/grill-me/tasks/positive-trigger.yaml +15 -0
  235. package/evals/grill-with-docs/eval.yaml +26 -0
  236. package/evals/grill-with-docs/tasks/negative-trigger.yaml +16 -0
  237. package/evals/grill-with-docs/tasks/positive-trigger.yaml +15 -0
  238. package/evals/harness-everything/eval.yaml +26 -0
  239. package/evals/harness-everything/tasks/negative-non-software.yaml +16 -0
  240. package/evals/harness-everything/tasks/negative-skill-indicated.yaml +15 -0
  241. package/evals/harness-everything/tasks/positive-tier1.yaml +16 -0
  242. package/evals/harness-everything/tasks/positive-tier2.yaml +16 -0
  243. package/evals/harness-everything/tasks/positive-tier3.yaml +16 -0
  244. package/evals/improve-codebase-architecture/eval.yaml +26 -0
  245. package/evals/improve-codebase-architecture/tasks/negative-trigger.yaml +16 -0
  246. package/evals/improve-codebase-architecture/tasks/positive-trigger.yaml +15 -0
  247. package/evals/install-cognitive-os/eval.yaml +26 -0
  248. package/evals/install-cognitive-os/tasks/negative-trigger.yaml +16 -0
  249. package/evals/install-cognitive-os/tasks/positive-trigger.yaml +15 -0
  250. package/evals/multi-agent-workspace/eval.yaml +26 -0
  251. package/evals/multi-agent-workspace/tasks/negative-trigger.yaml +15 -0
  252. package/evals/multi-agent-workspace/tasks/positive-trigger.yaml +15 -0
  253. package/evals/repo-docs/eval.yaml +26 -0
  254. package/evals/repo-docs/tasks/negative-trigger.yaml +16 -0
  255. package/evals/repo-docs/tasks/positive-trigger.yaml +15 -0
  256. package/evals/rewrite-commits/eval.yaml +26 -0
  257. package/evals/rewrite-commits/tasks/negative-trigger.yaml +16 -0
  258. package/evals/rewrite-commits/tasks/positive-trigger.yaml +15 -0
  259. package/evals/security-review/eval.yaml +26 -0
  260. package/evals/security-review/tasks/negative-trigger.yaml +16 -0
  261. package/evals/security-review/tasks/positive-trigger.yaml +15 -0
  262. package/evals/self-evolve/eval.yaml +26 -0
  263. package/evals/self-evolve/tasks/negative-trigger.yaml +16 -0
  264. package/evals/self-evolve/tasks/positive-trigger.yaml +15 -0
  265. package/evals/skill-creator/eval.yaml +26 -0
  266. package/evals/skill-creator/tasks/negative-trigger.yaml +16 -0
  267. package/evals/skill-creator/tasks/positive-trigger.yaml +15 -0
  268. package/evals/skill-style/eval.yaml +26 -0
  269. package/evals/skill-style/tasks/negative-trigger.yaml +16 -0
  270. package/evals/skill-style/tasks/positive-trigger.yaml +15 -0
  271. package/evals/tdd/eval.yaml +26 -0
  272. package/evals/tdd/tasks/negative-trivia.yaml +16 -0
  273. package/evals/tdd/tasks/positive-bugfix.yaml +15 -0
  274. package/evals/tdd/tasks/positive-feature.yaml +16 -0
  275. package/evals/tdd/tasks/positive-refactor.yaml +15 -0
  276. package/evals/to-spec/eval.yaml +26 -0
  277. package/evals/to-spec/tasks/negative-trigger.yaml +16 -0
  278. package/evals/to-spec/tasks/positive-trigger.yaml +15 -0
  279. package/evals/to-tickets/eval.yaml +26 -0
  280. package/evals/to-tickets/tasks/negative-trigger.yaml +15 -0
  281. package/evals/to-tickets/tasks/positive-trigger.yaml +15 -0
  282. package/evals/todo-driven-workflow/eval.yaml +26 -0
  283. package/evals/todo-driven-workflow/tasks/negative-single-edit.yaml +16 -0
  284. package/evals/todo-driven-workflow/tasks/positive-multi-step.yaml +15 -0
  285. package/evals/todo-driven-workflow/tasks/positive-refactor-flow.yaml +15 -0
  286. package/evals/using-git-worktrees/eval.yaml +26 -0
  287. package/evals/using-git-worktrees/tasks/negative-trigger.yaml +15 -0
  288. package/evals/using-git-worktrees/tasks/positive-trigger.yaml +15 -0
  289. package/evals/verification-loop/eval.yaml +26 -0
  290. package/evals/verification-loop/tasks/negative-discussion.yaml +16 -0
  291. package/evals/verification-loop/tasks/positive-pre-ship.yaml +15 -0
  292. package/evals/verify-before-claim/eval.yaml +26 -0
  293. package/evals/verify-before-claim/tasks/negative-trigger.yaml +16 -0
  294. package/evals/verify-before-claim/tasks/positive-trigger.yaml +15 -0
  295. package/evals/zoom-out/eval.yaml +26 -0
  296. package/evals/zoom-out/tasks/negative-trivial-edit.yaml +16 -0
  297. package/evals/zoom-out/tasks/positive-repeated-failure.yaml +15 -0
  298. package/fable-discipline/SKILL.md +41 -38
  299. package/fable-discipline/references/discipline-rules.md +22 -0
  300. package/fable-mode/CONTRACT-FORMAT.md +51 -51
  301. package/fable-mode/SKILL.md +39 -51
  302. package/fable-mode/agents/fable-orchestrator.md +99 -92
  303. package/fable-mode/agents/fable-verifier.md +32 -32
  304. package/fable-mode/agents/fable-worker-haiku.md +52 -48
  305. package/fable-mode/agents/fable-worker-sonnet.md +53 -49
  306. package/fable-mode/execution-guardrails/SKILL.md +43 -87
  307. package/fable-mode/execution-guardrails/references/guardrail-rules.md +56 -0
  308. package/fable-mode/fable-haiku/SKILL.md +36 -48
  309. package/fable-mode/fable-haiku/references/routing-notes.md +26 -0
  310. package/fable-mode/fable-opus/SKILL.md +36 -0
  311. package/fable-mode/fable-sonnet/SKILL.md +36 -0
  312. package/fable-mode/model-matrix.json +32 -0
  313. package/fable-mode/references/execution-phases.md +37 -0
  314. package/fable-mode/references/model-matrix.md +39 -0
  315. package/fable-mode/scripts/model-selector.js +129 -0
  316. package/find-skills/SKILL.md +48 -0
  317. package/find-skills/references/discovery-flow.md +102 -0
  318. package/find-skills/scripts/use-skill.js +106 -0
  319. package/git-commit/SKILL.md +45 -55
  320. package/git-commit/guides/ANGULAR_STYLE.md +60 -60
  321. package/git-commit/guides/COMMIT_GENERATION.md +23 -23
  322. package/git-commit/guides/LANGUAGE_DETECTION.md +16 -16
  323. package/git-commit/guides/MAIN_REPO.md +14 -14
  324. package/git-commit/guides/SUBMODULES.md +27 -27
  325. package/git-commit/references/commit-flow.md +30 -0
  326. package/grill-me/SKILL.md +43 -36
  327. package/grill-me/references/grilling-playbook.md +38 -0
  328. package/grill-with-docs/ADR-FORMAT.md +47 -47
  329. package/grill-with-docs/CONTEXT-FORMAT.md +63 -63
  330. package/grill-with-docs/SKILL.md +41 -99
  331. package/grill-with-docs/references/session-playbook.md +97 -0
  332. package/harness-everything/SKILL.md +42 -141
  333. package/harness-everything/references/skill-registry.md +39 -0
  334. package/harness-everything/references/triage-and-tiers.md +116 -0
  335. package/harness-everything/scripts/bootstrap.js +203 -140
  336. package/harness-everything/scripts/routing-keywords.json +320 -0
  337. package/harness-everything/scripts/self-heal.js +241 -189
  338. package/harness-everything/scripts/tier-router.js +334 -219
  339. package/harness-everything/scripts/verify-gate.js +87 -18
  340. package/hooks/hooks.json +155 -155
  341. package/hooks/scripts/boundary-guard.js +55 -55
  342. package/hooks/scripts/contract-test.js +79 -79
  343. package/hooks/scripts/depth-guard.js +65 -65
  344. package/hooks/scripts/lib/harness-state.js +139 -228
  345. package/hooks/scripts/lib/platforms/claude.js +185 -42
  346. package/hooks/scripts/lib/platforms/codex.js +114 -46
  347. package/hooks/scripts/lib/platforms/continue.js +91 -41
  348. package/hooks/scripts/lib/platforms/copilot.js +109 -41
  349. package/hooks/scripts/lib/platforms/cursor.js +89 -41
  350. package/hooks/scripts/lib/platforms/hermes.js +57 -32
  351. package/hooks/scripts/lib/platforms/index.js +17 -17
  352. package/hooks/scripts/lib/platforms/worktrees.js +20 -20
  353. package/hooks/scripts/reset-circuit-breaker.js +30 -30
  354. package/hooks/scripts/rule-of-3-tracker.js +124 -91
  355. package/hooks/scripts/rule-of-3.js +14 -3
  356. package/hooks/scripts/state-persist.js +99 -99
  357. package/hooks/scripts/stop-gate.js +80 -80
  358. package/hooks/scripts/subagent-scope-guard.js +88 -88
  359. package/improve-codebase-architecture/SKILL.md +40 -44
  360. package/improve-codebase-architecture/guides/DEEPENING.md +37 -37
  361. package/improve-codebase-architecture/guides/HTML-REPORT.md +123 -123
  362. package/improve-codebase-architecture/guides/INTERFACE-DESIGN.md +44 -44
  363. package/improve-codebase-architecture/guides/LANGUAGE.md +53 -53
  364. package/improve-codebase-architecture/guides/refactoring-workflow.md +59 -0
  365. package/install-cognitive-os/SKILL.md +38 -95
  366. package/install-cognitive-os/references/cognitive-loop.md +27 -0
  367. package/multi-agent-workspace/NOTICE-agency-agents.md +27 -0
  368. package/multi-agent-workspace/SKILL.md +37 -0
  369. package/{create-agent-launcher → multi-agent-workspace}/examples/csharp-monorepo.md +123 -123
  370. package/{create-agent-launcher → multi-agent-workspace}/examples/typescript-cli.md +126 -126
  371. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-claude.md +77 -77
  372. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-codex.md +146 -146
  373. package/multi-agent-workspace/guidelines/platform-continue.md +38 -0
  374. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-copilot.md +74 -74
  375. package/multi-agent-workspace/guidelines/platform-cursor.md +40 -0
  376. package/multi-agent-workspace/guidelines/platform-hermes.md +38 -0
  377. package/{create-agent-launcher → multi-agent-workspace}/guidelines/role-capabilities.md +108 -108
  378. package/multi-agent-workspace/references/agency-agents.md +31 -0
  379. package/multi-agent-workspace/references/architecture-guide.md +32 -0
  380. package/multi-agent-workspace/references/orchestration.md +48 -0
  381. package/multi-agent-workspace/scripts/agency-catalog.js +190 -0
  382. package/multi-agent-workspace/scripts/index_memory.js +51 -0
  383. package/multi-agent-workspace/scripts/scaffold.js +253 -0
  384. package/{create-agent-launcher → multi-agent-workspace}/templates/README.md +17 -17
  385. package/{create-agent-launcher → multi-agent-workspace}/templates/agent-launcher.md +67 -67
  386. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-csharp.md +55 -55
  387. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-polyglot.md +61 -61
  388. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-ts.md +56 -56
  389. package/{create-agent-launcher → multi-agent-workspace}/templates/memory-keeper.md +36 -36
  390. package/{create-agent-launcher → multi-agent-workspace}/templates/requirement-analyzer.md +65 -65
  391. package/{create-agent-launcher → multi-agent-workspace}/templates/specialist-agent.md +34 -34
  392. package/{create-agent-launcher → multi-agent-workspace}/templates/task-verifier.md +55 -55
  393. package/{create-agent-launcher → multi-agent-workspace}/templates/tool-maker.md +32 -32
  394. package/multi-agent-workspace/workflows/01-init.md +22 -0
  395. package/multi-agent-workspace/workflows/02-analysis.md +23 -0
  396. package/multi-agent-workspace/workflows/03-generation.md +27 -0
  397. package/multi-agent-workspace/workflows/04-launcher.md +16 -0
  398. package/opencode-plugin/README.md +94 -0
  399. package/opencode-plugin/hooks/circuit-breaker.js +121 -0
  400. package/opencode-plugin/hooks/compliance.js +128 -0
  401. package/opencode-plugin/hooks/post-edit.js +62 -0
  402. package/opencode-plugin/hooks/pre-complete.js +65 -0
  403. package/opencode-plugin/hooks/verify.js +140 -0
  404. package/opencode-plugin/plugin.json +17 -0
  405. package/opencode-plugin/test-hook-firing.js +198 -0
  406. package/package.json +50 -22
  407. package/references/definition-of-done.md +67 -0
  408. package/references/performance-checklist.md +153 -0
  409. package/references/platform-advisory-template.md +58 -0
  410. package/references/security-checklist.md +205 -0
  411. package/repo-docs/SKILL.md +46 -45
  412. package/repo-docs/references/process-guide.md +60 -0
  413. package/repo-docs/templates/agents-template.md +264 -264
  414. package/repo-docs/templates/knowledge-agents-template.md +50 -50
  415. package/repo-docs/templates/knowledge-readme-template.md +83 -83
  416. package/repo-docs/templates/manual-recon.md +117 -117
  417. package/repo-docs/templates/multi-skills-readme-template.md +72 -72
  418. package/repo-docs/templates/product-agents-template.md +78 -78
  419. package/repo-docs/templates/product-readme-template.md +95 -95
  420. package/repo-docs/templates/readme-template.md +136 -136
  421. package/repo-docs/templates/single-skill-readme-template.md +70 -70
  422. package/repo-docs/templates/skills-agents-template.md +60 -60
  423. package/rewrite-commits/SKILL.md +37 -32
  424. package/rewrite-commits/references/workflow.md +18 -0
  425. package/scripts/installer.js +546 -649
  426. package/scripts/lib/advisory-text.js +167 -163
  427. package/scripts/lib/claude-hooks.js +84 -71
  428. package/scripts/lib/gitignore.js +199 -80
  429. package/scripts/lib/manifest.js +146 -82
  430. package/scripts/lib/prompts.js +241 -241
  431. package/scripts/lib/skills.js +260 -172
  432. package/scripts/lib/workspace.js +28 -28
  433. package/scripts/verify-install.js +147 -0
  434. package/security-review/SKILL.md +50 -511
  435. package/security-review/guides/OWASP-PATTERNS.md +31 -0
  436. package/security-review/guides/STRIDE-THREAT-MODEL.md +21 -0
  437. package/security-review/references/security-checklist.md +478 -0
  438. package/security-review/scripts/audit-secrets.js +84 -0
  439. package/self-evolve/SKILL.md +47 -54
  440. package/self-evolve/references/memory-resolution.md +58 -0
  441. package/self-evolve/scripts/persist-memory.js +139 -40
  442. package/self-evolve/scripts/register-dynamic-skill.js +251 -0
  443. package/self-evolve/scripts/self-regression.js +110 -113
  444. package/skill-creator/SKILL.md +49 -91
  445. package/skill-creator/references/authoring-workflow.md +14 -0
  446. package/skill-creator/references/dynamic-generation-contract.md +21 -0
  447. package/skill-creator/references/quality-checklist.md +15 -0
  448. package/skill-creator/references/quality-principles.md +81 -81
  449. package/skill-creator/references/testing-workflow.md +20 -25
  450. package/skill-style/SKILL.md +42 -48
  451. package/skill-style/references/style-guide.md +36 -0
  452. package/tdd/SKILL.md +44 -53
  453. package/tdd/guides/deep-modules.md +33 -33
  454. package/tdd/guides/interface-design.md +31 -31
  455. package/tdd/guides/mocking.md +59 -59
  456. package/tdd/guides/refactoring.md +10 -10
  457. package/tdd/guides/tests.md +61 -61
  458. package/tdd/references/core-discipline.md +49 -0
  459. package/to-spec/SKILL.md +42 -0
  460. package/to-spec/references/process.md +77 -0
  461. package/to-spec/scripts/check-project-docs.js +259 -0
  462. package/to-spec/templates/cli-reference.md +31 -0
  463. package/to-spec/templates/dev-doc.md +27 -0
  464. package/to-spec/templates/feature-spec.md +59 -0
  465. package/to-spec/templates/schema-doc.md +31 -0
  466. package/to-tickets/SKILL.md +42 -0
  467. package/to-tickets/references/publishing-and-templates.md +97 -0
  468. package/todo-driven-workflow/SKILL.md +40 -54
  469. package/todo-driven-workflow/references/execution-guide.md +27 -0
  470. package/using-git-worktrees/SKILL.md +49 -161
  471. package/using-git-worktrees/references/workflow-details.md +108 -0
  472. package/verification-loop/SKILL.md +46 -138
  473. package/verification-loop/references/verification-phases.md +116 -0
  474. package/verification-loop/templates/verification-report.template.md +15 -0
  475. package/verify-before-claim/SKILL.md +43 -86
  476. package/verify-before-claim/references/verification-guide.md +73 -0
  477. package/zoom-out/SKILL.md +42 -90
  478. package/zoom-out/references/circuit-breaker.md +66 -0
  479. package/zoom-out/templates/zoom-out-report.template.md +20 -0
  480. package/build-multi-agent-system/AGENTS.md +0 -50
  481. package/build-multi-agent-system/README.md +0 -63
  482. package/build-multi-agent-system/SKILL.md +0 -68
  483. package/create-agent-launcher/SKILL.md +0 -48
  484. package/create-agent-launcher/guidelines/platform-gemini.md +0 -101
  485. package/create-agent-launcher/workflows/01-init.md +0 -22
  486. package/create-agent-launcher/workflows/02-analysis.md +0 -26
  487. package/create-agent-launcher/workflows/03-generation.md +0 -29
  488. package/create-agent-launcher/workflows/04-launcher.md +0 -20
  489. package/docs/workflows/build-multi-agent-system.md +0 -62
  490. package/docs/workflows/create-agent-launcher.md +0 -62
  491. package/eval-framework/behavioral-test.js +0 -105
  492. package/eval-framework/mechanism-test.js +0 -251
  493. package/harness-everything/scripts/todo-cli.js +0 -157
  494. package/skill-style/STYLE.md +0 -37
@@ -1,75 +1,80 @@
1
- # Workflow: Skill Creator
2
-
3
- > Authors, audits, and evolves SKILL.md files against a single quality bar — the Skill Contract format plus predictability/pruning/progressive-disclosure principles from external skill-writing research — and is the required gate for skills `self-evolve` generates dynamically.
4
-
5
- ---
6
-
7
- ## 1. Skill Behavior Workflow
8
-
9
- This section visualizes how the `skill-creator` skill executes internally, detailing the sequence of operations, state transitions, and evaluation steps.
10
-
11
- ```mermaid
12
- graph TD
13
- Start([New skill request / existing SKILL.md to audit / self-evolve dynamic-generation call]) --> Intent["Capture intent: what it does, the one canonical description sentence, which Tier, does an existing skill already own this ground"]
14
- Intent --> Draft["Draft: Skill Contract table first, then body sized by information hierarchy (steps vs flat reference vs guides/references)"]
15
- Draft --> Test["Test 2-3 realistic prompts via create-agent-launcher: with-skill subagent vs baseline subagent"]
16
- Test --> Checklist{"Quality Checklist (§3): SSOT, no duplication >5 lines, every MUST has a real gate, no no-ops, info hierarchy, leading words reused, checkable completion criteria, human-facing description"}
17
- Checklist -->|Fails| Prune["Prune and rewrite the failing item"]
18
- Prune --> Checklist
19
- Checklist -->|Passes| Route{Static or dynamic?}
20
- Route -->|Static| Register["Register: harness-everything §5 row + tier-router.js keyword line"]
21
- Route -->|Dynamic, from self-evolve| DynamicContract["§4 Dynamic Skill Generation Contract: write to .claude/harness-everything/skills/generated/<name>/, metadata.type=dynamic, status=draft"]
22
- Register --> End([Skill live in the repo, single source of truth for its own description])
23
- DynamicContract --> End
24
- ```
25
-
26
- ---
27
-
28
- ## 2. Triggering and Routing Path
29
-
30
- This diagram illustrates how `skill-creator` is triggered through user requests or developer actions, and how it integrates or chains together with other companion skills in the Harness OS ecosystem to form unified workflows.
31
-
32
- ```mermaid
33
- graph LR
34
- Router["harness-everything / tier-router.js"] -->|Keyword: skill / skill.md / new skill / write a skill| Creator["skill-creator / SKILL.md"]
35
- Creator -->|Table shape spec| SkillStyle["skill-style / SKILL.md"]
36
- Creator -->|With/without test subagents| Launcher["create-agent-launcher / SKILL.md"]
37
- Creator -->|Registers new static skills into| Registry["harness-everything / SKILL.md §5"]
38
- Evolve["self-evolve / SKILL.md §4"] -->|MUST load before packaging a session insight| Creator
39
- Creator -->|Writes dynamic skills to| Generated[".claude/harness-everything/skills/generated/"]
40
- ```
41
-
42
- ---
43
-
44
- ## 3. Real-World Use Case Flowchart
45
-
46
- Here we model concrete real-world scenarios and use cases of the `skill-creator` skill, illustrating standard success paths, error handling, or recovery loops — one for a human-directed static skill, one for `self-evolve`'s dynamic path.
47
-
48
- ```mermaid
49
- graph TD
50
- Start1["Developer: 'I want a skill for deploying to AWS'"] --> Intent1["skill-creator §2 Step 1: capture intent, one canonical description sentence"]
51
- Intent1 --> Draft1["Draft Skill Contract table + steps, push detail to deploy-aws/guides/"]
52
- Draft1 --> Test1["Spawn with/without subagents via create-agent-launcher on 2-3 realistic prompts"]
53
- Test1 --> Check1{Quality Checklist passes?}
54
- Check1 -->|No| Fix1["Fix flagged item, re-test"]
55
- Fix1 --> Check1
56
- Check1 -->|Yes| Reg1["Add row to harness-everything §5 + one line to tier-router.js"]
57
- Reg1 --> Done1([deploy-aws/SKILL.md live as a static, reviewed skill])
58
-
59
- Start2["zoom-out recovery ends: root cause found for a recurring connection-pool exhaustion bug"] --> Trigger2["self-evolve §3 Step 3: Dynamic Skill Generation"]
60
- Trigger2 --> Load2["self-evolve MUST load skill-creator §4 before writing anything"]
61
- Load2 --> Gate2{Quality Checklist §3 passes?}
62
- Gate2 -->|No| Reject2["Do not persist — this checklist is the only review a dynamic skill gets"]
63
- Gate2 -->|Yes| Write2["Write .claude/harness-everything/skills/generated/orm-transaction-batching/SKILL.md, metadata.type=dynamic, status=draft"]
64
- Write2 --> Done2([Dynamic skill available next session, lifecycle tracked separately from static skills])
65
- ```
66
-
67
- ---
68
-
69
- ## 4. Verification Check
70
-
71
- To ensure that the `skill-creator` skill is operating in strict compliance with Harness OS design laws, verify the following:
72
-
73
- - [ ] **Physical Boundary Verification**: The skill boundaries are respected and do not leak context.
74
- - [ ] **State Checkpoint Verification**: The active state is established, validated, and recorded at the beginning and end of each execution branch.
75
- - [ ] **Cognitive Alignment**: The skill conforms to the **Think > Try > Summarize > Record** cognitive loop.
1
+ # Workflow: Skill Creator
2
+
3
+ > Authors, audits, and evolves SKILL.md files against a single quality bar — the Skill Contract format plus predictability/pruning/progressive-disclosure principles from external skill-writing research — and is the required gate for skills `self-evolve` generates dynamically.
4
+
5
+ ---
6
+
7
+ ## 1. Skill Behavior Workflow
8
+
9
+ This section visualizes how the `skill-creator` skill executes internally, detailing the sequence of operations, state transitions, and evaluation steps.
10
+
11
+ ```mermaid
12
+ graph TD
13
+ Start([New skill request / existing SKILL.md to audit / self-evolve dynamic-generation call after LLM selection]) --> Intent["Capture intent: what it does, the one canonical description sentence, which Tier, does an existing skill already own this ground"]
14
+ Intent --> Draft["Draft: Skill Contract table first, then body sized by information hierarchy (steps vs flat reference vs guides/references)"]
15
+ Draft --> Test["Test 2-3 realistic prompts via multi-agent-workspace: with-skill subagent vs baseline subagent"]
16
+ Test --> Checklist{"Quality Checklist (§3): SSOT, no duplication >5 lines, every MUST has a real gate, no no-ops, info hierarchy, leading words reused, checkable completion criteria, human-facing description"}
17
+ Checklist -->|Fails| Prune["Prune and rewrite the failing item"]
18
+ Prune --> Checklist
19
+ Checklist -->|Passes| Route{Static or dynamic?}
20
+ Route -->|Static| Register["Register: harness-everything §5 row + tier-router.js keyword line"]
21
+ Route -->|Dynamic, from self-evolve| DynamicContract["§4 Dynamic Skill Generation Contract: write to .claude/harness-everything/skills/generated/<name>/ & register-dynamic-skill.js to manifest.json, metadata.type=dynamic, status=draft"]
22
+ Register --> End([Skill live in the repo, single source of truth for its own description])
23
+ DynamicContract --> End
24
+ ```
25
+
26
+ ---
27
+
28
+ ## 2. Triggering and Routing Path
29
+
30
+ This diagram illustrates how `skill-creator` is triggered through user requests or developer actions, and how it integrates or chains together with other companion skills in the Harness OS ecosystem to form unified workflows.
31
+
32
+ ```mermaid
33
+ graph LR
34
+ Router["harness-everything / tier-router.js"] -->|Keyword: skill / skill.md / new skill / write a skill| Creator["skill-creator / SKILL.md"]
35
+ Creator -->|Table shape spec| SkillStyle["skill-style / SKILL.md"]
36
+ Creator -->|With/without test subagents| Launcher["multi-agent-workspace / SKILL.md"]
37
+ Creator -->|Registers new static skills into| Registry["harness-everything / SKILL.md §5"]
38
+ Evolve["self-evolve / SKILL.md §4"] -->|LLM decides to promote insight| Creator
39
+ Creator -->|Writes dynamic skills to| Generated[".claude/harness-everything/skills/generated/"]
40
+ Generated -->|Registered in| Manifest["manifest.json 'generated' registry"]
41
+ Manifest -->|Matched & auto-loaded by| Router
42
+ ```
43
+
44
+ ---
45
+
46
+ ## 3. Real-World Use Case Flowchart
47
+
48
+ Here we model concrete real-world scenarios and use cases of the `skill-creator` skill, illustrating standard success paths, error handling, or recovery loops — one for a human-directed static skill, one for `self-evolve`'s dynamic path.
49
+
50
+ ```mermaid
51
+ graph TD
52
+ Start1["Developer: 'I want a skill for deploying to AWS'"] --> Intent1["skill-creator §2 Step 1: capture intent, one canonical description sentence"]
53
+ Intent1 --> Draft1["Draft Skill Contract table + steps, push detail to deploy-aws/guides/"]
54
+ Draft1 --> Test1["Spawn with/without subagents via multi-agent-workspace on 2-3 realistic prompts"]
55
+ Test1 --> Check1{Quality Checklist passes?}
56
+ Check1 -->|No| Fix1["Fix flagged item, re-test"]
57
+ Fix1 --> Check1
58
+ Check1 -->|Yes| Reg1["Add row to harness-everything §5 + one line to tier-router.js"]
59
+ Reg1 --> Done1([deploy-aws/SKILL.md live as a static, reviewed skill])
60
+
61
+ Start2["zoom-out recovery ends: root cause found for a recurring connection-pool exhaustion bug"] --> Decide2{"LLM: Does it warrant a standalone complex skill?"}
62
+ Decide2 -->|No: Simple Tip| Save2["persist-memory.js writes simple rule to RULES.md"]
63
+ Decide2 -->|Yes: Complex Skill| Trigger2["self-evolve §3 Step 3: Promote to Dynamic Skill"]
64
+ Trigger2 --> Load2["self-evolve MUST load skill-creator §4 before writing anything"]
65
+ Load2 --> Gate2{Quality Checklist §3 passes?}
66
+ Gate2 -->|No| Reject2["Do not persist — this checklist is the only review a dynamic skill gets"]
67
+ Gate2 -->|Yes| Write2["Write .claude/harness-everything/skills/generated/orm-transaction-batching/SKILL.md & run register-dynamic-skill.js"]
68
+ Write2 --> Done2([Dynamic skill available next session via manifest registration and tier-router.js scan])
69
+ Save2 --> Done3([Simple memory rule available in RULES.md])
70
+ ```
71
+
72
+ ---
73
+
74
+ ## 4. Verification Check
75
+
76
+ To ensure that the `skill-creator` skill is operating in strict compliance with Harness OS design laws, verify the following:
77
+
78
+ - [ ] **Physical Boundary Verification**: The skill boundaries are respected and do not leak context.
79
+ - [ ] **State Checkpoint Verification**: The active state is established, validated, and recorded at the beginning and end of each execution branch.
80
+ - [ ] **Cognitive Alignment**: The skill conforms to the **Think > Try > Summarize > Record** cognitive loop.
@@ -1,64 +1,64 @@
1
- # Workflow: Skill Style
2
-
3
- > Guidelines and style rules for authoring, refactoring, and maintaining SKILL.md files to enforce clean frontmatter and logical boundaries.
4
-
5
- ---
6
-
7
- ## 1. Skill Behavior Workflow
8
-
9
- This section visualizes how the `skill-style` skill executes internally, detailing the sequence of operations, state transitions, and evaluation steps.
10
-
11
- ```mermaid
12
- graph TD
13
- Start([Authoring / Editing a SKILL.md]) --> ParseFrontmatter["Parse and validate YAML Frontmatter: name, description"]
14
- ParseFrontmatter --> ValidateBoundary["Check for explicit physical boundaries & state checkpoints"]
15
- ValidateBoundary --> VerifyCognitiveLoop["Verify integration with Cognitive Loop laws"]
16
- VerifyCognitiveLoop --> CheckFormatting["Ensure clean markdown layout and bullet-style rules"]
17
- CheckFormatting --> FormatApproved{Complies with STYLE.md?}
18
- FormatApproved -->|No| FixSkillFile["Refactor and clean file formatting"]
19
- FormatApproved -->|Yes| SaveSkillFile["Commit clean, validated SKILL.md"]
20
- FixSkillFile --> SaveSkillFile
21
- SaveSkillFile --> End([Skill document aligned with professional guidelines])
22
- ```
23
-
24
- ---
25
-
26
- ## 2. Triggering and Routing Path
27
-
28
- This diagram illustrates how `skill-style` is reached — as of the `skill-creator` split, it is no longer the first stop. `tier-router.js`'s `/\bskill\b|skill\.md|new skill|write a skill/` match now recommends `skill-creator` first (the full authoring/audit/testing workflow) and `skill-style` second (the terse Skill Contract table shape it builds on) — see `harness-everything/scripts/tier-router.js`.
29
-
30
- ```mermaid
31
- graph LR
32
- Router["harness-everything / tier-router.js"] -->|Keyword: skill / skill.md / new skill| Creator["skill-creator / SKILL.md"]
33
- Creator -->|Builds on the table shape defined in| SkillStyle["skill-style / SKILL.md"]
34
- SkillStyle -->|Audits format correctness of| OtherSkills["Any SKILL.md in the workspace"]
35
- SkillStyle -->|Pre-PR validation gate integration| VerLoop["verification-loop / SKILL.md"]
36
- ```
37
-
38
- ---
39
-
40
- ## 3. Real-World Use Case Flowchart
41
-
42
- §1 already walks the linear audit steps for a single file. This section instead shows the case that motivated splitting `skill-creator` out of this skill in the first place: a developer who needs the *fuller* workflow, not just the table shape.
43
-
44
- ```mermaid
45
- graph TD
46
- Start["Developer: 'help me write a new skill for deploying to AWS'"] --> Router["tier-router.js recommends skill-creator + skill-style"]
47
- Router --> Creator["skill-creator: capture intent, draft, test against real prompts (§2)"]
48
- Creator --> StyleCheck["skill-style: does the draft's Skill Contract table match the required shape?"]
49
- StyleCheck -->|Missing/malformed table| Fix["Fix table shape per skill-style, re-run skill-creator's Quality Checklist"]
50
- StyleCheck -->|Table shape OK| Checklist["skill-creator §3 Quality Checklist: no-op / duplication / negation / progressive-disclosure checks"]
51
- Fix --> Checklist
52
- Checklist --> Register["Register in harness-everything §5 + tier-router.js (skill-creator §2 Step 4)"]
53
- Register --> Done([deploy-aws/SKILL.md committed, consistent with the rest of the repo])
54
- ```
55
-
56
- ---
57
-
58
- ## 4. Verification Check
59
-
60
- To ensure that the `skill-style` skill is operating in strict compliance with Harness OS design laws, verify the following:
61
-
62
- - [ ] **Physical Boundary Verification**: The skill boundaries are respected and do not leak context.
63
- - [ ] **State Checkpoint Verification**: The active state is established, validated, and recorded at the beginning and end of each execution branch.
64
- - [ ] **Cognitive Alignment**: The skill conforms to the **Think > Try > Summarize > Record** cognitive loop.
1
+ # Workflow: Skill Style
2
+
3
+ > Guidelines and style rules for authoring, refactoring, and maintaining SKILL.md files to enforce clean frontmatter and logical boundaries.
4
+
5
+ ---
6
+
7
+ ## 1. Skill Behavior Workflow
8
+
9
+ This section visualizes how the `skill-style` skill executes internally, detailing the sequence of operations, state transitions, and evaluation steps.
10
+
11
+ ```mermaid
12
+ graph TD
13
+ Start([Authoring / Editing a SKILL.md]) --> ParseFrontmatter["Parse and validate YAML Frontmatter: name, description"]
14
+ ParseFrontmatter --> ValidateBoundary["Check for explicit physical boundaries & state checkpoints"]
15
+ ValidateBoundary --> VerifyCognitiveLoop["Verify integration with Cognitive Loop laws"]
16
+ VerifyCognitiveLoop --> CheckFormatting["Ensure clean markdown layout and bullet-style rules"]
17
+ CheckFormatting --> FormatApproved{Complies with STYLE.md?}
18
+ FormatApproved -->|No| FixSkillFile["Refactor and clean file formatting"]
19
+ FormatApproved -->|Yes| SaveSkillFile["Commit clean, validated SKILL.md"]
20
+ FixSkillFile --> SaveSkillFile
21
+ SaveSkillFile --> End([Skill document aligned with professional guidelines])
22
+ ```
23
+
24
+ ---
25
+
26
+ ## 2. Triggering and Routing Path
27
+
28
+ This diagram illustrates how `skill-style` is reached — as of the `skill-creator` split, it is no longer the first stop. `tier-router.js`'s `/\bskill\b|skill\.md|new skill|write a skill/` match now recommends `skill-creator` first (the full authoring/audit/testing workflow) and `skill-style` second (the terse Skill Contract table shape it builds on) — see `harness-everything/scripts/tier-router.js`.
29
+
30
+ ```mermaid
31
+ graph LR
32
+ Router["harness-everything / tier-router.js"] -->|Keyword: skill / skill.md / new skill| Creator["skill-creator / SKILL.md"]
33
+ Creator -->|Builds on the table shape defined in| SkillStyle["skill-style / SKILL.md"]
34
+ SkillStyle -->|Audits format correctness of| OtherSkills["Any SKILL.md in the workspace"]
35
+ SkillStyle -->|Pre-PR validation gate integration| VerLoop["verification-loop / SKILL.md"]
36
+ ```
37
+
38
+ ---
39
+
40
+ ## 3. Real-World Use Case Flowchart
41
+
42
+ §1 already walks the linear audit steps for a single file. This section instead shows the case that motivated splitting `skill-creator` out of this skill in the first place: a developer who needs the *fuller* workflow, not just the table shape.
43
+
44
+ ```mermaid
45
+ graph TD
46
+ Start["Developer: 'help me write a new skill for deploying to AWS'"] --> Router["tier-router.js recommends skill-creator + skill-style"]
47
+ Router --> Creator["skill-creator: capture intent, draft, test against real prompts (§2)"]
48
+ Creator --> StyleCheck["skill-style: does the draft's Skill Contract table match the required shape?"]
49
+ StyleCheck -->|Missing/malformed table| Fix["Fix table shape per skill-style, re-run skill-creator's Quality Checklist"]
50
+ StyleCheck -->|Table shape OK| Checklist["skill-creator §3 Quality Checklist: no-op / duplication / negation / progressive-disclosure checks"]
51
+ Fix --> Checklist
52
+ Checklist --> Register["Register in harness-everything §5 + tier-router.js (skill-creator §2 Step 4)"]
53
+ Register --> Done([deploy-aws/SKILL.md committed, consistent with the rest of the repo])
54
+ ```
55
+
56
+ ---
57
+
58
+ ## 4. Verification Check
59
+
60
+ To ensure that the `skill-style` skill is operating in strict compliance with Harness OS design laws, verify the following:
61
+
62
+ - [ ] **Physical Boundary Verification**: The skill boundaries are respected and do not leak context.
63
+ - [ ] **State Checkpoint Verification**: The active state is established, validated, and recorded at the beginning and end of each execution branch.
64
+ - [ ] **Cognitive Alignment**: The skill conforms to the **Think > Try > Summarize > Record** cognitive loop.
@@ -14,24 +14,27 @@ graph TD
14
14
  DesignInterface --> WriteTest["Write unit/integration tests first"]
15
15
 
16
16
  WriteTest --> RunRed["Try: Run tests (EXPECT FAILURE)"]
17
- RunRed --> VerifyRed{Gate: Exit Code 1?}
17
+ RunRed --> AssertRed["Assert: Present terminal logs as evidence (Law 4)"]
18
+ AssertRed --> VerifyRed{Gate: Exit Code 1?}
18
19
  VerifyRed -->|Exit 0: Fake Test| FixTest["Reflect: Test is broken/fake. Fix it."]
19
20
  FixTest --> RunRed
20
21
 
21
22
  VerifyRed -->|Exit 1: True Red| WriteCode["Write minimal code to pass test"]
22
23
 
23
24
  WriteCode --> RunGreen["Try: Run tests (EXPECT SUCCESS)"]
24
- RunGreen --> VerifyGreen{Gate: verify-gate.js}
25
+ RunGreen --> AssertGreen["Assert: Present terminal logs as evidence (Law 4)"]
26
+ AssertGreen --> VerifyGreen{Gate: verify-gate.js}
25
27
 
26
28
  VerifyGreen -->|Exit 1: Still Broken| DebugCode["Reflect: Read logs, fix code"]
27
29
  DebugCode --> RunGreen
28
30
  VerifyGreen -->|Exit 1: 3x Failures| CircuitBreaker["Trigger rule-of-3.js: ZOOM OUT"]
29
31
  CircuitBreaker --> DebugCode
30
32
 
31
- VerifyGreen -->|Exit 0: Green| Refactor["Refactor code for readability"]
33
+ VerifyGreen -->|Exit 0: Green| Refactor["Refactor: Optimize & audit Code-Doc Alignment (Law 6)"]
32
34
 
33
35
  Refactor --> RunVerify["Try: Run tests again"]
34
- RunVerify --> VerifyRefactor{Gate: verify-gate.js}
36
+ RunVerify --> AssertRefactor["Assert: Present terminal logs as evidence (Law 4)"]
37
+ AssertRefactor --> VerifyRefactor{Gate: verify-gate.js}
35
38
  VerifyRefactor -->|Exit 1| Revert["Revert refactor / Fix"]
36
39
  Revert --> RunVerify
37
40
 
@@ -0,0 +1,83 @@
1
+ # Workflow: To Spec
2
+
3
+ > Synthesizes an already-discussed conversation into whichever written artifact actually fits — feature spec, CLI/API reference, schema doc, or dev doc — and publishes it per this repo's own `projectDocs` entry inside `harness-everything/manifest.json`. Advisory in both Tier 2 and Tier 3 toward other skills; its own Step 0 framework check is a mechanized script gate, not advisory.
4
+
5
+ ---
6
+
7
+ ## 1. Skill Behavior Workflow
8
+
9
+ This section visualizes how the `to-spec` skill executes internally, detailing the sequence of operations, state transitions, and evaluation steps.
10
+
11
+ ```mermaid
12
+ graph TD
13
+ Start(["/to-spec invoked"]) --> OutlinePreview["Phase 1: Present 10-20 Line Outline Preview & Path to User"]
14
+ OutlinePreview --> UserApproved{"User Approves Outline?"}
15
+ UserApproved -->|No / Adjustments Needed| AdjustOutline["Refine Template Shape & Outline"] --> OutlinePreview
16
+
17
+ UserApproved -->|Yes| CheckScript["Phase 2: node to-spec/scripts/check-project-docs.js check"]
18
+ CheckScript --> ExitCode{"Exit code?"}
19
+ ExitCode -->|0: projectDocs complete or inferred| ResolveConfig["Use Configured / Inferred docLocation"]
20
+ ExitCode -->|1 / Script Missing| InspectWorkspace{"Inspect Workspace Folders"}
21
+
22
+ InspectWorkspace -->|Folder Found| ResolveWorkspace["Use docs/specs/, docs/reference/, docs/adr/, .scratch/"]
23
+ InspectWorkspace -->|No Folder| ResolvePlatform["Fallback to .github/harness-everything/specs/"]
24
+
25
+ ResolveConfig --> WriteDoc["Generate & Publish Full Document"]
26
+ ResolveWorkspace --> WriteDoc
27
+ ResolvePlatform --> WriteDoc
28
+
29
+ WriteDoc --> End(["Spec Document Published Successfully"])
30
+ ```
31
+
32
+ ---
33
+
34
+ ## 2. Triggering and Routing Path
35
+
36
+ This diagram illustrates how `to-spec` is reached through user requests and how it chains with companion skills in the Harness OS ecosystem.
37
+
38
+ ```mermaid
39
+ graph LR
40
+ Router["harness-everything / tier-router.js"] -->|Keyword: spec / PRD / cli reference / schema doc / dev doc| Suggest["Suggests to-spec/SKILL.md - advisory only, still explicit-invoke"]
41
+ Suggest --> TS["to-spec / SKILL.md"]
42
+ TS -->|Step 0, mandatory| Gate["check-project-docs.js check - scans repo-local manifest.json homes only"]
43
+ Gate -->|Exit 1, first run only| Init["check-project-docs.js init writes projectDocs into manifest.json"]
44
+ Init --> TS
45
+ Manifest["harness-everything/manifest.json (also owned by scripts/lib/manifest.js + self-evolve's generated registry)"] -.->|same file, different key| Gate
46
+ GWD["grill-with-docs / SKILL.md"] -->|Settles decisions BEFORE, feeds feature-spec shape| TS
47
+ GM["grill-me / SKILL.md"] -->|Settles decisions BEFORE| TS
48
+ TDD["tdd / SKILL.md (Tier 2)"] -.->|Optional pre-implementation doc, never blocks Red/Green/Refactor| TS
49
+ TS -->|Unresolved fork found mid-synthesis| GWD
50
+ TS -->|Published doc becomes input for| ToTickets["to-tickets / SKILL.md (planned)"]
51
+ ```
52
+
53
+ ---
54
+
55
+ ## 3. Real-World Use Case Flowchart
56
+
57
+ ```mermaid
58
+ graph TD
59
+ Start["Tier 2 task: add a new `harness todo export` CLI command"] --> Invoke["/to-spec invoked (optional, offered by router)"]
60
+ Invoke --> RunCheck["node check-project-docs.js check"]
61
+ RunCheck --> Exit0["Exit 0 - .claude/harness-everything/manifest.json already has projectDocs from a prior run"]
62
+ Exit0 --> Gather2["Gathers context: existing native or Markdown checklist conventions"]
63
+ Gather2 --> PickShape2["Picks cli-reference.md - not feature-spec, no user stories needed"]
64
+ PickShape2 --> ConfirmFlags["Confirms --format and --since flag names with user"]
65
+ ConfirmFlags --> Draft["Writes doc from templates/cli-reference.md, adapted headings"]
66
+ Draft --> ReadDocLoc["projectDocs.docLocation says docs/reference/"]
67
+ ReadDocLoc --> PublishLocal["docs/reference/todo-export.md - not filed as an issue"]
68
+ PublishLocal --> Done(["Doc published; TDD proceeds unblocked either way"])
69
+ ```
70
+
71
+ ---
72
+
73
+ ## 4. Verification Check
74
+
75
+ To ensure `to-spec` is operating in strict compliance with Harness OS design laws, verify the following:
76
+
77
+ - [ ] **Mechanized Gate, Not Prose**: Step 0 ran `check-project-docs.js check` and honored its exit code — it did not skip straight to inferring the framework from prose memory of past runs.
78
+ - [ ] **Repo-Local, Not Global**: `projectDocs` was read from / written to a workspace-relative platform home only (`.claude/`, `.cursor/`, `.github/`, `.codex/`, `.continue/` under this repo) — never `~/.agents` or the global `~/.claude` manifest, which would leak this repo's tracker into unrelated projects.
79
+ - [ ] **Pointer, Not Payload**: Every `projectDocs` field is a short pointer (≤ 200 chars, enforced by `init`) — elaborate content (a full issue template, a per-context doc map) lives in its own file, referenced by path, not inlined into `manifest.json`.
80
+ - [ ] **No Re-Interview Violation**: Beyond the one-time Step 0 setup, the skill did not ask the user questions that a prior `grill-me`/`grill-with-docs` pass, or the conversation itself, already answered.
81
+ - [ ] **Adaptive Shape Selection**: The template picked (feature-spec / cli-reference / schema-doc / dev-doc) actually matches the artifact being documented — not defaulted to the heaviest shape out of habit.
82
+ - [ ] **Shape-Correct Destination**: A feature-spec was filed as an issue; a CLI-reference/schema-doc/dev-doc was written under `docLocation` instead, unless the user explicitly confirmed it should also be an issue.
83
+ - [ ] **Non-Blocking Toward Other Skills**: The Step 3 confirmation happened before publishing, and to-spec's own execution never delayed or gated `tdd`/`verification-loop` in a Tier 2 flow.
@@ -0,0 +1,80 @@
1
+ # Workflow: To Tickets
2
+
3
+ > Breaks a `to-spec` feature spec, a plan, or the current conversation into tracer-bullet tickets with declared blocking edges, published through the same `projectDocs` entry `to-spec` already established. Reuses `to-spec`'s own project-docs gate — never a second setup interview.
4
+
5
+ ---
6
+
7
+ ## 1. Skill Behavior Workflow
8
+
9
+ This section visualizes how the `to-tickets` skill executes internally, detailing the sequence of operations, state transitions, and evaluation steps.
10
+
11
+ ```mermaid
12
+ graph TD
13
+ Start(["/to-tickets invoked"]) --> CheckScript["Step 0: node to-spec/scripts/check-project-docs.js check"]
14
+ CheckScript --> ExitCode{"Exit code?"}
15
+ ExitCode -->|0: projectDocs configured/inferred| PathConfig["Use Configured / Inferred Tracker"]
16
+ ExitCode -->|1 / Script Missing| InspectRepo{"Inspect Workspace Directories"}
17
+
18
+ InspectRepo -->|Folder Found| PathRepo["Use docs/roadmaps/, docs/tickets/, tasks/tickets/, .scratch/issues/"]
19
+ InspectRepo -->|No Folder| PathPlatform["Fallback to .github/harness-everything/tickets/"]
20
+
21
+ PathConfig --> Gather["Step 1: Gather context from spec, plan, or conversation"]
22
+ PathRepo --> Gather
23
+ PathPlatform --> Gather
24
+
25
+ Gather --> Explore["Step 2: Explore codebase & identify prefactor opportunities"]
26
+ Explore --> Draft["Step 3: Draft vertical slices with tracer bullets & blocking edges"]
27
+ Draft --> Quiz["Step 4: Quiz user on granularity, blocking edges, and merges"]
28
+
29
+ Quiz --> Approved{"User approves breakdown?"}
30
+ Approved -->|No| Draft
31
+ Approved -->|Yes| Publish["Step 5: Publish ticket files at resolved storage path"]
32
+ Publish --> End(["Tickets published, frontier = unblocked tickets"])
33
+ ```
34
+
35
+ ---
36
+
37
+ ## 2. Triggering and Routing Path
38
+
39
+ This diagram illustrates how `to-tickets` is reached through user requests and how it chains with companion skills in the Harness OS ecosystem.
40
+
41
+ ```mermaid
42
+ graph LR
43
+ Router["harness-everything / tier-router.js"] -->|Keyword: break into tickets / vertical slice / tracer bullet / blocking edges| Suggest["Suggests to-tickets/SKILL.md - advisory only, still explicit-invoke"]
44
+ Suggest --> TT["to-tickets / SKILL.md"]
45
+ TT -->|Step 0, mandatory, SAME script as to-spec| Gate["check-project-docs.js check"]
46
+ Gate -->|Exit 1| RedirectToSpec["Stop - point user to /to-spec's Step 0 interview, not a duplicate here"]
47
+ TS["to-spec / SKILL.md"] -->|Published feature-spec is the preferred input| TT
48
+ TS -.->|Same projectDocs entry, read not written| Gate
49
+ TT -->|No spec exists yet, still works from| Convo["Current conversation / plan"]
50
+ TT -->|Publishes tickets that unblock| TDD["tdd / SKILL.md (Tier 2, per ticket)"]
51
+ ```
52
+
53
+ ---
54
+
55
+ ## 3. Real-World Use Case Flowchart
56
+
57
+ ```mermaid
58
+ graph TD
59
+ Start["A to-spec feature-spec for 'notification retry limits' was published earlier"] --> Invoke["/to-tickets invoked with the spec's issue number"]
60
+ Invoke --> RunCheck["node check-project-docs.js check - Exit 0, projectDocs already set from the to-spec run"]
61
+ RunCheck --> FetchSpec["Fetches full spec body via gh issue view"]
62
+ FetchSpec --> ExploreCode["Explores retry-policy module, finds a shared RetryConfig prefactor opportunity"]
63
+ ExploreCode --> DraftSlices["Drafts 3 tracer-bullet tickets: 01 prefactor RetryConfig, 02 per-tenant override (blocked by 01), 03 UI toggle (blocked by 02)"]
64
+ DraftSlices --> QuizUser["Presents numbered breakdown, user merges 02+03"]
65
+ QuizUser --> Publish2["Publishes 2 GitHub issues in dependency order, Status: ready-for-agent"]
66
+ Publish2 --> Done(["Frontier = ticket 01, unblocked, ready to claim"])
67
+ ```
68
+
69
+ ---
70
+
71
+ ## 4. Verification Check
72
+
73
+ To ensure `to-tickets` is operating in strict compliance with Harness OS design laws, verify the following:
74
+
75
+ - [ ] **Shared Gate, No Duplicate Interview**: Step 0 called `to-spec`'s own `check-project-docs.js check` — it did not run a second, parallel setup interview for tracker/doc-location/issue-definition.
76
+ - [ ] **Vertical, Not Horizontal**: Every non-wide-refactor ticket cuts a complete path through all layers it touches — no ticket is "just the schema" or "just the UI" for the same feature.
77
+ - [ ] **Blocking Edges Are Real**: Each ticket's "Blocked by" lists only tickets that genuinely gate it, not every ticket that merely precedes it in reading order.
78
+ - [ ] **Wide-Refactor Exception Applied Correctly**: A mechanical, huge-blast-radius change was sequenced as expand → migrate batches → contract, not forced into a single tracer-bullet ticket that can't land green.
79
+ - [ ] **User Approval Before Publish**: The numbered breakdown was shown and approved (or iterated on) before Step 5 published anything.
80
+ - [ ] **No Forced Decomposition**: A `cli-reference`/`schema-doc`/`dev-doc` shaped `to-spec` doc that was already a single unit of work was not artificially split into multiple tickets.
@@ -1,36 +1,34 @@
1
1
  # Workflow: Todo-Driven Workflow
2
2
 
3
- > The fundamental execution loop. Driven entirely by terminal state machines (`todo-cli.js`).
4
-
5
- ---
6
-
7
- ## 1. Skill Behavior Workflow
8
-
9
- This section visualizes the rigid state constraints. Transitioning state is blocked unless verification gates pass.
3
+ > The fundamental execution loop for Tier 2/3 work. Prefer the host's native
4
+ > TODO tracker; use a Markdown checklist when no native tracker is available.
10
5
 
11
6
  ```mermaid
12
7
  graph TD
13
- Start([Initialize Checklist]) --> Plan["Define 3-7 Verifiable Sub-tasks"]
14
- Plan --> SaveTodo["Try: node todo-cli.js init ..."]
15
-
16
- SaveTodo --> ChooseTask["Choose ONE pending task"]
17
- ChooseTask --> MarkInProgress["Try: node todo-cli.js start <id>"]
18
-
19
- MarkInProgress --> CheckStart{Gate: Exit Code?}
20
- CheckStart -->|Exit 1: Multitasking Blocked| ReflectStart["Reflect: Must complete previous task first"]
21
- ReflectStart --> Execute
22
-
23
- CheckStart -->|Exit 0| Execute["Execute code changes"]
24
-
25
- Execute --> GatherEvidence["Try: node verify-gate.js"]
26
- GatherEvidence --> VerifySuccess{Gate: Exit Code?}
27
-
28
- VerifySuccess -->|Exit 1: Code is broken| ReflectCode["Reflect: Read Error Log & Fix"]
29
- ReflectCode --> Execute
30
-
31
- VerifySuccess -->|Exit 0: Code works| MarkCompleted["Try: node todo-cli.js complete <id>"]
32
-
33
- MarkCompleted --> CheckRemaining{All tasks completed?}
34
- CheckRemaining -->|No| ChooseTask
35
- CheckRemaining -->|Yes| Finish([Signal Task Completion])
8
+ Start[Initialize checklist] --> Plan[Define 3-7 verifiable milestones]
9
+ Plan --> Native{Native TODO tracker available?}
10
+ Native -->|Yes| Host[Use host tracker]
11
+ Native -->|No| Markdown[Create tasks/todo.md]
12
+ Host --> One[Keep one item in-progress]
13
+ Markdown --> One
14
+ One --> Execute[Execute bounded scope]
15
+ Execute --> Verify[Run named verification command]
16
+ Verify -->|pass| Complete[Record evidence and complete item]
17
+ Verify -->|fail| Reflect[Inspect failure and update plan]
18
+ Reflect --> Execute
19
+ Complete --> More{More milestones?}
20
+ More -->|Yes| One
21
+ More -->|No| Done[Finish]
36
22
  ```
23
+
24
+ ## Operating rules
25
+
26
+ 1. Define 3-7 milestones before editing.
27
+ 2. Give each milestone an output, pass condition, and verification command.
28
+ 3. Keep exactly one milestone `in-progress`.
29
+ 4. Mark a milestone complete only after its check passes.
30
+ 5. Use `using-git-worktrees` when parallel agents would otherwise share a write scope.
31
+ 6. Leave a blocker visible in the checklist and escalate instead of inventing progress.
32
+
33
+ The repository has no TODO CLI state machine. This keeps progress portable,
34
+ host-native, and transparent across sessions.