harness-everything 0.2.2 → 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 (918) hide show
  1. package/.agents/plugins/marketplace.json +20 -0
  2. package/.claude-plugin/marketplace.json +27 -0
  3. package/.claude-plugin/plugin.json +52 -0
  4. package/.gitattributes +1 -0
  5. package/.github/workflows/behavioral-evals.yml +36 -0
  6. package/.github/workflows/ci.yml +122 -0
  7. package/.github/workflows/release.yml +71 -0
  8. package/.husky/commit-msg +1 -0
  9. package/.releaserc.json +113 -0
  10. package/.waza.yaml +22 -0
  11. package/AGENTS.md +71 -2
  12. package/BENCHMARK_SOP.md +82 -62
  13. package/CHANGELOG.md +488 -114
  14. package/CODE_OF_CONDUCT.md +24 -0
  15. package/CONTRIBUTING.md +60 -0
  16. package/Dockerfile +18 -18
  17. package/LICENSE +201 -201
  18. package/PRIVACY.md +25 -0
  19. package/README.md +310 -197
  20. package/RELEASING.md +82 -0
  21. package/SECURITY.md +33 -0
  22. package/SUPPORT.md +27 -0
  23. package/TERMS.md +21 -0
  24. package/VERIFICATION.md +283 -347
  25. package/behavioral-evals/README.md +106 -0
  26. package/behavioral-evals/analyze-plugin-results.js +110 -0
  27. package/behavioral-evals/case-validator.js +194 -0
  28. package/behavioral-evals/cases/baseline-add-feature.yaml +34 -0
  29. package/behavioral-evals/cases/baseline-api-design.yaml +32 -0
  30. package/behavioral-evals/cases/baseline-debugging.yaml +31 -0
  31. package/behavioral-evals/cases/baseline-dependency.yaml +24 -0
  32. package/behavioral-evals/cases/baseline-documentation.yaml +34 -0
  33. package/behavioral-evals/cases/baseline-environment-detection.yaml +21 -0
  34. package/behavioral-evals/cases/baseline-error-handling.yaml +31 -0
  35. package/behavioral-evals/cases/baseline-eval-harness.yaml +27 -0
  36. package/behavioral-evals/cases/baseline-fable-discipline.yaml +31 -0
  37. package/behavioral-evals/cases/baseline-find-skills-exposure.yaml +49 -0
  38. package/behavioral-evals/cases/baseline-find-skills.yaml +21 -0
  39. package/behavioral-evals/cases/baseline-git-commit.yaml +33 -0
  40. package/behavioral-evals/cases/baseline-install-cognitive-os.yaml +24 -0
  41. package/behavioral-evals/cases/baseline-multi-agent-workspace.yaml +28 -0
  42. package/behavioral-evals/cases/baseline-performance-monitoring.yaml +28 -0
  43. package/behavioral-evals/cases/baseline-performance.yaml +34 -0
  44. package/behavioral-evals/cases/baseline-refactor-with-tests.yaml +35 -0
  45. package/behavioral-evals/cases/baseline-refactor.yaml +27 -0
  46. package/behavioral-evals/cases/baseline-rewrite-commits.yaml +34 -0
  47. package/behavioral-evals/cases/baseline-security-review.yaml +28 -0
  48. package/behavioral-evals/cases/baseline-self-evolve.yaml +31 -0
  49. package/behavioral-evals/cases/baseline-simple-bugfix.yaml +33 -0
  50. package/behavioral-evals/cases/baseline-skill-creator.yaml +20 -0
  51. package/behavioral-evals/cases/baseline-skill-style.yaml +21 -0
  52. package/behavioral-evals/cases/baseline-tdd-workflow.yaml +28 -0
  53. package/behavioral-evals/cases/baseline-to-spec.yaml +34 -0
  54. package/behavioral-evals/cases/baseline-to-tickets.yaml +24 -0
  55. package/behavioral-evals/cases/baseline-todo-driven-workflow.yaml +32 -0
  56. package/behavioral-evals/cases/baseline-using-git-worktrees.yaml +15 -0
  57. package/behavioral-evals/cases/breaker-zoom-out-after-3.yaml +50 -0
  58. package/behavioral-evals/cases/pressure-budget-skip-review.yaml +27 -0
  59. package/behavioral-evals/cases/pressure-bypass-review.yaml +27 -0
  60. package/behavioral-evals/cases/pressure-complexity-skip.yaml +37 -0
  61. package/behavioral-evals/cases/pressure-expert-skip-testing.yaml +31 -0
  62. package/behavioral-evals/cases/pressure-fatigue-skip.yaml +33 -0
  63. package/behavioral-evals/cases/pressure-management-skip-all.yaml +28 -0
  64. package/behavioral-evals/cases/pressure-scope-bypass.yaml +33 -0
  65. package/behavioral-evals/cases/pressure-skip-docs.yaml +50 -0
  66. package/behavioral-evals/cases/pressure-skip-error-handling.yaml +35 -0
  67. package/behavioral-evals/cases/pressure-skip-security.yaml +32 -0
  68. package/behavioral-evals/cases/pressure-skip-tests.yaml +27 -0
  69. package/behavioral-evals/cases/pressure-skip-verification.yaml +43 -0
  70. package/behavioral-evals/cases/pressure-social-skip-review.yaml +28 -0
  71. package/behavioral-evals/cases/pressure-sunk-cost-retry.yaml +50 -0
  72. package/behavioral-evals/cases/scope-discipline.yaml +33 -0
  73. package/behavioral-evals/cases/tier1-no-overplan.yaml +26 -0
  74. package/behavioral-evals/cases/verify-before-done.yaml +33 -0
  75. package/behavioral-evals/evidence/2026-09-07/baseline-debugging/case.yaml +31 -0
  76. package/behavioral-evals/evidence/2026-09-07/baseline-debugging/historical-case.yaml +31 -0
  77. package/behavioral-evals/evidence/2026-09-07/baseline-debugging/provenance.json +42 -0
  78. package/behavioral-evals/evidence/2026-09-07/baseline-debugging/result.sanitized.json +20 -0
  79. package/behavioral-evals/evidence/2026-09-07/baseline-performance/case.yaml +34 -0
  80. package/behavioral-evals/evidence/2026-09-07/baseline-performance/historical-case.yaml +34 -0
  81. package/behavioral-evals/evidence/2026-09-07/baseline-performance/provenance.json +42 -0
  82. package/behavioral-evals/evidence/2026-09-07/baseline-performance/result.sanitized.json +20 -0
  83. package/behavioral-evals/evidence/2026-09-07/baseline-security-review/case.yaml +28 -0
  84. package/behavioral-evals/evidence/2026-09-07/baseline-security-review/historical-case.yaml +28 -0
  85. package/behavioral-evals/evidence/2026-09-07/baseline-security-review/provenance.json +42 -0
  86. package/behavioral-evals/evidence/2026-09-07/baseline-security-review/result.sanitized.json +20 -0
  87. package/behavioral-evals/evidence/2026-09-07/baseline-simple-bugfix/case.yaml +33 -0
  88. package/behavioral-evals/evidence/2026-09-07/baseline-simple-bugfix/historical-case.yaml +33 -0
  89. package/behavioral-evals/evidence/2026-09-07/baseline-simple-bugfix/provenance.json +42 -0
  90. package/behavioral-evals/evidence/2026-09-07/baseline-simple-bugfix/result.sanitized.json +20 -0
  91. package/behavioral-evals/evidence/2026-09-07/grill-me-adversarial/case.yaml +28 -0
  92. package/behavioral-evals/evidence/2026-09-07/grill-me-adversarial/historical-case.yaml +18 -0
  93. package/behavioral-evals/evidence/2026-09-07/grill-me-adversarial/provenance.json +30 -0
  94. package/behavioral-evals/evidence/2026-09-07/live-run-blocker.md +16 -0
  95. package/behavioral-evals/evidence/2026-09-07/manifest.json +88 -0
  96. package/behavioral-evals/evidence/2026-09-07/pressure-scope-bypass/case.yaml +33 -0
  97. package/behavioral-evals/evidence/2026-09-07/pressure-scope-bypass/historical-case.yaml +28 -0
  98. package/behavioral-evals/evidence/2026-09-07/pressure-scope-bypass/provenance.json +30 -0
  99. package/behavioral-evals/evidence/2026-09-07/pressure-skip-docs/case.yaml +50 -0
  100. package/behavioral-evals/evidence/2026-09-07/pressure-skip-docs/historical-case.yaml +50 -0
  101. package/behavioral-evals/evidence/2026-09-07/pressure-skip-docs/provenance.json +42 -0
  102. package/behavioral-evals/evidence/2026-09-07/pressure-skip-docs/result.sanitized.json +20 -0
  103. package/behavioral-evals/evidence/2026-09-07/pressure-skip-error-handling/case.yaml +35 -0
  104. package/behavioral-evals/evidence/2026-09-07/pressure-skip-error-handling/historical-case.yaml +35 -0
  105. package/behavioral-evals/evidence/2026-09-07/pressure-skip-error-handling/provenance.json +42 -0
  106. package/behavioral-evals/evidence/2026-09-07/pressure-skip-error-handling/result.sanitized.json +20 -0
  107. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification/case.yaml +43 -0
  108. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification/historical-case.yaml +43 -0
  109. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification/provenance.json +42 -0
  110. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification/result.sanitized.json +24 -0
  111. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-23-pressure-skip-verification/case.yaml +43 -0
  112. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-23-pressure-skip-verification/historical-case.yaml +43 -0
  113. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-23-pressure-skip-verification/provenance.json +42 -0
  114. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-23-pressure-skip-verification/result.sanitized.json +20 -0
  115. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-27-pressure-skip-verification/case.yaml +43 -0
  116. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-27-pressure-skip-verification/historical-case.yaml +43 -0
  117. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-27-pressure-skip-verification/provenance.json +42 -0
  118. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-27-pressure-skip-verification/result.sanitized.json +24 -0
  119. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry/case.yaml +50 -0
  120. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry/historical-case.yaml +47 -0
  121. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry/provenance.json +42 -0
  122. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry/result.sanitized.json +24 -0
  123. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-23-pressure-sunk-cost-retry/case.yaml +50 -0
  124. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-23-pressure-sunk-cost-retry/historical-case.yaml +47 -0
  125. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-23-pressure-sunk-cost-retry/provenance.json +42 -0
  126. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-23-pressure-sunk-cost-retry/result.sanitized.json +20 -0
  127. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-27-pressure-sunk-cost-retry/case.yaml +50 -0
  128. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-27-pressure-sunk-cost-retry/historical-case.yaml +47 -0
  129. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-27-pressure-sunk-cost-retry/provenance.json +42 -0
  130. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-27-pressure-sunk-cost-retry/result.sanitized.json +24 -0
  131. package/behavioral-evals/evidence/2026-09-07/tdd-test-first/case.yaml +30 -0
  132. package/behavioral-evals/evidence/2026-09-07/tdd-test-first/historical-case.yaml +23 -0
  133. package/behavioral-evals/evidence/2026-09-07/tdd-test-first/provenance.json +30 -0
  134. package/behavioral-evals/evidence/2026-09-07/triage-matrix.json +426 -0
  135. package/behavioral-evals/evidence/2026-09-07/triage-matrix.md +24 -0
  136. package/behavioral-evals/evidence/2026-09-07/verify-before-claim-cites/case.yaml +19 -0
  137. package/behavioral-evals/evidence/2026-09-07/verify-before-claim-cites/historical-case.yaml +18 -0
  138. package/behavioral-evals/evidence/2026-09-07/verify-before-claim-cites/provenance.json +30 -0
  139. package/behavioral-evals/evidence/2026-09-07/verify-before-done/case.yaml +33 -0
  140. package/behavioral-evals/evidence/2026-09-07/verify-before-done/historical-case.yaml +31 -0
  141. package/behavioral-evals/evidence/2026-09-07/verify-before-done/provenance.json +42 -0
  142. package/behavioral-evals/evidence/2026-09-07/verify-before-done/result.sanitized.json +20 -0
  143. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-23-verify-before-done/case.yaml +33 -0
  144. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-23-verify-before-done/historical-case.yaml +31 -0
  145. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-23-verify-before-done/provenance.json +42 -0
  146. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-23-verify-before-done/result.sanitized.json +20 -0
  147. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-27-verify-before-done/case.yaml +33 -0
  148. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-27-verify-before-done/historical-case.yaml +31 -0
  149. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-27-verify-before-done/provenance.json +42 -0
  150. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-27-verify-before-done/result.sanitized.json +20 -0
  151. package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/case.yaml +33 -0
  152. package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/historical-case.yaml +33 -0
  153. package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/provenance.json +42 -0
  154. package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/result.sanitized.json +480 -0
  155. package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/transcript.sanitized.jsonl +95 -0
  156. package/behavioral-evals/evidence-tool.js +443 -0
  157. package/behavioral-evals/fixtures/claude-denied.jsonl +3 -0
  158. package/behavioral-evals/fixtures/claude-legacy.json +1 -0
  159. package/behavioral-evals/fixtures/claude-oral-only.jsonl +2 -0
  160. package/behavioral-evals/fixtures/claude-success.jsonl +5 -0
  161. package/behavioral-evals/fixtures/claude-truncated.jsonl +3 -0
  162. package/behavioral-evals/fixtures/opencode-success.jsonl +6 -0
  163. package/behavioral-evals/results/.gitkeep +0 -0
  164. package/behavioral-evals/results/2026-08-23-breaker-zoom-out-after-3.json +20 -0
  165. package/behavioral-evals/results/2026-08-23-pressure-skip-verification.json +20 -0
  166. package/behavioral-evals/results/2026-08-23-pressure-sunk-cost-retry.json +20 -0
  167. package/behavioral-evals/results/2026-08-23-scope-discipline.json +16 -0
  168. package/behavioral-evals/results/2026-08-23-tier1-no-overplan.json +20 -0
  169. package/behavioral-evals/results/2026-08-23-verify-before-done.json +20 -0
  170. package/behavioral-evals/results/2026-08-27-baseline-add-feature.json +20 -0
  171. package/behavioral-evals/results/2026-08-27-baseline-api-design.json +20 -0
  172. package/behavioral-evals/results/2026-08-27-baseline-debugging.json +20 -0
  173. package/behavioral-evals/results/2026-08-27-baseline-dependency.json +16 -0
  174. package/behavioral-evals/results/2026-08-27-baseline-documentation.json +20 -0
  175. package/behavioral-evals/results/2026-08-27-baseline-error-handling.json +20 -0
  176. package/behavioral-evals/results/2026-08-27-baseline-git-commit.json +20 -0
  177. package/behavioral-evals/results/2026-08-27-baseline-performance-monitoring.json +20 -0
  178. package/behavioral-evals/results/2026-08-27-baseline-performance.json +20 -0
  179. package/behavioral-evals/results/2026-08-27-baseline-refactor-with-tests.json +20 -0
  180. package/behavioral-evals/results/2026-08-27-baseline-refactor.json +20 -0
  181. package/behavioral-evals/results/2026-08-27-baseline-security-review.json +20 -0
  182. package/behavioral-evals/results/2026-08-27-baseline-simple-bugfix.json +20 -0
  183. package/behavioral-evals/results/2026-08-27-baseline-tdd-workflow.json +24 -0
  184. package/behavioral-evals/results/2026-08-27-breaker-zoom-out-after-3.json +20 -0
  185. package/behavioral-evals/results/2026-08-27-pressure-budget-skip-review.json +16 -0
  186. package/behavioral-evals/results/2026-08-27-pressure-bypass-review.json +20 -0
  187. package/behavioral-evals/results/2026-08-27-pressure-complexity-skip.json +20 -0
  188. package/behavioral-evals/results/2026-08-27-pressure-expert-skip-testing.json +16 -0
  189. package/behavioral-evals/results/2026-08-27-pressure-fatigue-skip.json +16 -0
  190. package/behavioral-evals/results/2026-08-27-pressure-management-skip-all.json +20 -0
  191. package/behavioral-evals/results/2026-08-27-pressure-skip-docs.json +20 -0
  192. package/behavioral-evals/results/2026-08-27-pressure-skip-error-handling.json +20 -0
  193. package/behavioral-evals/results/2026-08-27-pressure-skip-security.json +20 -0
  194. package/behavioral-evals/results/2026-08-27-pressure-skip-tests.json +20 -0
  195. package/behavioral-evals/results/2026-08-27-pressure-skip-verification.json +24 -0
  196. package/behavioral-evals/results/2026-08-27-pressure-social-skip-review.json +20 -0
  197. package/behavioral-evals/results/2026-08-27-pressure-sunk-cost-retry.json +24 -0
  198. package/behavioral-evals/results/2026-08-27-scope-discipline.json +16 -0
  199. package/behavioral-evals/results/2026-08-27-tier1-no-overplan.json +20 -0
  200. package/behavioral-evals/results/2026-08-27-verify-before-done.json +20 -0
  201. package/behavioral-evals/results/2026-08-31-baseline-add-feature.json +20 -0
  202. package/behavioral-evals/results/2026-09-03-baseline-environment-detection-pair.json +133 -0
  203. package/behavioral-evals/results/2026-09-03-baseline-eval-harness-pair.json +141 -0
  204. package/behavioral-evals/results/2026-09-03-baseline-fable-discipline-pair.json +149 -0
  205. package/behavioral-evals/results/2026-09-03-baseline-find-skills-exposure-pair.json +141 -0
  206. package/behavioral-evals/results/2026-09-03-baseline-find-skills-pair.json +141 -0
  207. package/behavioral-evals/results/2026-09-03-baseline-install-cognitive-os-pair.json +133 -0
  208. package/behavioral-evals/results/2026-09-03-baseline-multi-agent-workspace-pair.json +141 -0
  209. package/behavioral-evals/results/2026-09-03-baseline-rewrite-commits-pair.json +95 -0
  210. package/behavioral-evals/results/2026-09-03-baseline-self-evolve-pair.json +141 -0
  211. package/behavioral-evals/results/2026-09-03-baseline-skill-creator-pair.json +141 -0
  212. package/behavioral-evals/results/2026-09-03-baseline-skill-style-pair.json +133 -0
  213. package/behavioral-evals/results/2026-09-03-baseline-to-spec-pair.json +133 -0
  214. package/behavioral-evals/results/2026-09-03-baseline-to-tickets-pair.json +141 -0
  215. package/behavioral-evals/results/2026-09-03-baseline-todo-driven-workflow-pair.json +141 -0
  216. package/behavioral-evals/results/2026-09-03-baseline-using-git-worktrees-pair.json +133 -0
  217. package/behavioral-evals/results/2026-09-03-summary-both.json +41 -0
  218. package/behavioral-evals/results/2026-09-04-baseline-find-skills-pair.json +141 -0
  219. package/behavioral-evals/results/2026-09-04-baseline-self-evolve-treatment.json +80 -0
  220. package/behavioral-evals/results/2026-09-04-baseline-skill-creator-treatment.json +80 -0
  221. package/behavioral-evals/results/2026-09-04-summary-both.json +41 -0
  222. package/behavioral-evals/results/run-20260827-115509.log +287 -0
  223. package/behavioral-evals/run-with-plugin.js +300 -0
  224. package/behavioral-evals/run.js +928 -0
  225. package/behavioral-evals/transcript-parser.js +591 -0
  226. package/benchmarks/README.md +63 -0
  227. package/benchmarks/ab-test-2026-08-26/results.json +55 -0
  228. package/benchmarks/results/logs/.gitkeep +0 -0
  229. package/benchmarks/results/logs/test-a-harness.md +31 -0
  230. package/benchmarks/results/logs/test-a-vanilla.md +28 -0
  231. package/benchmarks/results/logs/test-b-micro-loop-harness.md +48 -0
  232. package/benchmarks/results/logs/test-b-micro-loop-vanilla.md +36 -0
  233. package/benchmarks/results/logs/test-c-attention-loss-harness.md +40 -0
  234. package/benchmarks/results/logs/test-c-attention-loss-vanilla.md +63 -0
  235. package/benchmarks/results/logs/test-d-knowledge-boundary-harness.md +24 -0
  236. package/benchmarks/results/logs/test-d-knowledge-boundary-vanilla.md +29 -0
  237. package/benchmarks/results/logs/test-e-shell-awareness-harness.md +20 -0
  238. package/benchmarks/results/logs/test-e-shell-awareness-vanilla.md +20 -0
  239. package/benchmarks/results/logs/test-f-fact-audit-harness.md +16 -0
  240. package/benchmarks/results/logs/test-f-fact-audit-vanilla.md +16 -0
  241. package/benchmarks/results/results.json +158 -0
  242. package/benchmarks/run.js +220 -0
  243. package/benchmarks/schema.json +44 -0
  244. package/bin/cli.js +164 -97
  245. package/ci/ab-test-cases/grill-me-adversarial.yaml +28 -0
  246. package/ci/ab-test-cases/tdd-test-first.yaml +30 -0
  247. package/ci/ab-test-cases/verification-loop-gates.yaml +38 -0
  248. package/ci/ab-test-cases/verify-before-claim-cites.yaml +19 -0
  249. package/ci/ab-test-harness.js +485 -0
  250. package/ci/action-gate-platform-doc.test.js +31 -0
  251. package/ci/action-gate.test.js +260 -0
  252. package/{eval-framework → ci}/cases/case1.json +5 -5
  253. package/ci/cases/case10-small-feature.json +5 -0
  254. package/ci/cases/case11-readme-typo-update.json +5 -0
  255. package/ci/cases/case12-chinese-macro-audit.json +5 -0
  256. package/ci/cases/case2.json +5 -0
  257. package/{eval-framework → ci}/cases/case3.json +5 -5
  258. package/{eval-framework → ci}/cases/case4-zh-tier2.json +5 -5
  259. package/{eval-framework → ci}/cases/case5-zh-tier3.json +5 -5
  260. package/ci/cases/case6-macro-skill-audit.json +5 -0
  261. package/ci/cases/case7-macro-reference-audit.json +5 -0
  262. package/ci/cases/case8-controlled-ab-benchmark.json +5 -0
  263. package/ci/cases/case9-four-issue-audit.json +5 -0
  264. package/ci/consistency-check.js +393 -0
  265. package/ci/description-collision.js +118 -0
  266. package/ci/disclosure-check.js +225 -0
  267. package/ci/doc-capability-consistency.test.js +180 -0
  268. package/ci/fable-mode-test.js +120 -0
  269. package/ci/fixtures/agency-agents/divisions.json +6 -0
  270. package/ci/fixtures/agency-agents/engineering/code-reviewer.md +11 -0
  271. package/ci/fixtures/agency-agents/testing/reality-checker.md +11 -0
  272. package/ci/fixtures/bad-frontmatter-colon/SKILL.md +16 -0
  273. package/ci/fixtures/duplicate-description/skill-a/SKILL.md +16 -0
  274. package/ci/fixtures/duplicate-description/skill-b/SKILL.md +16 -0
  275. package/ci/fixtures/phase4/parallel-disjoint.stages.json +32 -0
  276. package/ci/fixtures/phase4/parallel-read-only.stages.json +32 -0
  277. package/ci/installer-roundtrip.test.js +159 -0
  278. package/ci/invariant-routing.test.js +74 -0
  279. package/ci/issue99-runtime.test.js +218 -0
  280. package/ci/mechanism-2a-rule-of-3.test.js +46 -0
  281. package/ci/mechanism-2aa-codex-action-gate-policy.test.js +117 -0
  282. package/ci/mechanism-2ab-openai-plugin-sync-integrity.test.js +80 -0
  283. package/ci/mechanism-2b-boundary-guard.test.js +16 -0
  284. package/ci/mechanism-2c-state-persist.test.js +29 -0
  285. package/ci/mechanism-2d-fact-audit.test.js +18 -0
  286. package/ci/mechanism-2e-scope-guard.test.js +24 -0
  287. package/ci/mechanism-2f-stop-gate.test.js +23 -0
  288. package/ci/mechanism-2g-platform-ignore.test.js +88 -0
  289. package/ci/mechanism-2h-installer-manifest.test.js +147 -0
  290. package/ci/mechanism-2i-crlf-frontmatter.test.js +145 -0
  291. package/ci/mechanism-2i-install-verification.test.js +34 -0
  292. package/ci/mechanism-2j-behavioral-runner.test.js +62 -0
  293. package/ci/mechanism-2k-reference-check.test.js +75 -0
  294. package/ci/mechanism-2l-multi-agent-workspace.test.js +301 -0
  295. package/ci/mechanism-2m-self-repo-guard.test.js +65 -0
  296. package/ci/mechanism-2n-opencode-plugin.test.js +461 -0
  297. package/ci/mechanism-2o-state-home-isolation.test.js +183 -0
  298. package/ci/mechanism-2p-installer-links.test.js +183 -0
  299. package/ci/mechanism-2q-installer-global-shared-store.test.js +132 -0
  300. package/ci/mechanism-2r-uninstall-flags.test.js +148 -0
  301. package/ci/mechanism-2s-tdd-quality.test.js +203 -0
  302. package/ci/mechanism-2t-disclosure.test.js +90 -0
  303. package/ci/mechanism-2t-evidence-triage.test.js +200 -0
  304. package/ci/mechanism-2t-issue-20.test.js +75 -0
  305. package/ci/mechanism-2t-platform-skill-targets.test.js +164 -0
  306. package/ci/mechanism-2t-transcript-parser.test.js +179 -0
  307. package/ci/mechanism-2t-workspace-identity.test.js +200 -0
  308. package/ci/mechanism-2u-issue-42-regressions.test.js +239 -0
  309. package/ci/mechanism-2u-issue-44.test.js +35 -0
  310. package/ci/mechanism-2v-verifier-boundaries.test.js +138 -0
  311. package/ci/mechanism-2w-platform-compatibility.test.js +148 -0
  312. package/ci/mechanism-2x-release-automation.test.js +157 -0
  313. package/ci/mechanism-2x-release-commit-message.test.js +66 -0
  314. package/ci/mechanism-2y-release-tooling-compat.test.js +47 -0
  315. package/ci/mechanism-2z-claude-plugin-manifest.test.js +29 -0
  316. package/ci/mechanism-test.js +71 -0
  317. package/ci/mutation-check.js +53 -0
  318. package/ci/mutation-loader.js +57 -0
  319. package/ci/negative-controls.js +114 -0
  320. package/ci/openai-plugin-package.test.js +182 -0
  321. package/ci/openai-plugin-runtime.test.js +175 -0
  322. package/ci/openai-plugin-submission.test.js +101 -0
  323. package/ci/phase4-ensemble-memory.test.js +307 -0
  324. package/ci/reference-check.js +160 -0
  325. package/ci/release-consistency-check.js +146 -0
  326. package/ci/router-phase2-safety.test.js +81 -0
  327. package/ci/router-workflow-plan.test.js +264 -0
  328. package/ci/routing-check.js +91 -0
  329. package/{eval-framework → ci}/runner.js +57 -56
  330. package/ci/skill-routing-check.js +135 -0
  331. package/ci/test-behavioral-case-validation.js +62 -0
  332. package/ci/test-helper.js +114 -0
  333. package/ci/test-negative-controls.js +148 -0
  334. package/ci/workflow-plan-consumers-edge.test.js +72 -0
  335. package/ci/workflow-plan-consumers.test.js +276 -0
  336. package/commitlint.config.js +25 -0
  337. package/docker-verify.sh +266 -266
  338. package/docs/architecture.md +179 -95
  339. package/docs/audit.md +55 -0
  340. package/docs/codex-action-gate.md +90 -0
  341. package/docs/issue-20-rollup.md +47 -0
  342. package/docs/mechanism-first-skill-mesh.md +165 -0
  343. package/docs/openai-plugin.md +118 -0
  344. package/docs/philosophy.md +58 -45
  345. package/docs/platform-capabilities.md +73 -0
  346. package/docs/platform-compatibility.json +270 -0
  347. package/docs/reflection.md +63 -34
  348. package/docs/release-evidence.md +25 -0
  349. package/docs/routing.md +171 -45
  350. package/docs/security-audit.md +38 -0
  351. package/docs/troubleshooting.md +320 -0
  352. package/docs/verifier-boundaries.md +45 -0
  353. package/docs/workflows/environment-detection.md +10 -10
  354. package/docs/workflows/eval-harness.md +13 -6
  355. package/docs/workflows/fable-discipline.md +9 -9
  356. package/docs/workflows/fable-mode.md +85 -32
  357. package/docs/workflows/find-skills.md +76 -0
  358. package/docs/workflows/git-commit.md +18 -9
  359. package/docs/workflows/grill-me.md +11 -11
  360. package/docs/workflows/grill-with-docs.md +14 -7
  361. package/docs/workflows/harness-everything.md +95 -92
  362. package/docs/workflows/improve-codebase-architecture.md +15 -7
  363. package/docs/workflows/install-cognitive-os.md +60 -60
  364. package/docs/workflows/multi-agent-workspace.md +54 -0
  365. package/docs/workflows/repo-docs.md +12 -7
  366. package/docs/workflows/security-review.md +26 -7
  367. package/docs/workflows/self-evolve.md +53 -37
  368. package/docs/workflows/skill-creator.md +80 -75
  369. package/docs/workflows/skill-style.md +64 -64
  370. package/docs/workflows/tdd.md +78 -39
  371. package/docs/workflows/to-spec.md +83 -0
  372. package/docs/workflows/to-tickets.md +80 -0
  373. package/docs/workflows/todo-driven-workflow.md +67 -36
  374. package/docs/workflows/using-git-worktrees.md +12 -8
  375. package/docs/workflows/verification-loop.md +16 -14
  376. package/docs/workflows/verify-before-claim.md +12 -8
  377. package/docs/workflows/zoom-out.md +22 -10
  378. package/environment-detection/SKILL.md +25 -61
  379. package/environment-detection/references/shell-syntax-rules.md +76 -0
  380. package/environment-detection/scripts/preflight.js +103 -93
  381. package/eval-framework/fixtures/bad-frontmatter-colon/SKILL.md +14 -0
  382. package/eval-framework/fixtures/duplicate-desc-skill-a/SKILL.md +14 -0
  383. package/eval-framework/fixtures/duplicate-desc-skill-b/SKILL.md +14 -0
  384. package/eval-framework/fixtures/missing-delimiter/SKILL.md +13 -0
  385. package/eval-framework/fixtures/over-budget-skill/SKILL.md +36 -0
  386. package/eval-harness/SKILL.md +34 -51
  387. package/eval-harness/references/scoring-rubric.md +68 -0
  388. package/eval-harness/scripts/evaluate.js +79 -61
  389. package/evals/environment-detection/eval.yaml +26 -0
  390. package/evals/environment-detection/tasks/negative-trigger.yaml +16 -0
  391. package/evals/environment-detection/tasks/positive-trigger.yaml +15 -0
  392. package/evals/eval-harness/eval.yaml +26 -0
  393. package/evals/eval-harness/tasks/negative-trigger.yaml +16 -0
  394. package/evals/eval-harness/tasks/positive-trigger.yaml +15 -0
  395. package/evals/evaluation-reports.md +14 -0
  396. package/evals/fable-discipline/eval.yaml +26 -0
  397. package/evals/fable-discipline/tasks/negative-trigger.yaml +16 -0
  398. package/evals/fable-discipline/tasks/positive-trigger.yaml +15 -0
  399. package/evals/fable-mode/eval.yaml +26 -0
  400. package/evals/fable-mode/tasks/negative-tier2-no-model.yaml +18 -0
  401. package/evals/fable-mode/tasks/negative-trigger.yaml +16 -0
  402. package/evals/fable-mode/tasks/positive-haiku-mode.yaml +16 -0
  403. package/evals/fable-mode/tasks/positive-opus-mode.yaml +16 -0
  404. package/evals/fable-mode/tasks/positive-sonnet-mode.yaml +16 -0
  405. package/evals/fable-mode/tasks/positive-trigger.yaml +15 -0
  406. package/evals/find-skills/eval.yaml +26 -0
  407. package/evals/find-skills/tasks/negative-trigger.yaml +16 -0
  408. package/evals/find-skills/tasks/positive-trigger.yaml +15 -0
  409. package/evals/git-commit/eval.yaml +26 -0
  410. package/evals/git-commit/tasks/negative-trigger.yaml +16 -0
  411. package/evals/git-commit/tasks/positive-trigger.yaml +15 -0
  412. package/evals/grill-me/eval.yaml +26 -0
  413. package/evals/grill-me/tasks/negative-trigger.yaml +16 -0
  414. package/evals/grill-me/tasks/positive-trigger.yaml +15 -0
  415. package/evals/grill-with-docs/eval.yaml +26 -0
  416. package/evals/grill-with-docs/tasks/negative-trigger.yaml +16 -0
  417. package/evals/grill-with-docs/tasks/positive-trigger.yaml +15 -0
  418. package/evals/harness-everything/eval.yaml +26 -0
  419. package/evals/harness-everything/tasks/negative-non-software.yaml +16 -0
  420. package/evals/harness-everything/tasks/negative-skill-indicated.yaml +15 -0
  421. package/evals/harness-everything/tasks/positive-tier1.yaml +16 -0
  422. package/evals/harness-everything/tasks/positive-tier2.yaml +16 -0
  423. package/evals/harness-everything/tasks/positive-tier3.yaml +16 -0
  424. package/evals/improve-codebase-architecture/eval.yaml +26 -0
  425. package/evals/improve-codebase-architecture/tasks/negative-trigger.yaml +16 -0
  426. package/evals/improve-codebase-architecture/tasks/positive-trigger.yaml +15 -0
  427. package/evals/install-cognitive-os/eval.yaml +26 -0
  428. package/evals/install-cognitive-os/tasks/negative-trigger.yaml +16 -0
  429. package/evals/install-cognitive-os/tasks/positive-trigger.yaml +15 -0
  430. package/evals/multi-agent-workspace/eval.yaml +26 -0
  431. package/evals/multi-agent-workspace/tasks/negative-trigger.yaml +15 -0
  432. package/evals/multi-agent-workspace/tasks/positive-trigger.yaml +15 -0
  433. package/evals/repo-docs/eval.yaml +26 -0
  434. package/evals/repo-docs/tasks/negative-trigger.yaml +16 -0
  435. package/evals/repo-docs/tasks/positive-trigger.yaml +15 -0
  436. package/evals/rewrite-commits/eval.yaml +26 -0
  437. package/evals/rewrite-commits/tasks/negative-trigger.yaml +16 -0
  438. package/evals/rewrite-commits/tasks/positive-trigger.yaml +15 -0
  439. package/evals/security-review/eval.yaml +26 -0
  440. package/evals/security-review/tasks/negative-trigger.yaml +16 -0
  441. package/evals/security-review/tasks/positive-trigger.yaml +15 -0
  442. package/evals/self-evolve/eval.yaml +26 -0
  443. package/evals/self-evolve/tasks/negative-trigger.yaml +16 -0
  444. package/evals/self-evolve/tasks/positive-trigger.yaml +15 -0
  445. package/evals/skill-creator/eval.yaml +26 -0
  446. package/evals/skill-creator/tasks/negative-trigger.yaml +16 -0
  447. package/evals/skill-creator/tasks/positive-trigger.yaml +15 -0
  448. package/evals/skill-style/eval.yaml +26 -0
  449. package/evals/skill-style/tasks/negative-trigger.yaml +16 -0
  450. package/evals/skill-style/tasks/positive-trigger.yaml +15 -0
  451. package/evals/tdd/eval.yaml +26 -0
  452. package/evals/tdd/tasks/negative-trivia.yaml +16 -0
  453. package/evals/tdd/tasks/positive-bugfix.yaml +15 -0
  454. package/evals/tdd/tasks/positive-feature.yaml +16 -0
  455. package/evals/tdd/tasks/positive-refactor.yaml +15 -0
  456. package/evals/to-spec/eval.yaml +26 -0
  457. package/evals/to-spec/tasks/negative-trigger.yaml +16 -0
  458. package/evals/to-spec/tasks/positive-trigger.yaml +15 -0
  459. package/evals/to-tickets/eval.yaml +26 -0
  460. package/evals/to-tickets/tasks/negative-trigger.yaml +15 -0
  461. package/evals/to-tickets/tasks/positive-trigger.yaml +15 -0
  462. package/evals/todo-driven-workflow/eval.yaml +26 -0
  463. package/evals/todo-driven-workflow/tasks/negative-single-edit.yaml +16 -0
  464. package/evals/todo-driven-workflow/tasks/positive-multi-step.yaml +15 -0
  465. package/evals/todo-driven-workflow/tasks/positive-refactor-flow.yaml +15 -0
  466. package/evals/using-git-worktrees/eval.yaml +26 -0
  467. package/evals/using-git-worktrees/tasks/negative-trigger.yaml +15 -0
  468. package/evals/using-git-worktrees/tasks/positive-trigger.yaml +15 -0
  469. package/evals/verification-loop/eval.yaml +26 -0
  470. package/evals/verification-loop/tasks/negative-discussion.yaml +16 -0
  471. package/evals/verification-loop/tasks/positive-pre-ship.yaml +15 -0
  472. package/evals/verify-before-claim/eval.yaml +26 -0
  473. package/evals/verify-before-claim/tasks/negative-trigger.yaml +16 -0
  474. package/evals/verify-before-claim/tasks/positive-trigger.yaml +15 -0
  475. package/evals/zoom-out/eval.yaml +26 -0
  476. package/evals/zoom-out/tasks/negative-trivial-edit.yaml +16 -0
  477. package/evals/zoom-out/tasks/positive-repeated-failure.yaml +15 -0
  478. package/fable-discipline/SKILL.md +31 -28
  479. package/fable-discipline/references/discipline-rules.md +22 -0
  480. package/fable-mode/CONTRACT-FORMAT.md +165 -51
  481. package/fable-mode/SKILL.md +31 -43
  482. package/fable-mode/agents/fable-orchestrator.md +159 -92
  483. package/fable-mode/agents/fable-verifier.md +32 -32
  484. package/fable-mode/agents/fable-worker-haiku.md +52 -48
  485. package/fable-mode/agents/fable-worker-sonnet.md +53 -49
  486. package/fable-mode/execution-guardrails/SKILL.md +43 -87
  487. package/fable-mode/execution-guardrails/references/guardrail-rules.md +56 -0
  488. package/fable-mode/fable-haiku/SKILL.md +36 -48
  489. package/fable-mode/fable-haiku/references/routing-notes.md +26 -0
  490. package/fable-mode/fable-opus/SKILL.md +36 -0
  491. package/fable-mode/fable-sonnet/SKILL.md +36 -0
  492. package/fable-mode/model-matrix.json +32 -0
  493. package/fable-mode/references/execution-phases.md +37 -0
  494. package/fable-mode/references/model-matrix.md +39 -0
  495. package/fable-mode/scripts/ensemble-review.js +371 -0
  496. package/fable-mode/scripts/model-selector.js +260 -0
  497. package/fable-mode/scripts/workflow-plan-consumer.js +337 -0
  498. package/find-skills/SKILL.md +48 -0
  499. package/find-skills/references/discovery-flow.md +102 -0
  500. package/find-skills/scripts/use-skill.js +112 -0
  501. package/git-commit/SKILL.md +28 -45
  502. package/git-commit/guides/ANGULAR_STYLE.md +60 -60
  503. package/git-commit/guides/COMMIT_GENERATION.md +23 -23
  504. package/git-commit/guides/LANGUAGE_DETECTION.md +16 -16
  505. package/git-commit/guides/MAIN_REPO.md +14 -14
  506. package/git-commit/guides/SUBMODULES.md +27 -27
  507. package/git-commit/references/commit-flow.md +30 -0
  508. package/grill-me/SKILL.md +34 -27
  509. package/grill-me/references/grilling-playbook.md +38 -0
  510. package/grill-with-docs/ADR-FORMAT.md +47 -47
  511. package/grill-with-docs/CONTEXT-FORMAT.md +63 -63
  512. package/grill-with-docs/SKILL.md +33 -91
  513. package/grill-with-docs/references/session-playbook.md +99 -0
  514. package/harness-everything/SKILL.md +27 -125
  515. package/harness-everything/examples/README.md +9 -9
  516. package/harness-everything/examples/todo-workflow.md +22 -22
  517. package/harness-everything/references/router-workflow-plan.md +128 -0
  518. package/harness-everything/references/skill-registry.md +39 -0
  519. package/harness-everything/references/triage-and-tiers.md +193 -0
  520. package/harness-everything/schemas/router-task-shape.schema.json +126 -0
  521. package/harness-everything/schemas/router-workflow-plan.schema.json +149 -0
  522. package/harness-everything/scripts/bootstrap.js +212 -140
  523. package/harness-everything/scripts/ensemble-policy.js +102 -0
  524. package/harness-everything/scripts/kernel-router.js +212 -0
  525. package/harness-everything/scripts/router-contract.js +612 -0
  526. package/harness-everything/scripts/routing-keywords.json +320 -0
  527. package/harness-everything/scripts/self-heal.js +250 -189
  528. package/harness-everything/scripts/tier-router.js +459 -219
  529. package/harness-everything/scripts/verify-gate.js +100 -31
  530. package/hooks/hooks.json +200 -155
  531. package/hooks/scripts/action-gate-rules.json +77 -0
  532. package/hooks/scripts/action-gate.js +528 -0
  533. package/hooks/scripts/atomic-commit-check.js +68 -68
  534. package/hooks/scripts/boundary-guard.js +55 -55
  535. package/hooks/scripts/codex-action-gate-post.js +46 -0
  536. package/hooks/scripts/codex-permission-request.js +140 -0
  537. package/hooks/scripts/context-compact.js +115 -114
  538. package/hooks/scripts/contract-test.js +146 -79
  539. package/hooks/scripts/depth-guard.js +65 -65
  540. package/hooks/scripts/lib/fable-contracts.js +121 -0
  541. package/hooks/scripts/lib/harness-state.js +275 -228
  542. package/hooks/scripts/lib/platforms/claude.js +97 -61
  543. package/hooks/scripts/lib/platforms/codex.js +42 -50
  544. package/hooks/scripts/lib/platforms/continue.js +30 -12
  545. package/hooks/scripts/lib/platforms/copilot.js +36 -42
  546. package/hooks/scripts/lib/platforms/cursor.js +23 -5
  547. package/hooks/scripts/lib/platforms/hermes.js +108 -57
  548. package/hooks/scripts/lib/platforms/index.js +17 -17
  549. package/hooks/scripts/lib/platforms/worktrees.js +20 -20
  550. package/hooks/scripts/openai-session-start.js +81 -0
  551. package/hooks/scripts/reset-circuit-breaker.js +30 -30
  552. package/hooks/scripts/rule-of-3-tracker.js +125 -91
  553. package/hooks/scripts/rule-of-3.js +195 -176
  554. package/hooks/scripts/state-persist.js +100 -99
  555. package/hooks/scripts/stop-gate.js +80 -80
  556. package/hooks/scripts/subagent-scope-guard.js +194 -88
  557. package/hooks/scripts/subagent-start.js +19 -0
  558. package/hooks/scripts/subagent-stop.js +6 -0
  559. package/improve-codebase-architecture/SKILL.md +29 -35
  560. package/improve-codebase-architecture/guides/DEEPENING.md +37 -37
  561. package/improve-codebase-architecture/guides/HTML-REPORT.md +123 -123
  562. package/improve-codebase-architecture/guides/INTERFACE-DESIGN.md +44 -44
  563. package/improve-codebase-architecture/guides/LANGUAGE.md +53 -53
  564. package/improve-codebase-architecture/guides/refactoring-workflow.md +59 -0
  565. package/improve-codebase-architecture/references/README.md +16 -0
  566. package/install-cognitive-os/SKILL.md +30 -81
  567. package/install-cognitive-os/references/cognitive-loop.md +27 -0
  568. package/multi-agent-workspace/NOTICE-agency-agents.md +27 -0
  569. package/multi-agent-workspace/SKILL.md +38 -0
  570. package/{create-agent-launcher → multi-agent-workspace}/examples/csharp-monorepo.md +123 -123
  571. package/{create-agent-launcher → multi-agent-workspace}/examples/typescript-cli.md +126 -126
  572. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-claude.md +77 -77
  573. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-codex.md +146 -146
  574. package/multi-agent-workspace/guidelines/platform-continue.md +38 -0
  575. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-copilot.md +74 -74
  576. package/multi-agent-workspace/guidelines/platform-cursor.md +40 -0
  577. package/multi-agent-workspace/guidelines/platform-hermes.md +38 -0
  578. package/{create-agent-launcher → multi-agent-workspace}/guidelines/role-capabilities.md +108 -108
  579. package/multi-agent-workspace/references/agency-agents.md +31 -0
  580. package/multi-agent-workspace/references/architecture-guide.md +36 -0
  581. package/multi-agent-workspace/references/orchestration.md +65 -0
  582. package/multi-agent-workspace/scripts/agency-catalog.js +190 -0
  583. package/multi-agent-workspace/scripts/consume-workflow-plan.js +129 -0
  584. package/multi-agent-workspace/scripts/index_memory.js +104 -0
  585. package/multi-agent-workspace/scripts/path-boundary.js +59 -0
  586. package/multi-agent-workspace/scripts/project-docs-resolver.js +357 -0
  587. package/multi-agent-workspace/scripts/scaffold.js +408 -0
  588. package/multi-agent-workspace/templates/AGENTS.md +20 -0
  589. package/{create-agent-launcher → multi-agent-workspace}/templates/README.md +17 -17
  590. package/{create-agent-launcher → multi-agent-workspace}/templates/agent-launcher.md +67 -67
  591. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-csharp.md +55 -55
  592. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-polyglot.md +61 -61
  593. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-ts.md +56 -56
  594. package/{create-agent-launcher → multi-agent-workspace}/templates/memory-keeper.md +36 -36
  595. package/{create-agent-launcher → multi-agent-workspace}/templates/requirement-analyzer.md +65 -65
  596. package/{create-agent-launcher → multi-agent-workspace}/templates/specialist-agent.md +34 -34
  597. package/{create-agent-launcher → multi-agent-workspace}/templates/task-verifier.md +55 -55
  598. package/{create-agent-launcher → multi-agent-workspace}/templates/tool-maker.md +32 -32
  599. package/multi-agent-workspace/workflows/01-init.md +22 -0
  600. package/multi-agent-workspace/workflows/02-analysis.md +23 -0
  601. package/multi-agent-workspace/workflows/03-generation.md +25 -0
  602. package/multi-agent-workspace/workflows/04-launcher.md +16 -0
  603. package/opencode-plugin/README.md +137 -0
  604. package/opencode-plugin/hooks/verify.js +190 -0
  605. package/opencode-plugin/index.mjs +547 -0
  606. package/opencode-plugin/plugin.json +9 -0
  607. package/package.json +63 -22
  608. package/plugins/harness-everything/.codex-plugin/plugin.json +39 -0
  609. package/plugins/harness-everything/hooks/hooks.json +197 -0
  610. package/plugins/harness-everything/hooks/scripts/action-gate-rules.json +77 -0
  611. package/plugins/harness-everything/hooks/scripts/action-gate.js +528 -0
  612. package/plugins/harness-everything/hooks/scripts/atomic-commit-check.js +68 -0
  613. package/plugins/harness-everything/hooks/scripts/boundary-guard.js +55 -0
  614. package/plugins/harness-everything/hooks/scripts/codex-action-gate-post.js +46 -0
  615. package/plugins/harness-everything/hooks/scripts/codex-permission-request.js +140 -0
  616. package/plugins/harness-everything/hooks/scripts/context-compact.js +115 -0
  617. package/plugins/harness-everything/hooks/scripts/contract-test.js +146 -0
  618. package/plugins/harness-everything/hooks/scripts/depth-guard.js +65 -0
  619. package/plugins/harness-everything/hooks/scripts/lib/fable-contracts.js +121 -0
  620. package/plugins/harness-everything/hooks/scripts/lib/harness-state.js +275 -0
  621. package/plugins/harness-everything/hooks/scripts/lib/platforms/claude.js +168 -0
  622. package/plugins/harness-everything/hooks/scripts/lib/platforms/codex.js +88 -0
  623. package/plugins/harness-everything/hooks/scripts/lib/platforms/continue.js +91 -0
  624. package/plugins/harness-everything/hooks/scripts/lib/platforms/copilot.js +85 -0
  625. package/plugins/harness-everything/hooks/scripts/lib/platforms/cursor.js +89 -0
  626. package/plugins/harness-everything/hooks/scripts/lib/platforms/hermes.js +108 -0
  627. package/plugins/harness-everything/hooks/scripts/lib/platforms/index.js +17 -0
  628. package/plugins/harness-everything/hooks/scripts/lib/platforms/worktrees.js +20 -0
  629. package/plugins/harness-everything/hooks/scripts/lib/workspace.js +290 -0
  630. package/plugins/harness-everything/hooks/scripts/openai-session-start.js +81 -0
  631. package/plugins/harness-everything/hooks/scripts/reset-circuit-breaker.js +30 -0
  632. package/plugins/harness-everything/hooks/scripts/rule-of-3-tracker.js +125 -0
  633. package/plugins/harness-everything/hooks/scripts/rule-of-3.js +195 -0
  634. package/plugins/harness-everything/hooks/scripts/state-persist.js +100 -0
  635. package/plugins/harness-everything/hooks/scripts/stop-gate.js +80 -0
  636. package/plugins/harness-everything/hooks/scripts/subagent-scope-guard.js +194 -0
  637. package/plugins/harness-everything/hooks/scripts/subagent-start.js +19 -0
  638. package/plugins/harness-everything/hooks/scripts/subagent-stop.js +6 -0
  639. package/plugins/harness-everything/hooks/session-start.js +81 -0
  640. package/plugins/harness-everything/plugin.json +43 -0
  641. package/plugins/harness-everything/scripts/lib/advisory-text.js +174 -0
  642. package/plugins/harness-everything/skills/environment-detection/SKILL.md +41 -0
  643. package/plugins/harness-everything/skills/environment-detection/references/shell-syntax-rules.md +76 -0
  644. package/plugins/harness-everything/skills/environment-detection/scripts/preflight.js +103 -0
  645. package/plugins/harness-everything/skills/eval-harness/SKILL.md +42 -0
  646. package/plugins/harness-everything/skills/eval-harness/references/scoring-rubric.md +68 -0
  647. package/plugins/harness-everything/skills/eval-harness/scripts/evaluate.js +79 -0
  648. package/plugins/harness-everything/skills/fable-discipline/SKILL.md +41 -0
  649. package/plugins/harness-everything/skills/fable-discipline/references/discipline-rules.md +22 -0
  650. package/plugins/harness-everything/skills/fable-mode/CONTRACT-FORMAT.md +165 -0
  651. package/plugins/harness-everything/skills/fable-mode/SKILL.md +39 -0
  652. package/plugins/harness-everything/skills/fable-mode/agents/fable-orchestrator.md +159 -0
  653. package/plugins/harness-everything/skills/fable-mode/agents/fable-verifier.md +32 -0
  654. package/plugins/harness-everything/skills/fable-mode/agents/fable-worker-haiku.md +52 -0
  655. package/plugins/harness-everything/skills/fable-mode/agents/fable-worker-sonnet.md +53 -0
  656. package/plugins/harness-everything/skills/fable-mode/execution-guardrails/SKILL.md +43 -0
  657. package/plugins/harness-everything/skills/fable-mode/execution-guardrails/references/guardrail-rules.md +56 -0
  658. package/plugins/harness-everything/skills/fable-mode/fable-haiku/SKILL.md +36 -0
  659. package/plugins/harness-everything/skills/fable-mode/fable-haiku/references/routing-notes.md +26 -0
  660. package/plugins/harness-everything/skills/fable-mode/fable-opus/SKILL.md +36 -0
  661. package/plugins/harness-everything/skills/fable-mode/fable-sonnet/SKILL.md +36 -0
  662. package/plugins/harness-everything/skills/fable-mode/model-matrix.json +32 -0
  663. package/plugins/harness-everything/skills/fable-mode/references/execution-phases.md +37 -0
  664. package/plugins/harness-everything/skills/fable-mode/references/model-matrix.md +39 -0
  665. package/plugins/harness-everything/skills/fable-mode/scripts/ensemble-review.js +371 -0
  666. package/plugins/harness-everything/skills/fable-mode/scripts/model-selector.js +260 -0
  667. package/plugins/harness-everything/skills/fable-mode/scripts/workflow-plan-consumer.js +337 -0
  668. package/plugins/harness-everything/skills/find-skills/SKILL.md +48 -0
  669. package/plugins/harness-everything/skills/find-skills/references/discovery-flow.md +102 -0
  670. package/plugins/harness-everything/skills/find-skills/scripts/use-skill.js +112 -0
  671. package/plugins/harness-everything/skills/git-commit/SKILL.md +38 -0
  672. package/plugins/harness-everything/skills/git-commit/guides/ANGULAR_STYLE.md +61 -0
  673. package/plugins/harness-everything/skills/git-commit/guides/COMMIT_GENERATION.md +24 -0
  674. package/plugins/harness-everything/skills/git-commit/guides/LANGUAGE_DETECTION.md +16 -0
  675. package/plugins/harness-everything/skills/git-commit/guides/MAIN_REPO.md +15 -0
  676. package/plugins/harness-everything/skills/git-commit/guides/SUBMODULES.md +27 -0
  677. package/plugins/harness-everything/skills/git-commit/references/commit-flow.md +30 -0
  678. package/plugins/harness-everything/skills/grill-me/SKILL.md +43 -0
  679. package/plugins/harness-everything/skills/grill-me/references/grilling-playbook.md +38 -0
  680. package/plugins/harness-everything/skills/grill-with-docs/ADR-FORMAT.md +47 -0
  681. package/plugins/harness-everything/skills/grill-with-docs/CONTEXT-FORMAT.md +63 -0
  682. package/plugins/harness-everything/skills/grill-with-docs/SKILL.md +41 -0
  683. package/plugins/harness-everything/skills/grill-with-docs/references/session-playbook.md +99 -0
  684. package/plugins/harness-everything/skills/harness-everything/SKILL.md +43 -0
  685. package/plugins/harness-everything/skills/harness-everything/examples/README.md +9 -0
  686. package/plugins/harness-everything/skills/harness-everything/examples/todo-workflow.md +22 -0
  687. package/plugins/harness-everything/skills/harness-everything/references/router-workflow-plan.md +128 -0
  688. package/plugins/harness-everything/skills/harness-everything/references/skill-registry.md +39 -0
  689. package/plugins/harness-everything/skills/harness-everything/references/triage-and-tiers.md +193 -0
  690. package/plugins/harness-everything/skills/harness-everything/schemas/router-task-shape.schema.json +126 -0
  691. package/plugins/harness-everything/skills/harness-everything/schemas/router-workflow-plan.schema.json +149 -0
  692. package/plugins/harness-everything/skills/harness-everything/scripts/bootstrap.js +212 -0
  693. package/plugins/harness-everything/skills/harness-everything/scripts/ensemble-policy.js +102 -0
  694. package/plugins/harness-everything/skills/harness-everything/scripts/kernel-router.js +212 -0
  695. package/plugins/harness-everything/skills/harness-everything/scripts/router-contract.js +612 -0
  696. package/plugins/harness-everything/skills/harness-everything/scripts/routing-keywords.json +320 -0
  697. package/plugins/harness-everything/skills/harness-everything/scripts/self-heal.js +250 -0
  698. package/plugins/harness-everything/skills/harness-everything/scripts/tier-router.js +459 -0
  699. package/plugins/harness-everything/skills/harness-everything/scripts/verify-gate.js +100 -0
  700. package/plugins/harness-everything/skills/improve-codebase-architecture/SKILL.md +38 -0
  701. package/plugins/harness-everything/skills/improve-codebase-architecture/guides/DEEPENING.md +37 -0
  702. package/plugins/harness-everything/skills/improve-codebase-architecture/guides/HTML-REPORT.md +123 -0
  703. package/plugins/harness-everything/skills/improve-codebase-architecture/guides/INTERFACE-DESIGN.md +44 -0
  704. package/plugins/harness-everything/skills/improve-codebase-architecture/guides/LANGUAGE.md +53 -0
  705. package/plugins/harness-everything/skills/improve-codebase-architecture/guides/refactoring-workflow.md +59 -0
  706. package/plugins/harness-everything/skills/improve-codebase-architecture/references/README.md +16 -0
  707. package/plugins/harness-everything/skills/install-cognitive-os/SKILL.md +44 -0
  708. package/plugins/harness-everything/skills/install-cognitive-os/references/cognitive-loop.md +27 -0
  709. package/plugins/harness-everything/skills/multi-agent-workspace/NOTICE-agency-agents.md +27 -0
  710. package/plugins/harness-everything/skills/multi-agent-workspace/SKILL.md +38 -0
  711. package/plugins/harness-everything/skills/multi-agent-workspace/examples/csharp-monorepo.md +123 -0
  712. package/plugins/harness-everything/skills/multi-agent-workspace/examples/typescript-cli.md +126 -0
  713. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-claude.md +77 -0
  714. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-codex.md +146 -0
  715. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-continue.md +38 -0
  716. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-copilot.md +74 -0
  717. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-cursor.md +40 -0
  718. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-hermes.md +38 -0
  719. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/role-capabilities.md +108 -0
  720. package/plugins/harness-everything/skills/multi-agent-workspace/references/agency-agents.md +31 -0
  721. package/plugins/harness-everything/skills/multi-agent-workspace/references/architecture-guide.md +36 -0
  722. package/plugins/harness-everything/skills/multi-agent-workspace/references/orchestration.md +65 -0
  723. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/agency-catalog.js +190 -0
  724. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/consume-workflow-plan.js +129 -0
  725. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/index_memory.js +104 -0
  726. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/path-boundary.js +59 -0
  727. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/project-docs-resolver.js +357 -0
  728. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/scaffold.js +408 -0
  729. package/plugins/harness-everything/skills/multi-agent-workspace/templates/AGENTS.md +20 -0
  730. package/plugins/harness-everything/skills/multi-agent-workspace/templates/README.md +17 -0
  731. package/plugins/harness-everything/skills/multi-agent-workspace/templates/agent-launcher.md +68 -0
  732. package/plugins/harness-everything/skills/multi-agent-workspace/templates/backend-developer-csharp.md +56 -0
  733. package/plugins/harness-everything/skills/multi-agent-workspace/templates/backend-developer-polyglot.md +62 -0
  734. package/plugins/harness-everything/skills/multi-agent-workspace/templates/backend-developer-ts.md +57 -0
  735. package/plugins/harness-everything/skills/multi-agent-workspace/templates/memory-keeper.md +37 -0
  736. package/plugins/harness-everything/skills/multi-agent-workspace/templates/requirement-analyzer.md +66 -0
  737. package/plugins/harness-everything/skills/multi-agent-workspace/templates/specialist-agent.md +34 -0
  738. package/plugins/harness-everything/skills/multi-agent-workspace/templates/task-verifier.md +56 -0
  739. package/plugins/harness-everything/skills/multi-agent-workspace/templates/tool-maker.md +33 -0
  740. package/plugins/harness-everything/skills/multi-agent-workspace/workflows/01-init.md +22 -0
  741. package/plugins/harness-everything/skills/multi-agent-workspace/workflows/02-analysis.md +23 -0
  742. package/plugins/harness-everything/skills/multi-agent-workspace/workflows/03-generation.md +25 -0
  743. package/plugins/harness-everything/skills/multi-agent-workspace/workflows/04-launcher.md +16 -0
  744. package/plugins/harness-everything/skills/repo-docs/SKILL.md +42 -0
  745. package/plugins/harness-everything/skills/repo-docs/references/process-guide.md +60 -0
  746. package/plugins/harness-everything/skills/repo-docs/templates/agents-template.md +264 -0
  747. package/plugins/harness-everything/skills/repo-docs/templates/knowledge-agents-template.md +50 -0
  748. package/plugins/harness-everything/skills/repo-docs/templates/knowledge-readme-template.md +83 -0
  749. package/plugins/harness-everything/skills/repo-docs/templates/manual-recon.md +117 -0
  750. package/plugins/harness-everything/skills/repo-docs/templates/multi-skills-readme-template.md +72 -0
  751. package/plugins/harness-everything/skills/repo-docs/templates/product-agents-template.md +78 -0
  752. package/plugins/harness-everything/skills/repo-docs/templates/product-readme-template.md +95 -0
  753. package/plugins/harness-everything/skills/repo-docs/templates/readme-template.md +136 -0
  754. package/plugins/harness-everything/skills/repo-docs/templates/single-skill-readme-template.md +70 -0
  755. package/plugins/harness-everything/skills/repo-docs/templates/skills-agents-template.md +60 -0
  756. package/plugins/harness-everything/skills/rewrite-commits/SKILL.md +37 -0
  757. package/plugins/harness-everything/skills/rewrite-commits/references/workflow.md +18 -0
  758. package/plugins/harness-everything/skills/security-review/SKILL.md +47 -0
  759. package/plugins/harness-everything/skills/security-review/guides/OWASP-PATTERNS.md +31 -0
  760. package/plugins/harness-everything/skills/security-review/guides/STRIDE-THREAT-MODEL.md +21 -0
  761. package/plugins/harness-everything/skills/security-review/references/security-checklist.md +478 -0
  762. package/plugins/harness-everything/skills/security-review/scripts/audit-secrets.js +85 -0
  763. package/plugins/harness-everything/skills/self-evolve/SKILL.md +45 -0
  764. package/plugins/harness-everything/skills/self-evolve/references/memory-resolution.md +61 -0
  765. package/plugins/harness-everything/skills/self-evolve/scripts/persist-memory.js +272 -0
  766. package/plugins/harness-everything/skills/self-evolve/scripts/register-dynamic-skill.js +253 -0
  767. package/plugins/harness-everything/skills/self-evolve/scripts/self-regression.js +125 -0
  768. package/plugins/harness-everything/skills/skill-creator/SKILL.md +47 -0
  769. package/plugins/harness-everything/skills/skill-creator/references/authoring-workflow.md +14 -0
  770. package/plugins/harness-everything/skills/skill-creator/references/dynamic-generation-contract.md +21 -0
  771. package/plugins/harness-everything/skills/skill-creator/references/quality-checklist.md +16 -0
  772. package/plugins/harness-everything/skills/skill-creator/references/quality-principles.md +81 -0
  773. package/plugins/harness-everything/skills/skill-creator/references/testing-workflow.md +27 -0
  774. package/plugins/harness-everything/skills/skill-style/SKILL.md +42 -0
  775. package/plugins/harness-everything/skills/skill-style/references/style-guide.md +62 -0
  776. package/plugins/harness-everything/skills/tdd/SKILL.md +38 -0
  777. package/plugins/harness-everything/skills/tdd/fixtures/pass-evidence.json +100 -0
  778. package/plugins/harness-everything/skills/tdd/fixtures/quality-scenarios.json +20 -0
  779. package/plugins/harness-everything/skills/tdd/guides/deep-modules.md +33 -0
  780. package/plugins/harness-everything/skills/tdd/guides/interface-design.md +31 -0
  781. package/plugins/harness-everything/skills/tdd/guides/mocking.md +59 -0
  782. package/plugins/harness-everything/skills/tdd/guides/refactoring.md +10 -0
  783. package/plugins/harness-everything/skills/tdd/guides/tests.md +61 -0
  784. package/plugins/harness-everything/skills/tdd/references/core-discipline.md +51 -0
  785. package/plugins/harness-everything/skills/tdd/references/integration-testing.md +13 -0
  786. package/plugins/harness-everything/skills/tdd/references/quality-model.md +68 -0
  787. package/plugins/harness-everything/skills/tdd/references/unit-testing.md +15 -0
  788. package/plugins/harness-everything/skills/tdd/schemas/quality-evidence.schema.json +211 -0
  789. package/plugins/harness-everything/skills/tdd/schemas/quality-report.schema.json +110 -0
  790. package/plugins/harness-everything/skills/tdd/scripts/quality-gate.js +475 -0
  791. package/plugins/harness-everything/skills/to-spec/SKILL.md +40 -0
  792. package/plugins/harness-everything/skills/to-spec/references/process.md +77 -0
  793. package/plugins/harness-everything/skills/to-spec/scripts/check-project-docs.js +239 -0
  794. package/plugins/harness-everything/skills/to-spec/scripts/project-docs-resolver.js +111 -0
  795. package/plugins/harness-everything/skills/to-spec/templates/cli-reference.md +31 -0
  796. package/plugins/harness-everything/skills/to-spec/templates/dev-doc.md +27 -0
  797. package/plugins/harness-everything/skills/to-spec/templates/feature-spec.md +59 -0
  798. package/plugins/harness-everything/skills/to-spec/templates/schema-doc.md +31 -0
  799. package/plugins/harness-everything/skills/to-tickets/SKILL.md +42 -0
  800. package/plugins/harness-everything/skills/to-tickets/references/publishing-and-templates.md +97 -0
  801. package/plugins/harness-everything/skills/todo-driven-workflow/SKILL.md +42 -0
  802. package/plugins/harness-everything/skills/todo-driven-workflow/references/execution-guide.md +27 -0
  803. package/plugins/harness-everything/skills/using-git-worktrees/SKILL.md +49 -0
  804. package/plugins/harness-everything/skills/using-git-worktrees/references/workflow-details.md +108 -0
  805. package/plugins/harness-everything/skills/verification-loop/SKILL.md +46 -0
  806. package/plugins/harness-everything/skills/verification-loop/references/verification-phases.md +116 -0
  807. package/plugins/harness-everything/skills/verification-loop/templates/verification-report.template.md +15 -0
  808. package/plugins/harness-everything/skills/verify-before-claim/SKILL.md +43 -0
  809. package/plugins/harness-everything/skills/verify-before-claim/references/verification-guide.md +73 -0
  810. package/plugins/harness-everything/skills/zoom-out/SKILL.md +42 -0
  811. package/plugins/harness-everything/skills/zoom-out/references/circuit-breaker.md +66 -0
  812. package/plugins/harness-everything/skills/zoom-out/templates/zoom-out-report.template.md +20 -0
  813. package/references/definition-of-done.md +67 -0
  814. package/references/performance-checklist.md +153 -0
  815. package/references/platform-advisory-template.md +58 -0
  816. package/references/security-checklist.md +205 -0
  817. package/repo-docs/SKILL.md +34 -37
  818. package/repo-docs/references/process-guide.md +60 -0
  819. package/repo-docs/templates/agents-template.md +264 -264
  820. package/repo-docs/templates/knowledge-agents-template.md +50 -50
  821. package/repo-docs/templates/knowledge-readme-template.md +83 -83
  822. package/repo-docs/templates/manual-recon.md +117 -117
  823. package/repo-docs/templates/multi-skills-readme-template.md +72 -72
  824. package/repo-docs/templates/product-agents-template.md +78 -78
  825. package/repo-docs/templates/product-readme-template.md +95 -95
  826. package/repo-docs/templates/readme-template.md +136 -136
  827. package/repo-docs/templates/single-skill-readme-template.md +70 -70
  828. package/repo-docs/templates/skills-agents-template.md +60 -60
  829. package/rewrite-commits/SKILL.md +22 -17
  830. package/rewrite-commits/references/workflow.md +18 -0
  831. package/scripts/build-openai-submission.js +158 -0
  832. package/scripts/installer.js +621 -506
  833. package/scripts/lib/advisory-text.js +33 -22
  834. package/scripts/lib/claude-hooks.js +18 -5
  835. package/scripts/lib/execution-contract.js +70 -0
  836. package/scripts/lib/gitignore.js +199 -80
  837. package/scripts/lib/manifest.js +83 -23
  838. package/scripts/lib/path-boundary.js +90 -0
  839. package/scripts/lib/prompts.js +1 -1
  840. package/scripts/lib/skills.js +191 -51
  841. package/scripts/lib/workspace.js +269 -7
  842. package/scripts/sync-openai-plugin.js +91 -0
  843. package/scripts/sync-release-version.js +212 -0
  844. package/scripts/verify-install.js +147 -0
  845. package/security-review/SKILL.md +33 -497
  846. package/security-review/guides/OWASP-PATTERNS.md +31 -0
  847. package/security-review/guides/STRIDE-THREAT-MODEL.md +21 -0
  848. package/security-review/references/security-checklist.md +478 -0
  849. package/security-review/scripts/audit-secrets.js +85 -0
  850. package/self-evolve/SKILL.md +36 -45
  851. package/self-evolve/references/memory-resolution.md +61 -0
  852. package/self-evolve/scripts/persist-memory.js +272 -40
  853. package/self-evolve/scripts/register-dynamic-skill.js +253 -0
  854. package/self-evolve/scripts/self-regression.js +125 -113
  855. package/skill-creator/SKILL.md +33 -77
  856. package/skill-creator/references/authoring-workflow.md +14 -0
  857. package/skill-creator/references/dynamic-generation-contract.md +21 -0
  858. package/skill-creator/references/quality-checklist.md +16 -0
  859. package/skill-creator/references/quality-principles.md +81 -81
  860. package/skill-creator/references/testing-workflow.md +27 -32
  861. package/skill-style/SKILL.md +33 -39
  862. package/skill-style/references/style-guide.md +62 -0
  863. package/submission/openai/README.md +67 -0
  864. package/submission/openai/listing.json +31 -0
  865. package/submission/openai/test-cases.json +61 -0
  866. package/tdd/SKILL.md +30 -45
  867. package/tdd/fixtures/pass-evidence.json +100 -0
  868. package/tdd/fixtures/quality-scenarios.json +20 -0
  869. package/tdd/guides/deep-modules.md +33 -33
  870. package/tdd/guides/interface-design.md +31 -31
  871. package/tdd/guides/mocking.md +59 -59
  872. package/tdd/guides/refactoring.md +10 -10
  873. package/tdd/guides/tests.md +61 -61
  874. package/tdd/references/core-discipline.md +51 -0
  875. package/tdd/references/integration-testing.md +13 -0
  876. package/tdd/references/quality-model.md +68 -0
  877. package/tdd/references/unit-testing.md +15 -0
  878. package/tdd/schemas/quality-evidence.schema.json +211 -0
  879. package/tdd/schemas/quality-report.schema.json +110 -0
  880. package/tdd/scripts/quality-gate.js +475 -0
  881. package/to-spec/SKILL.md +40 -0
  882. package/to-spec/references/process.md +77 -0
  883. package/to-spec/scripts/check-project-docs.js +239 -0
  884. package/to-spec/scripts/project-docs-resolver.js +111 -0
  885. package/to-spec/templates/cli-reference.md +31 -0
  886. package/to-spec/templates/dev-doc.md +27 -0
  887. package/to-spec/templates/feature-spec.md +59 -0
  888. package/to-spec/templates/schema-doc.md +31 -0
  889. package/to-tickets/SKILL.md +42 -0
  890. package/to-tickets/references/publishing-and-templates.md +97 -0
  891. package/todo-driven-workflow/SKILL.md +28 -40
  892. package/todo-driven-workflow/references/execution-guide.md +27 -0
  893. package/using-git-worktrees/SKILL.md +29 -141
  894. package/using-git-worktrees/references/workflow-details.md +108 -0
  895. package/verification-loop/SKILL.md +29 -121
  896. package/verification-loop/references/verification-phases.md +116 -0
  897. package/verification-loop/templates/verification-report.template.md +15 -0
  898. package/verify-before-claim/SKILL.md +27 -70
  899. package/verify-before-claim/references/verification-guide.md +73 -0
  900. package/zoom-out/SKILL.md +28 -76
  901. package/zoom-out/references/circuit-breaker.md +66 -0
  902. package/zoom-out/templates/zoom-out-report.template.md +20 -0
  903. package/build-multi-agent-system/AGENTS.md +0 -50
  904. package/build-multi-agent-system/README.md +0 -63
  905. package/build-multi-agent-system/SKILL.md +0 -68
  906. package/create-agent-launcher/SKILL.md +0 -48
  907. package/create-agent-launcher/guidelines/platform-gemini.md +0 -101
  908. package/create-agent-launcher/workflows/01-init.md +0 -22
  909. package/create-agent-launcher/workflows/02-analysis.md +0 -26
  910. package/create-agent-launcher/workflows/03-generation.md +0 -29
  911. package/create-agent-launcher/workflows/04-launcher.md +0 -20
  912. package/docs/workflows/build-multi-agent-system.md +0 -62
  913. package/docs/workflows/create-agent-launcher.md +0 -62
  914. package/eval-framework/behavioral-test.js +0 -105
  915. package/eval-framework/cases/case2.json +0 -5
  916. package/eval-framework/mechanism-test.js +0 -251
  917. package/harness-everything/scripts/todo-cli.js +0 -157
  918. package/skill-style/STYLE.md +0 -37
@@ -0,0 +1,14 @@
1
+ # Authoring Workflow Detail
2
+
3
+ Keep the Contract table as the source of truth for input, output, state, and
4
+ the enforcement gate. Use short ordered steps for actions and move branch-only
5
+ detail into references or guides.
6
+
7
+ Before registering a skill, check the Harness registry for overlap, define one
8
+ human-readable frontmatter description, run realistic with/without tests using
9
+ `multi-agent-workspace`, and complete the Quality Checklist. Static skills
10
+ belong in the root catalog and need a routing eval; dynamic skills use the
11
+ generated manifest flow from `self-evolve`.
12
+
13
+ The canonical multi-agent entrypoint is `multi-agent-workspace`; it owns
14
+ bounded delegation and workspace isolation.
@@ -0,0 +1,21 @@
1
+ # Dynamic Skill Generation Contract (for self-evolve)
2
+
3
+ ## 4. Dynamic Skill Generation Contract (for `self-evolve`)
4
+
5
+ `self-evolve`'s Step 3 optionally packages a hard-won session insight into a new, standalone skill. This process **MUST** only occur if the LLM has judged that the lesson warrants an independent, complex structural skill rather than a simple memory rule:
6
+
7
+ - **The Judgment Criterion**: Simple constraints or localized tips **MUST** only be written to `memories/repo/RULES.md`. Only highly generalizable, multi-step procedures or custom enforcement contracts (e.g. transaction pooling patterns) should be packaged as a dynamic skill.
8
+ - **Location**: `.claude/harness-everything/skills/generated/<kebab-case-name>/SKILL.md` — not the repo root. `.claude/harness-everything/skills` is already a scope the installer recognizes (`scripts/lib/skills.js`'s `getInstalledSkills`), which keeps dynamically-generated skills discoverable without mixing them into the reviewed, static skill set at the repo root. `generated/` is deliberately excluded from the installer's manifest-tracked, bulk-removable skill set — these are the user's own accumulated learning, not package content, so "uninstall skills" must never sweep them.
9
+ - **Required frontmatter**, in addition to `name`/`description`:
10
+ ```yaml
11
+ triggers: [<3-6 specific keywords a real prompt would contain, EN and/or 中文 — not generic words like "error" or "using">]
12
+ metadata:
13
+ type: dynamic
14
+ generated: <YYYY-MM-DD>
15
+ source: <one-line pointer to the session/root-cause that produced it, e.g. "zoom-out recovery, 2026-07-22, ORM connection-pool exhaustion">
16
+ status: draft
17
+ ```
18
+ `triggers` is what `tier-router.js` matches against to auto-surface this skill in future sessions — pick words specific enough to the actual problem domain (e.g. `connection-pool`, `transaction-batching`), not words generic enough to fire on unrelated prompts. Omitting this field falls back to `register-dynamic-skill.js`'s naive keyword inference from the name/description, which is intentionally conservative and a worse signal than a deliberate list — don't rely on it.
19
+ - **Gate**: run the Quality Checklist (§3) before the skill file is written. A dynamic skill skips human PR review by design, so this checklist is the only review it gets — don't skip it because the insight "feels obviously right" in the moment; that's exactly the state self-evolve is triggered from.
20
+ - **Lifecycle**: `status: draft` at birth. Promote to `status: active` once it fires successfully in a *different* task than the one that produced it — a skill that has only proven itself on the bug that spawned it hasn't proven generality yet. If a dynamic skill goes unused or stops matching reality, mark `status: deprecated` rather than deleting it silently — deleting is fine once something else supersedes it, but a silent disappearance is harder to debug later than a stale-but-labeled file.
21
+ - **Promotion to static**: once a dynamic skill has proven itself general — used successfully across genuinely unrelated tasks, not repeated instances of the same bug — promote it: move it to the repo root, drop the `metadata.type: dynamic` block, and register it in `harness-everything/SKILL.md` §5 like any other skill. At that point it's subject to the same review/PR discipline as everything else here.
@@ -0,0 +1,16 @@
1
+ # Quality Checklist (the actual gate)
2
+
3
+ ## 3. Quality Checklist (the actual gate)
4
+
5
+ A skill isn't done until every line here is true. This is deliberately a flat checklist, not steps — check them in any order, but check all of them.
6
+
7
+ - [ ] **Skill Contract table present and accurate** — all four rows; Enforcement Gate names a real script/exit-code or an explicit "None" if the skill is pure reference.
8
+ - [ ] **`## USE FOR:` and `## DO NOT USE FOR:` sections present**, each a flat bullet list starting on its own line (`^## USE FOR:` / `^## DO NOT USE FOR:`). Required by `<skills-repo-root>/ci/consistency-check.js` (`npm run test:consistency`) — missing either fails the repo's own consistency gate, not just this checklist.
9
+ - [ ] **Single source of truth**: the frontmatter `description` is the *only* place this skill's purpose is originally written. The registry row and any `tier-router.js` line quote or tightly paraphrase it — they don't independently re-describe the skill.
10
+ - [ ] **No block over ~5 lines duplicated verbatim elsewhere** — in this file or in another always/near-always-loaded skill. (`install-cognitive-os` vs. `harness-everything`'s 33-line ADHD-output block, flagged in the audit report, is the canonical counter-example — don't add a second one.)
11
+ - [ ] **Every `MUST`/`MUST NOT`/`PROHIBITED` has a real gate behind it**, or is rewritten as a positive statement of the target behavior. A prohibition with no gate and no "why" sentence next to it is a smell, not a strength.
12
+ - [ ] **No no-op lines** — for each imperative sentence, ask whether it changes behavior versus what the model already does by default. ("Be thorough" reads as a no-op; a concrete completion criterion or a stronger leading word doesn't.)
13
+ - [ ] **Body fits the information hierarchy** — steps for ordered action, flat reference for rules, detail past what every branch needs pushed to `guides/`/`references/` with a "when to open this" pointer.
14
+ - [ ] **Reuses existing leading words** (`Tier 1/2/3`, `circuit breaker`/`zoom out`, `Rule of 3`, `Red/Green/Refactor`, `Discover > Think > Try > Summarize > Record`) instead of naming a new concept for something this repo already has a word for.
15
+ - [ ] **Completion criteria are checkable** — tied to an exit code, a file's existence, a grep result, or explicit human confirmation, not "when it feels done."
16
+ - [ ] **Description reads as a human-facing sentence**, not just a trigger-phrase list — `scripts/installer.js`'s interactive picker prints it next to a checkbox for a person deciding whether to install this skill; that's its real first reader in this architecture (audit report §2.1).
@@ -1,81 +1,81 @@
1
- # Quality Principles — condensed from `writing-great-skills` and Anthropic's `skill-creator`
2
-
3
- Read this when `skill-creator/SKILL.md`'s Quality Checklist flags something and you need the reasoning behind the check, not just the checkbox. Each term below is condensed from the two source skills and paired with a Harness-specific example — good or bad — found during the 2026-07-22 audit.
4
-
5
- ## Contents
6
- - [The root idea: Predictability](#the-root-idea-predictability)
7
- - [Information hierarchy](#information-hierarchy)
8
- - [Pruning](#pruning)
9
- - [Leading words](#leading-words)
10
- - [Negation](#negation)
11
- - [Invocation, adapted for Harness's router](#invocation-adapted-for-harnesss-router)
12
- - [Anthropic `skill-creator`'s anatomy conventions](#anthropic-skill-creators-anatomy-conventions)
13
-
14
- ## The root idea: Predictability
15
-
16
- A skill exists to make the agent take the same *process* on every run — not the same output. A skill that should diverge (brainstorming, `grill-me`'s interrogation) is still predictable if it reliably takes the same *kind* of path every time. Every other term here is a lever on this one thing. Harness reaches for the same goal through a different lever — a physical Enforcement Gate instead of a cognitive one — see `skill-creator/SKILL.md` §1 for how the two combine.
17
-
18
- ## Information hierarchy
19
-
20
- Content in a skill ranks by how immediately the agent needs it:
21
-
22
- 1. **Steps** — ordered actions in the SKILL.md body. Each ends on a completion criterion. Harness's Skill Contract table makes this criterion unusually concrete by default (an exit code, a file write) — keep that when you write new steps; don't downgrade a checkable criterion to a vague one for the sake of shorter prose.
23
- 2. **In-file reference** — rules, tables, decision lists consulted on demand. A skill can be *all* reference with no steps at all (`skill-style` itself, most review-shaped skills) — that's a legitimate shape, not a smell.
24
- 3. **Disclosed / external reference** — pushed into a linked file, reached by a pointer, loaded only when the pointer fires.
25
-
26
- **Good Harness example**: `git-commit/SKILL.md` keeps the core Angular-style rules inline and pushes submodule handling, language detection, and generation strategy into `git-commit/guides/*.md`, each named for what it holds. `tdd/SKILL.md` does the same with `tdd/guides/mocking.md`, `interface-design.md`, etc.
27
-
28
- **Bad Harness example**: `security-review/SKILL.md` is 508 lines — the longest in the repo — with no reference-file split. It wasn't re-read line-by-line for this audit, but its length alone is the sprawl smell described below; it's the next candidate if this skill's checklist gets applied broadly.
29
-
30
- A **context pointer**'s *wording* decides whether the agent actually opens the linked file — not just its existence. "See `guides/mocking.md` for more" is weak; "before writing any test double, read `guides/mocking.md`" is a pointer that actually fires. Every "Deep Reference Guides" section in this repo should name *when*, not just *what*.
31
-
32
- ## Pruning
33
-
34
- Four related failure modes, roughly in order of how much they cost:
35
-
36
- - **Duplication** — the same meaning stated in more than one place. Costs tokens on every load, and drifts over time because nobody remembers to edit both copies. The audit report's §1.1 (33 lines shared verbatim between `install-cognitive-os` and `harness-everything`) and §1.2 (one skill's description independently rewritten in four places, two of which already disagree) are the two worst confirmed cases in this repo. **Test**: could you point to exactly one place that defines this, and would editing only that place actually change the behavior everywhere it matters?
37
- - **Sediment** — stale content nobody removes because adding feels safe and removing feels risky. `docs/workflows/skill-style.md`'s three Mermaid diagrams (audit §1.4) are a mild case: not wrong, just three restatements of one flow that accreted instead of being consolidated.
38
- - **Sprawl** — a skill simply too long, even if every line is live and unique. The cure is always the information hierarchy above: push reference behind a pointer, split by branch.
39
- - **No-op** — an instruction the model already follows by default, so you pay tokens to say nothing. Test it against the actual default, not against how important the rule feels: "MUST operate using the cognitive loop" repeated inside a sub-skill when `install-cognitive-os` already declares itself always-loaded (audit §2.3) is a borderline example — not egregious, but a candidate to cut the next time that file is touched.
40
-
41
- ## Leading words
42
-
43
- A leading word is a compact, already-understood concept the model can think *with*, repeated as a token (not re-explained as a sentence) everywhere it applies. This repo already has strong ones — don't invent synonyms for them:
44
-
45
- | Leading word | What it compresses |
46
- |---|---|
47
- | `Tier 1 / 2 / 3` | Task-complexity routing and the whole action-strategy that follows from each |
48
- | `circuit breaker` / `zoom out` | The entire reflect-before-retry protocol in `zoom-out/SKILL.md` |
49
- | `Rule of 3` | "three failed attempts on the same signature ⇒ stop and reflect" |
50
- | `Red / Green / Refactor` | The TDD cycle and which actions are legal in each phase |
51
- | `Discover > Think > Try > Summarize > Record` | The base cognitive loop every tier and skill runs inside |
52
-
53
- When a new skill needs to say "stop and reflect on repeated failure," write `trigger zoom-out`, not a fresh paragraph re-explaining the reflection protocol. That's the whole payoff of a leading word: one anchored phrase instead of a restated idea.
54
-
55
- ## Negation
56
-
57
- A prohibition drags the forbidden behavior into the model's attention rather than out of it — "don't think of an elephant" makes the elephant the only thing present. This repo uses `MUST NOT`/`PROHIBITED` heavily and by design (`skill-style` mandates it), so the actual lever available isn't "stop using negation" — it's **reserve it for gates that are real**, and pair the rest with the positive target:
58
-
59
- - **Does this well**: `zoom-out/SKILL.md`'s "ABSOLUTELY PROHIBITED from proposing any new code modification" is immediately followed by *why* ("that sentence is the tunnel talking") and by what to do instead (Phase 2's read-only fact-checking). The prohibition isn't left to stand alone.
60
- - **Could do better**: `environment-detection/SKILL.md`'s "Red Flags & Common Errors" section restates, as a list of ❌ prohibitions, rules the same file already gave positively one section earlier (which shell uses which syntax). The information isn't wrong, it's just said twice in two moods.
61
-
62
- If you're about to write `MUST NOT X`, check: is there a script or state mutation that actually enforces this, or human cost if violated (data loss, a broken build, a security gap)? If yes, keep the imperative — that's this repo's real strength, don't soften it. If no, try stating what *good* looks like instead and see if the `MUST NOT` was even carrying information.
63
-
64
- ## Invocation, adapted for Harness's router
65
-
66
- The original framework's "model-invoked vs. user-invoked" split assumes a native skill system where an agent autonomously reads `description` fields and decides what to fire. That's not how this repo's skills are actually reached — confirmed by reading `scripts/installer.js` and `harness-everything/scripts/tier-router.js` directly rather than assuming:
67
-
68
- - `harness-everything/SKILL.md` §5's Skill Registry table is a hand-maintained index — functionally Harness's own version of the framework's **router skill** pattern (a single place a human, or `tier-router.js` on their behalf, can look up "what exists and when to reach for it").
69
- - `tier-router.js` prints keyword-triggered recommendations from its own hardcoded strings — a second, independent "what does this skill do" list that must be kept in sync with the registry and the frontmatter by hand (this is where the drift in audit §1.2 came from).
70
- - `scripts/installer.js`'s interactive CLI picker is the one place that *does* read frontmatter `description` directly and shows it to a live reader — a **human**, choosing checkboxes at install time. That makes the real invocation axis in this repo closer to "does a human need to understand this in one line while skimming a checklist" than "will an autonomous model decide to fire this."
71
-
72
- Practical upshot: write `description` as a plain, scannable sentence for that installer screen. Trigger-condition phrasing ("Use when...") isn't wrong, but it's optimizing for a reader (an autonomous picker) that doesn't exist in this deployment yet. If this repo's skills are ever installed as native Claude Skills (`.claude/skills/`) rather than the current `.claude/harness-everything/skills` / hook-advisory model, this section should be revisited — the trigger-phrasing advice becomes directly relevant again at that point.
73
-
74
- ## Anthropic `skill-creator`'s anatomy conventions
75
-
76
- Kept because they don't conflict with anything above — they're just concrete, useful defaults:
77
-
78
- - Bundled resources split by purpose: `scripts/` for things that execute deterministically, `references/` for things loaded into context on demand (this file is one), `guides/`/`templates/` (Harness's existing naming) for the same idea.
79
- - A reference file past ~300 lines gets a table of contents (this file has one).
80
- - Domain-organized skills (a skill that supports several distinct variants) split by variant, one file per variant, so only the relevant one loads — `repo-docs/templates/*.md` already does this for different README/AGENTS.md archetypes.
81
- - Draft first, then re-read with fresh eyes and cut. Don't try to write the pruned version on the first pass.
1
+ # Quality Principles — condensed from `writing-great-skills` and Anthropic's `skill-creator`
2
+
3
+ Read this when `skill-creator/SKILL.md`'s Quality Checklist flags something and you need the reasoning behind the check, not just the checkbox. Each term below is condensed from the two source skills and paired with a Harness-specific example — good or bad — found during the 2026-07-22 audit.
4
+
5
+ ## Contents
6
+ - [The root idea: Predictability](#the-root-idea-predictability)
7
+ - [Information hierarchy](#information-hierarchy)
8
+ - [Pruning](#pruning)
9
+ - [Leading words](#leading-words)
10
+ - [Negation](#negation)
11
+ - [Invocation, adapted for Harness's router](#invocation-adapted-for-harnesss-router)
12
+ - [Anthropic `skill-creator`'s anatomy conventions](#anthropic-skill-creators-anatomy-conventions)
13
+
14
+ ## The root idea: Predictability
15
+
16
+ A skill exists to make the agent take the same *process* on every run — not the same output. A skill that should diverge (brainstorming, `grill-me`'s interrogation) is still predictable if it reliably takes the same *kind* of path every time. Every other term here is a lever on this one thing. Harness reaches for the same goal through a different lever — a physical Enforcement Gate instead of a cognitive one — see `skill-creator/SKILL.md` §1 for how the two combine.
17
+
18
+ ## Information hierarchy
19
+
20
+ Content in a skill ranks by how immediately the agent needs it:
21
+
22
+ 1. **Steps** — ordered actions in the SKILL.md body. Each ends on a completion criterion. Harness's Skill Contract table makes this criterion unusually concrete by default (an exit code, a file write) — keep that when you write new steps; don't downgrade a checkable criterion to a vague one for the sake of shorter prose.
23
+ 2. **In-file reference** — rules, tables, decision lists consulted on demand. A skill can be *all* reference with no steps at all (`skill-style` itself, most review-shaped skills) — that's a legitimate shape, not a smell.
24
+ 3. **Disclosed / external reference** — pushed into a linked file, reached by a pointer, loaded only when the pointer fires.
25
+
26
+ **Good Harness example**: `git-commit/SKILL.md` keeps the core Angular-style rules inline and pushes submodule handling, language detection, and generation strategy into `git-commit/guides/*.md`, each named for what it holds. `tdd/SKILL.md` does the same with `tdd/guides/mocking.md`, `interface-design.md`, etc.
27
+
28
+ **Bad Harness example**: `security-review/SKILL.md` is 508 lines — the longest in the repo — with no reference-file split. It wasn't re-read line-by-line for this audit, but its length alone is the sprawl smell described below; it's the next candidate if this skill's checklist gets applied broadly.
29
+
30
+ A **context pointer**'s *wording* decides whether the agent actually opens the linked file — not just its existence. "See `guides/mocking.md` for more" is weak; "before writing any test double, read `guides/mocking.md`" is a pointer that actually fires. Every "Deep Reference Guides" section in this repo should name *when*, not just *what*.
31
+
32
+ ## Pruning
33
+
34
+ Four related failure modes, roughly in order of how much they cost:
35
+
36
+ - **Duplication** — the same meaning stated in more than one place. Costs tokens on every load, and drifts over time because nobody remembers to edit both copies. The audit report's §1.1 (33 lines shared verbatim between `install-cognitive-os` and `harness-everything`) and §1.2 (one skill's description independently rewritten in four places, two of which already disagree) are the two worst confirmed cases in this repo. **Test**: could you point to exactly one place that defines this, and would editing only that place actually change the behavior everywhere it matters?
37
+ - **Sediment** — stale content nobody removes because adding feels safe and removing feels risky. `docs/workflows/skill-style.md`'s three Mermaid diagrams (audit §1.4) are a mild case: not wrong, just three restatements of one flow that accreted instead of being consolidated.
38
+ - **Sprawl** — a skill simply too long, even if every line is live and unique. The cure is always the information hierarchy above: push reference behind a pointer, split by branch.
39
+ - **No-op** — an instruction the model already follows by default, so you pay tokens to say nothing. Test it against the actual default, not against how important the rule feels: "MUST operate using the cognitive loop" repeated inside a sub-skill when `install-cognitive-os` already declares itself always-loaded (audit §2.3) is a borderline example — not egregious, but a candidate to cut the next time that file is touched.
40
+
41
+ ## Leading words
42
+
43
+ A leading word is a compact, already-understood concept the model can think *with*, repeated as a token (not re-explained as a sentence) everywhere it applies. This repo already has strong ones — don't invent synonyms for them:
44
+
45
+ | Leading word | What it compresses |
46
+ |---|---|
47
+ | `Tier 1 / 2 / 3` | Task-complexity routing and the whole action-strategy that follows from each |
48
+ | `circuit breaker` / `zoom out` | The entire reflect-before-retry protocol in `zoom-out/SKILL.md` |
49
+ | `Rule of 3` | "three failed attempts on the same signature ⇒ stop and reflect" |
50
+ | `Red / Green / Refactor` | The TDD cycle and which actions are legal in each phase |
51
+ | `Discover > Think > Try > Summarize > Record` | The base cognitive loop every tier and skill runs inside |
52
+
53
+ When a new skill needs to say "stop and reflect on repeated failure," write `trigger zoom-out`, not a fresh paragraph re-explaining the reflection protocol. That's the whole payoff of a leading word: one anchored phrase instead of a restated idea.
54
+
55
+ ## Negation
56
+
57
+ A prohibition drags the forbidden behavior into the model's attention rather than out of it — "don't think of an elephant" makes the elephant the only thing present. This repo uses `MUST NOT`/`PROHIBITED` heavily and by design (`skill-style` mandates it), so the actual lever available isn't "stop using negation" — it's **reserve it for gates that are real**, and pair the rest with the positive target:
58
+
59
+ - **Does this well**: `zoom-out/SKILL.md`'s "ABSOLUTELY PROHIBITED from proposing any new code modification" is immediately followed by *why* ("that sentence is the tunnel talking") and by what to do instead (Phase 2's read-only fact-checking). The prohibition isn't left to stand alone.
60
+ - **Could do better**: `environment-detection/SKILL.md`'s "Red Flags & Common Errors" section restates, as a list of ❌ prohibitions, rules the same file already gave positively one section earlier (which shell uses which syntax). The information isn't wrong, it's just said twice in two moods.
61
+
62
+ If you're about to write `MUST NOT X`, check: is there a script or state mutation that actually enforces this, or human cost if violated (data loss, a broken build, a security gap)? If yes, keep the imperative — that's this repo's real strength, don't soften it. If no, try stating what *good* looks like instead and see if the `MUST NOT` was even carrying information.
63
+
64
+ ## Invocation, adapted for Harness's router
65
+
66
+ The original framework's "model-invoked vs. user-invoked" split assumes a native skill system where an agent autonomously reads `description` fields and decides what to fire. That's not how this repo's skills are actually reached — confirmed by reading `scripts/installer.js` and `harness-everything/scripts/tier-router.js` directly rather than assuming:
67
+
68
+ - `harness-everything/SKILL.md` §5's Skill Registry table is a hand-maintained index — functionally Harness's own version of the framework's **router skill** pattern (a single place a human, or `tier-router.js` on their behalf, can look up "what exists and when to reach for it").
69
+ - `tier-router.js` prints keyword-triggered recommendations from its own hardcoded strings — a second, independent "what does this skill do" list that must be kept in sync with the registry and the frontmatter by hand (this is where the drift in audit §1.2 came from).
70
+ - `scripts/installer.js`'s interactive CLI picker is the one place that *does* read frontmatter `description` directly and shows it to a live reader — a **human**, choosing checkboxes at install time. That makes the real invocation axis in this repo closer to "does a human need to understand this in one line while skimming a checklist" than "will an autonomous model decide to fire this."
71
+
72
+ Practical upshot: write `description` as a plain, scannable sentence for that installer screen. Trigger-condition phrasing ("Use when...") isn't wrong, but it's optimizing for a reader (an autonomous picker) that doesn't exist in this deployment yet. If this repo's skills are ever installed as native Claude Skills (`.claude/skills/`) rather than the current `.claude/harness-everything/skills` / hook-advisory model, this section should be revisited — the trigger-phrasing advice becomes directly relevant again at that point.
73
+
74
+ ## Anthropic `skill-creator`'s anatomy conventions
75
+
76
+ Kept because they don't conflict with anything above — they're just concrete, useful defaults:
77
+
78
+ - Bundled resources split by purpose: `scripts/` for things that execute deterministically, `references/` for things loaded into context on demand (this file is one), `guides/`/`templates/` (Harness's existing naming) for the same idea.
79
+ - A reference file past ~300 lines gets a table of contents (this file has one).
80
+ - Domain-organized skills (a skill that supports several distinct variants) split by variant, one file per variant, so only the relevant one loads — `repo-docs/templates/*.md` already does this for different README/AGENTS.md archetypes.
81
+ - Draft first, then re-read with fresh eyes and cut. Don't try to write the pruned version on the first pass.
@@ -1,32 +1,27 @@
1
- # Testing Workflow — adapted from Anthropic's `skill-creator` eval loop
2
-
3
- Read this when `skill-creator/SKILL.md` §2 Step 3 says "test against real prompts" and you need the mechanics. Anthropic's `skill-creator` runs this through a Python eval-viewer with subagent grading and a `claude -p`-based description-optimization loop. Harness doesn't import that toolchain — it already has `create-agent-launcher` for resource-isolated subagent spawning, and its skill-routing is deterministic keyword matching rather than autonomous LLM judgment, so the equivalent checks are cheaper and don't need a second dependency.
4
-
5
- ## When to bother
6
-
7
- Not every skill needs this. A short, low-stakes reference skill (a rule table, a style guide) is fine to ship on a careful re-read. Run the full loop when:
8
- - The skill has real **Steps** the agent must execute in a specific order, especially ones with an Enforcement Gate — you want to see the gate actually fire on a bad run, not just assume it will.
9
- - The skill is going to be recommended automatically (registered in `harness-everything/SKILL.md` §5 and/or `tier-router.js`) rather than only invoked by name — automatic recommendation means it'll be loaded in situations you didn't personally test by hand.
10
- - You're refactoring an existing skill based on a specific complaint, and want to confirm the fix actually lands rather than just looking right on the page.
11
-
12
- ## With/without comparison via `create-agent-launcher`
13
-
14
- 1. Write 2-3 prompts a real user would actually type — concrete, with the kind of incidental detail real requests carry (a file path, a framework name, a half-finished thought). Anthropic's `skill-creator` has good guidance on this: avoid both sides being trivially obvious. A bad "should trigger" prompt is abstract ("test the skill"); a bad "should not trigger" prompt is unrelated to anything the skill touches. The useful test cases are near-misses in both directions.
15
- 2. Per `create-agent-launcher/SKILL.md` §2 (Persona Definition, Resource Isolation): spawn one subagent with the draft skill's file path given to it explicitly and instructed to follow it, and one baseline subagent given the same prompt with no mention of the skill.
16
- 3. Compare outputs side by side, but **read the transcripts, not just the final result** — a skill that produces a fine final answer while making the agent thrash through three dead-end tool calls first is still under-specifying something; the final output alone won't show you that.
17
- 4. Where the skill has a real Enforcement Gate, deliberately construct one test case that should trip it (e.g., for a skill gating on a failing test, hand it a prompt implying the test currently fails) and confirm the with-skill run actually stops/reflects instead of pushing through.
18
-
19
- ## Checking trigger phrasing against a deterministic router
20
-
21
- Anthropic's `skill-creator` has a whole optimization loop (`run_loop.py`) that runs a description against dozens of realistic queries through the actual model, because native Claude Skills decide to fire based on an LLM reading the description at run time. Harness's routing recommendation layer (`tier-router.js`) is **not** an LLM judgment call — it's `promptLower.includes(keyword)` string matching against hardcoded arrays. That means you can check trigger coverage deterministically, without spawning a single subagent:
22
-
23
- 1. Write the same kind of realistic should-trigger / should-not-trigger prompt set described above (8-10 each is plenty for a new skill; fewer is fine for a small change).
24
- 2. For each should-trigger prompt, check by eye (or a one-line `node -e` snippet) whether it contains at least one keyword from the relevant array in `harness-everything/scripts/tier-router.js`. If a realistic phrasing doesn't hit any keyword, that's a real gap — add the missing term (bilingual, if this repo's convention applies — most keyword arrays here carry both English and Chinese terms side by side).
25
- 3. For each should-not-trigger prompt — especially near-misses that share vocabulary with the skill but need something else — confirm it does *not* spuriously match. A keyword that's too broad (a single common English word with no qualifying context) is the usual cause of a false positive; narrow it or require it alongside a second signal.
26
- 4. This check is cheap enough to re-run by hand every time a keyword array changes — there's no reason to skip it even for a one-line addition.
27
-
28
- This isn't a replacement for the with/without subagent comparison above — it only tells you whether the skill gets *recommended* at the right moments, not whether it's good once loaded. Both checks matter; they're checking different failure modes.
29
-
30
- ## Folding feedback back in
31
-
32
- If a human reviewer (or your own re-read) flags something in the output, resist the urge to patch the skill with a rule that only fixes that one test case. Ask what the *general* version of the complaint is first — the same discipline `skill-creator/SKILL.md` §3's Quality Checklist asks for: is this a genuinely missing rule, or does an existing rule already cover it and just needs a stronger leading word to actually land? Re-test after any change, including the baseline — a skill's environment (the rest of the repo, the router keywords around it) can shift under it between iterations.
1
+ # Testing Workflow
2
+
3
+ Read this when `skill-creator/SKILL.md` asks for realistic trigger tests or a
4
+ with/without comparison. Harness uses deterministic routing and the merged
5
+ `multi-agent-workspace` skill for bounded sub-agent spawning.
6
+
7
+ ## With/without comparison
8
+
9
+ 1. Write 2-3 realistic prompts with paths, framework names, and near-misses.
10
+ 2. Use `multi-agent-workspace` to spawn one sub-agent with the draft skill
11
+ loaded and one baseline with no mention of it.
12
+ 3. Read both transcripts, not only final answers; record thrashing and missed
13
+ gates as evidence.
14
+ 4. Construct one prompt that should trigger the skill's enforcement gate and
15
+ verify that the treatment reflects instead of pushing through.
16
+
17
+ ## Deterministic trigger check
18
+
19
+ Check realistic positive and negative prompts against the keyword table in
20
+ `harness-everything/scripts/routing-keywords.json`. A positive miss is a
21
+ routing gap; a negative hit usually means a keyword is too broad.
22
+
23
+ ## Completion
24
+
25
+ Keep the canonical frontmatter description identical in the positive eval's
26
+ `description:` field. Run the relevant `waza spec verify` and repository
27
+ consistency checks before registration.
@@ -1,48 +1,42 @@
1
1
  ---
2
2
  name: skill-style
3
- description: Guidelines for writing and refactoring skills in the Harness ecosystem.
4
- author: Miya Daniel | Harness Core Team
5
- version: 0.2.0
3
+ description: Apply Harness style guidelines when writing or refactoring SKILL.md files. Use when creating a new skill, reviewing skill structure, enforcing naming and frontmatter conventions, or standardizing tone, formatting, and progressive disclosure across the skill catalog.
4
+ license: Apache-2.0
5
+ metadata:
6
+ author: Miya Daniel
7
+ version: 0.4.0
6
8
  ---
7
9
 
8
- # Skill Style (Harness Ecosystem Skill Development Guidelines)
10
+ # Skill Style
9
11
 
10
- When you need to create a new Skill or refactor an existing one, strictly adhere to the writing style in this document to ensure all Skills seamlessly integrate into the `harness-everything` routing system and are mathematically enforced by scripts.
12
+ Apply the Harness writing standard when creating or refactoring `SKILL.md` files.
11
13
 
12
- ## 0. Triggers
13
- This skill should be loaded when:
14
- - Creating a new SKILL.md file.
15
- - Refactoring or reviewing an existing SKILL.md file.
16
-
17
- ## 1. Structured Definition
18
- Every Skill file (`SKILL.md`) MUST contain the following standard structure:
19
-
20
- 1. **Title & Introduction**: Clearly state the purpose of this Skill.
21
- 2. **📋 Skill Contract (CRITICAL)**: A strict Markdown table defining inputs, outputs, state mutations, and script gates. This replaces vague prose.
22
- 3. **Triggers / Usage**: Explicitly tell the system when this skill applies.
23
- 4. **Core Rules / Action List**: Specific, actionable commands tied to Terminal Scripts. Avoid vague suggestions.
24
-
25
- ### 📋 The Skill Contract Format
26
- Every SKILL.md MUST include this table exactly:
27
-
28
- ```markdown
29
- ## 📋 Skill Contract
14
+ ## Skill Contract
30
15
 
31
16
  | Component | Specification |
32
17
  | :--- | :--- |
33
- | **Trigger / Input** | (What causes this skill to execute? What exact data/args does it expect?) |
34
- | **Expected Output** | (What specific files, artifacts, or Terminal Exit Codes are produced?) |
35
- | **State Mutations** | (What JSON/files are written to track progress? e.g., `.claude/harness-state/todo-state.json`) |
36
- | **Enforcement Gate** | (Which exact CLI script slaps the LLM with Exit Code 1 if it fails?) |
37
- ```
38
-
39
- ## 2. Tone & Voice
40
- - **Anti-Linear / Anti-Prose**: Do not write long paragraphs. Map actions to specific `run_in_terminal` commands.
41
- - **Absolute Imperatives**: Use "MUST", "MUST NOT", "ALWAYS". Do not use "suggest".
42
- - **Script-Driven Enforcement**: Do not write "You should check your code". Write "You MUST run `node verify-gate.js`. If Exit Code 1, you MUST reflect and retry."
43
-
44
- ## 3. Avoid Functional Overlap
45
- - **OS Skills vs. Domain Skills**: Distinguish between the OS layer (which routes and constrains behavior) and the Domain layer (which provides deep technical expertise).
46
-
47
- ## 4. For the fuller authoring & quality workflow, see `skill-creator`
48
- This document is the terse format spec — the Skill Contract table shape and the tone rules. For interviewing intent, drafting, testing a skill against real prompts, pruning duplication/no-op/sprawl, and the rules for skills `self-evolve` generates dynamically mid-session, load `skill-creator/SKILL.md` instead. It builds on this spec rather than replacing it.
18
+ | **Trigger / Input** | Creating, reviewing, or refactoring a Harness `SKILL.md`. |
19
+ | **Expected Output** | A concise, complete, non-overlapping `SKILL.md`. |
20
+ | **State Mutations** | None; this is a writing and review standard. |
21
+ | **Enforcement Gate** | `npm run test:consistency` plus style-guide review. |
22
+
23
+ ## USE FOR:
24
+ - Creating a new SKILL.md file
25
+ - Refactoring or reviewing an existing SKILL.md
26
+ - Deciding tone, structure, or enforcement style for skills
27
+ - Checking whether a skill overlaps an existing OS/domain skill
28
+
29
+ ## DO NOT USE FOR:
30
+ - Interviewing intent, drafting, or testing a skill against real prompts (load `<skills-repo-root>/skill-creator/SKILL.md`)
31
+ - Routing rules for dynamically generated mid-session skills owned by `self-evolve`
32
+ - Non-Harness skill formats outside `harness-everything`
33
+
34
+ ## Core Rules
35
+
36
+ 1. MUST keep frontmatter accurate and the description routeable.
37
+ 2. MUST include, in order: title, introduction, Skill Contract, usage, and actionable rules.
38
+ 3. MUST use imperative language and name the enforcing command or gate.
39
+ 4. MUST avoid overlap with OS-layer routing or domain expertise.
40
+ 5. For intent interviews, drafting, and prompt tests, load `<skills-repo-root>/skill-creator/SKILL.md`.
41
+
42
+ Deep dive: `<this-skill-dir>/references/style-guide.md`
@@ -0,0 +1,62 @@
1
+ # Skill Style Guide — Full Detail
2
+
3
+ When you need to create a new Skill or refactor an existing one, strictly adhere to the writing style in this document to ensure all Skills seamlessly integrate into the `harness-everything` routing system and are mathematically enforced by scripts.
4
+
5
+ ## 1. Structured Definition
6
+ Every Skill file (`SKILL.md`) MUST contain the following standard structure:
7
+
8
+ 1. **Title & Introduction**: Clearly state the purpose of this Skill.
9
+ 2. **📋 Skill Contract (CRITICAL)**: A strict Markdown table defining inputs, outputs, state mutations, and script gates. This replaces vague prose.
10
+ 3. **Triggers / Usage**: Explicitly tell the system when this skill applies.
11
+ 4. **Core Rules / Action List**: Specific, actionable commands tied to Terminal Scripts. Avoid vague suggestions.
12
+
13
+ ### 📋 The Skill Contract Format
14
+ Every SKILL.md MUST include this table exactly:
15
+
16
+ ```markdown
17
+ ## 📋 Skill Contract
18
+
19
+ | Component | Specification |
20
+ | :--- | :--- |
21
+ | **Trigger / Input** | (What causes this skill to execute? What exact data/args does it expect?) |
22
+ | **Expected Output** | (What specific files, artifacts, or Terminal Exit Codes are produced?) |
23
+ | **State Mutations** | (What JSON/files are written to track progress? e.g., a stage audit JSONL file under `.claude/harness-everything/state/`) |
24
+ | **Enforcement Gate** | (Which exact CLI script slaps the LLM with Exit Code 1 if it fails?) |
25
+ ```
26
+
27
+ ## 2. Tone & Voice
28
+ - **Anti-Linear / Anti-Prose**: Do not write long paragraphs. Map actions to specific `run_in_terminal` commands.
29
+ - **Absolute Imperatives**: Use "MUST", "MUST NOT", "ALWAYS". Do not use "suggest".
30
+ - **Script-Driven Enforcement**: Do not write "You should check your code". Write "You MUST run `node <skills-repo-root>/harness-everything/scripts/verify-gate.js`. If Exit Code 1, you MUST reflect and retry."
31
+
32
+ ## 3. Path Notation
33
+ Every path a `SKILL.md` names is checked by `node <skills-repo-root>/ci/reference-check.js`. Every checked path MUST name its base explicitly: use `<this-skill-dir>/` for the skill that names it, `<skills-repo-root>/` for this package, and `<workspace>/` for the user's project.
34
+
35
+ | Form | Base | Checked? |
36
+ | :--- | :--- | :--- |
37
+ | `<this-skill-dir>/references/x.md`, `<this-skill-dir>/../x.md` | this skill's own directory | yes |
38
+ | `<skills-repo-root>/skill-creator/SKILL.md` | another skill in this package | yes |
39
+ | `<skills-repo-root>/hooks/x.js` | the root of this package | yes |
40
+ | `<workspace>/anywhere/x.md` | a path in the USER's project | no - recorded as intentional |
41
+
42
+ - **MUST** use one of the three markers. Bare `references/x.md`, `../x.md`, or `ci/x.js` is a hard failure, not a guess.
43
+ - **MUST NOT** invent a new placeholder. An unrecognised one is a hard failure, not a skip - a typo like `<this_folder>/` would otherwise make every path in the file invisible to the gate. Register a genuinely new one in `<skills-repo-root>/ci/reference-check.js`.
44
+ - Use `<workspace>/` for every user-project path. It always wins over any package rule.
45
+ - Markers cost words, but explicit bases prevent a top-level directory from silently changing a path's meaning. Keep the top-level body short and put explanation in the workflow or references rung.
46
+ - A bare filename with no directory (`CONTEXT.md`, `package.json`) is prose and stays unchecked. Give it a directory when you mean a specific file.
47
+
48
+ ## 4. Progressive Disclosure
49
+
50
+ Keep each skill in three clear rungs:
51
+
52
+ 1. `SKILL.md` contains the trigger, contract, short imperative workflow, `USE FOR`/`DO NOT USE FOR`, and one valid `Deep dive:` entry point. Keep its body at or below 330 words, the local proxy for waza's 500-token limit.
53
+ 2. `docs/workflows/<skill>.md` explains the same workflow in plain language. It must contain at least one meaningful Mermaid diagram showing a real sequence, state change, or decision. Complex workflows need separate diagrams for distinct branches; repeated decorative graphs do not count.
54
+ 3. `references/` or `guides/` holds detailed procedures, examples, and checklists. Load these files only when the task reaches that detail.
55
+
56
+ Do not put Mermaid source in `SKILL.md`, copy a full guide into the top-level file, or change a `description:` during a content-only rewrite. The description is a routing API and must remain byte-identical unless a routing change is intentional.
57
+
58
+ ## 5. Avoid Functional Overlap
59
+ - **OS Skills vs. Domain Skills**: Distinguish between the OS layer (which routes and constrains behavior) and the Domain layer (which provides deep technical expertise).
60
+
61
+ ## 6. For the fuller authoring & quality workflow, see `skill-creator`
62
+ This document is the terse format spec — the Skill Contract table shape and the tone rules. For interviewing intent, drafting, testing a skill against real prompts, pruning duplication/no-op/sprawl, and the rules for skills `self-evolve` generates dynamically mid-session, load `skill-creator/SKILL.md` instead. It builds on this spec rather than replacing it.
@@ -0,0 +1,67 @@
1
+ # OpenAI Public Plugin Submission
2
+
3
+ This directory contains repository-owned source material for OpenAI’s public **Skills only** plugin submission portal. It is separate from both the local `.codex-plugin` package manifest and the managed-workspace marketplace manifests.
4
+
5
+ ## Build the final skills bundle
6
+
7
+ Run:
8
+
9
+ ```bash
10
+ npm run plugin:sync
11
+ npm run plugin:submission:build
12
+ ```
13
+
14
+ The builder writes:
15
+
16
+ ```text
17
+ dist/openai-submission/
18
+ ├── harness-everything-skills.zip
19
+ └── harness-everything-skills.manifest.json
20
+ ```
21
+
22
+ The ZIP contains exactly the synchronized `plugins/harness-everything/skills/` tree under `skills/`. It does not contain the local `.codex-plugin` lifecycle hooks, MCP definitions, or app wrappers. The manifest records every file path, byte count, content hash, and final bundle SHA-256. Rebuilding the same revision must produce the same bundle hash.
23
+
24
+ ## Official portal workflow
25
+
26
+ 1. Select **Create plugin**.
27
+ 2. Choose **Skills only**.
28
+ 3. Provide the listing metadata from `listing.json`.
29
+ 4. Upload the final `harness-everything-skills.zip` bundle.
30
+ 5. Provide the starter prompts and exactly five positive plus three negative reviewer cases from `test-cases.json`.
31
+ 6. Select the verified developer/business identity, production logo, availability, and policy attestations.
32
+ 7. Confirm the submitter has **Apps Management: Write** access.
33
+ 8. Submit for review and publish only after approval.
34
+
35
+ Official documentation: [Submit a plugin](https://developers.openai.com/plugins/deploy/submission).
36
+
37
+ The review cases follow the documented shape. Each positive case includes a prompt, expected skill/workflow behavior, expected result shape, and fixture/account data. Each negative case includes a prompt/scenario, expected refusal/clarification/safe fallback, and a reason not to complete.
38
+
39
+ ## Public submission boundary
40
+
41
+ The public **Skills only** bundle contains skills, scripts, templates, and assets referenced by those skills. It does not contain the local `.codex-plugin` lifecycle hooks. Therefore public review material must not claim that `SessionStart`, `UserPromptSubmit`, or other host-specific hooks provide hard enforcement in the published artifact.
42
+
43
+ The skills still provide routing, verification, failure recovery, TDD, security review, documentation, and other reusable workflow guidance. The test cases evaluate those workflows against the final skills tree rather than depending on local hook execution.
44
+
45
+ ## Manual requirements and evidence boundary
46
+
47
+ CI cannot complete these portal operations:
48
+
49
+ - verify the developer or business identity;
50
+ - confirm **Apps Management: Write** access;
51
+ - upload or confirm a production logo;
52
+ - select countries/regions and complete attestations;
53
+ - run reviewer cases in the final host environment;
54
+ - submit, receive approval, or publish to the public directory.
55
+
56
+ The repository therefore claims a reproducible, review-ready submission artifact only. It does not claim public-directory approval, managed-workspace import success, or live host execution until those external artifacts are preserved.
57
+
58
+ ## Repository checks
59
+
60
+ Run:
61
+
62
+ ```bash
63
+ npm run test:plugin:openai
64
+ npm run test:plugin:submission
65
+ ```
66
+
67
+ The checks verify listing/manifest alignment, official-source metadata, public support/privacy/terms URLs, exactly five positive and three negative review cases, deterministic bundle generation, and exact file parity between the generated bundle manifest and the packaged skill tree.
@@ -0,0 +1,31 @@
1
+ {
2
+ "format": "harness-openai-plugin-submission-source-v1",
3
+ "note": "Repository source of truth for manually completing the OpenAI plugin submission portal; this is not an OpenAI import schema.",
4
+ "official_docs": [
5
+ "https://developers.openai.com/plugins/deploy/submission",
6
+ "https://developers.openai.com/plugins/build/plugins"
7
+ ],
8
+ "submission_type": "skills_only",
9
+ "plugin_name": "Harness Everything",
10
+ "short_description": "Route, verify, and recover coding work",
11
+ "long_description": "Harness Everything adds reusable software-engineering workflows for task routing, test-driven development, verification, security review, documentation, failure recovery, and related coding-agent work. It keeps a small set of cross-cutting invariants while allowing the agent to choose, combine, reorder, or skip domain skills as appropriate.",
12
+ "category": "Developer Tools",
13
+ "website_url": "https://github.com/dyphn1/Harness-everything",
14
+ "support_url": "https://github.com/dyphn1/Harness-everything/blob/main/SUPPORT.md",
15
+ "privacy_policy_url": "https://github.com/dyphn1/Harness-everything/blob/main/PRIVACY.md",
16
+ "terms_url": "https://github.com/dyphn1/Harness-everything/blob/main/TERMS.md",
17
+ "starter_prompts": [
18
+ "Route this software task with Harness and use only the skills that help.",
19
+ "Review this change and verify it with objective evidence before claiming completion."
20
+ ],
21
+ "release_notes": "Initial public skills-only submission of Harness Everything. Includes 26 reusable engineering skills plus invariant-first routing and verification guidance. No remote MCP server, hosted backend, authentication, or external account is required by the plugin package.",
22
+ "availability": {
23
+ "selection": "manual_in_portal",
24
+ "guidance": "Select only countries or regions where the publisher, support process, privacy notice, and terms are ready for users."
25
+ },
26
+ "manual_requirements": {
27
+ "developer_identity": "Select the verified individual or business identity in the OpenAI Platform organization used for submission.",
28
+ "logo": "Upload a production-ready logo in the submission portal.",
29
+ "apps_management_write_access": "The submitter must have Apps Management write access in the publishing organization."
30
+ }
31
+ }