harness-everything 0.2.1 → 0.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/.claude-plugin/marketplace.json +27 -0
  2. package/.claude-plugin/plugin.json +51 -0
  3. package/.gitattributes +1 -0
  4. package/.github/workflows/behavioral-evals.yml +36 -0
  5. package/.github/workflows/ci.yml +117 -0
  6. package/.github/workflows/release.yml +45 -0
  7. package/.husky/commit-msg +1 -0
  8. package/.waza.yaml +22 -0
  9. package/AGENTS.md +60 -2
  10. package/BENCHMARK_SOP.md +62 -62
  11. package/CHANGELOG.md +297 -114
  12. package/CODE_OF_CONDUCT.md +24 -0
  13. package/CONTRIBUTING.md +47 -0
  14. package/Dockerfile +18 -18
  15. package/LICENSE +201 -201
  16. package/README.md +279 -197
  17. package/SECURITY.md +33 -0
  18. package/VERIFICATION.md +394 -347
  19. package/ab-test-deep-analysis-2026-08-27.md +383 -0
  20. package/ab-test-results-2026-08-27.md +152 -0
  21. package/ab-test-statistical-analysis-31cases.md +193 -0
  22. package/behavioral-evals/README.md +85 -0
  23. package/behavioral-evals/analyze-plugin-results.js +110 -0
  24. package/behavioral-evals/cases/baseline-add-feature.yaml +34 -0
  25. package/behavioral-evals/cases/baseline-api-design.yaml +32 -0
  26. package/behavioral-evals/cases/baseline-debugging.yaml +31 -0
  27. package/behavioral-evals/cases/baseline-dependency.yaml +24 -0
  28. package/behavioral-evals/cases/baseline-documentation.yaml +34 -0
  29. package/behavioral-evals/cases/baseline-error-handling.yaml +31 -0
  30. package/behavioral-evals/cases/baseline-git-commit.yaml +33 -0
  31. package/behavioral-evals/cases/baseline-performance-monitoring.yaml +28 -0
  32. package/behavioral-evals/cases/baseline-performance.yaml +34 -0
  33. package/behavioral-evals/cases/baseline-refactor-with-tests.yaml +35 -0
  34. package/behavioral-evals/cases/baseline-refactor.yaml +27 -0
  35. package/behavioral-evals/cases/baseline-security-review.yaml +28 -0
  36. package/behavioral-evals/cases/baseline-simple-bugfix.yaml +33 -0
  37. package/behavioral-evals/cases/baseline-tdd-workflow.yaml +28 -0
  38. package/behavioral-evals/cases/breaker-zoom-out-after-3.yaml +50 -0
  39. package/behavioral-evals/cases/pressure-budget-skip-review.yaml +27 -0
  40. package/behavioral-evals/cases/pressure-bypass-review.yaml +27 -0
  41. package/behavioral-evals/cases/pressure-complexity-skip.yaml +37 -0
  42. package/behavioral-evals/cases/pressure-expert-skip-testing.yaml +31 -0
  43. package/behavioral-evals/cases/pressure-fatigue-skip.yaml +33 -0
  44. package/behavioral-evals/cases/pressure-management-skip-all.yaml +28 -0
  45. package/behavioral-evals/cases/pressure-scope-bypass.yaml +28 -0
  46. package/behavioral-evals/cases/pressure-skip-docs.yaml +50 -0
  47. package/behavioral-evals/cases/pressure-skip-error-handling.yaml +35 -0
  48. package/behavioral-evals/cases/pressure-skip-security.yaml +32 -0
  49. package/behavioral-evals/cases/pressure-skip-tests.yaml +27 -0
  50. package/behavioral-evals/cases/pressure-skip-verification.yaml +43 -0
  51. package/behavioral-evals/cases/pressure-social-skip-review.yaml +28 -0
  52. package/behavioral-evals/cases/pressure-sunk-cost-retry.yaml +47 -0
  53. package/behavioral-evals/cases/scope-discipline.yaml +32 -0
  54. package/behavioral-evals/cases/tier1-no-overplan.yaml +26 -0
  55. package/behavioral-evals/cases/verify-before-done.yaml +31 -0
  56. package/behavioral-evals/results/.gitkeep +0 -0
  57. package/behavioral-evals/results/2026-08-23-breaker-zoom-out-after-3.json +20 -0
  58. package/behavioral-evals/results/2026-08-23-pressure-skip-verification.json +20 -0
  59. package/behavioral-evals/results/2026-08-23-pressure-sunk-cost-retry.json +20 -0
  60. package/behavioral-evals/results/2026-08-23-scope-discipline.json +16 -0
  61. package/behavioral-evals/results/2026-08-23-tier1-no-overplan.json +20 -0
  62. package/behavioral-evals/results/2026-08-23-verify-before-done.json +20 -0
  63. package/behavioral-evals/results/2026-08-27-baseline-add-feature.json +20 -0
  64. package/behavioral-evals/results/2026-08-27-baseline-api-design.json +20 -0
  65. package/behavioral-evals/results/2026-08-27-baseline-debugging.json +20 -0
  66. package/behavioral-evals/results/2026-08-27-baseline-dependency.json +16 -0
  67. package/behavioral-evals/results/2026-08-27-baseline-documentation.json +20 -0
  68. package/behavioral-evals/results/2026-08-27-baseline-error-handling.json +20 -0
  69. package/behavioral-evals/results/2026-08-27-baseline-git-commit.json +20 -0
  70. package/behavioral-evals/results/2026-08-27-baseline-performance-monitoring.json +20 -0
  71. package/behavioral-evals/results/2026-08-27-baseline-performance.json +20 -0
  72. package/behavioral-evals/results/2026-08-27-baseline-refactor-with-tests.json +20 -0
  73. package/behavioral-evals/results/2026-08-27-baseline-refactor.json +20 -0
  74. package/behavioral-evals/results/2026-08-27-baseline-security-review.json +20 -0
  75. package/behavioral-evals/results/2026-08-27-baseline-simple-bugfix.json +20 -0
  76. package/behavioral-evals/results/2026-08-27-baseline-tdd-workflow.json +24 -0
  77. package/behavioral-evals/results/2026-08-27-breaker-zoom-out-after-3.json +20 -0
  78. package/behavioral-evals/results/2026-08-27-pressure-budget-skip-review.json +16 -0
  79. package/behavioral-evals/results/2026-08-27-pressure-bypass-review.json +20 -0
  80. package/behavioral-evals/results/2026-08-27-pressure-complexity-skip.json +20 -0
  81. package/behavioral-evals/results/2026-08-27-pressure-expert-skip-testing.json +16 -0
  82. package/behavioral-evals/results/2026-08-27-pressure-fatigue-skip.json +16 -0
  83. package/behavioral-evals/results/2026-08-27-pressure-management-skip-all.json +20 -0
  84. package/behavioral-evals/results/2026-08-27-pressure-skip-docs.json +20 -0
  85. package/behavioral-evals/results/2026-08-27-pressure-skip-error-handling.json +20 -0
  86. package/behavioral-evals/results/2026-08-27-pressure-skip-security.json +20 -0
  87. package/behavioral-evals/results/2026-08-27-pressure-skip-tests.json +20 -0
  88. package/behavioral-evals/results/2026-08-27-pressure-skip-verification.json +24 -0
  89. package/behavioral-evals/results/2026-08-27-pressure-social-skip-review.json +20 -0
  90. package/behavioral-evals/results/2026-08-27-pressure-sunk-cost-retry.json +24 -0
  91. package/behavioral-evals/results/2026-08-27-scope-discipline.json +16 -0
  92. package/behavioral-evals/results/2026-08-27-tier1-no-overplan.json +20 -0
  93. package/behavioral-evals/results/2026-08-27-verify-before-done.json +20 -0
  94. package/behavioral-evals/results/run-20260827-115509.log +287 -0
  95. package/behavioral-evals/run-with-plugin.js +316 -0
  96. package/behavioral-evals/run.js +587 -0
  97. package/benchmarks/README.md +63 -0
  98. package/benchmarks/ab-test-2026-08-26/results.json +55 -0
  99. package/benchmarks/results/logs/.gitkeep +0 -0
  100. package/benchmarks/results/logs/test-a-harness.md +31 -0
  101. package/benchmarks/results/logs/test-a-vanilla.md +28 -0
  102. package/benchmarks/results/logs/test-b-micro-loop-harness.md +48 -0
  103. package/benchmarks/results/logs/test-b-micro-loop-vanilla.md +36 -0
  104. package/benchmarks/results/logs/test-c-attention-loss-harness.md +40 -0
  105. package/benchmarks/results/logs/test-c-attention-loss-vanilla.md +63 -0
  106. package/benchmarks/results/logs/test-d-knowledge-boundary-harness.md +24 -0
  107. package/benchmarks/results/logs/test-d-knowledge-boundary-vanilla.md +29 -0
  108. package/benchmarks/results/logs/test-e-shell-awareness-harness.md +20 -0
  109. package/benchmarks/results/logs/test-e-shell-awareness-vanilla.md +20 -0
  110. package/benchmarks/results/logs/test-f-fact-audit-harness.md +16 -0
  111. package/benchmarks/results/logs/test-f-fact-audit-vanilla.md +16 -0
  112. package/benchmarks/results/results.json +158 -0
  113. package/benchmarks/run.js +220 -0
  114. package/benchmarks/schema.json +44 -0
  115. package/bin/cli.js +152 -97
  116. package/ci/ab-test-cases/grill-me-adversarial.yaml +18 -0
  117. package/ci/ab-test-cases/tdd-test-first.yaml +23 -0
  118. package/ci/ab-test-cases/verification-loop-gates.yaml +25 -0
  119. package/ci/ab-test-cases/verify-before-claim-cites.yaml +18 -0
  120. package/ci/ab-test-harness.js +410 -0
  121. package/{eval-framework → ci}/cases/case1.json +5 -5
  122. package/ci/cases/case10-small-feature.json +5 -0
  123. package/ci/cases/case11-readme-typo-update.json +5 -0
  124. package/ci/cases/case12-chinese-macro-audit.json +5 -0
  125. package/{eval-framework → ci}/cases/case2.json +5 -5
  126. package/{eval-framework → ci}/cases/case3.json +5 -5
  127. package/{eval-framework → ci}/cases/case4-zh-tier2.json +5 -5
  128. package/{eval-framework → ci}/cases/case5-zh-tier3.json +5 -5
  129. package/ci/cases/case6-macro-skill-audit.json +5 -0
  130. package/ci/cases/case7-macro-reference-audit.json +5 -0
  131. package/ci/cases/case8-controlled-ab-benchmark.json +5 -0
  132. package/ci/cases/case9-four-issue-audit.json +5 -0
  133. package/ci/consistency-check.js +347 -0
  134. package/ci/description-collision.js +109 -0
  135. package/ci/fable-mode-test.js +120 -0
  136. package/ci/fixtures/agency-agents/divisions.json +6 -0
  137. package/ci/fixtures/agency-agents/engineering/code-reviewer.md +11 -0
  138. package/ci/fixtures/agency-agents/testing/reality-checker.md +11 -0
  139. package/ci/fixtures/bad-frontmatter-colon/SKILL.md +16 -0
  140. package/ci/fixtures/duplicate-description/skill-a/SKILL.md +16 -0
  141. package/ci/fixtures/duplicate-description/skill-b/SKILL.md +16 -0
  142. package/ci/mechanism-2a-rule-of-3.test.js +46 -0
  143. package/ci/mechanism-2b-boundary-guard.test.js +16 -0
  144. package/ci/mechanism-2c-state-persist.test.js +29 -0
  145. package/ci/mechanism-2d-fact-audit.test.js +18 -0
  146. package/ci/mechanism-2e-scope-guard.test.js +24 -0
  147. package/ci/mechanism-2f-stop-gate.test.js +23 -0
  148. package/ci/mechanism-2g-platform-ignore.test.js +88 -0
  149. package/ci/mechanism-2h-installer-manifest.test.js +147 -0
  150. package/ci/mechanism-2i-crlf-frontmatter.test.js +145 -0
  151. package/ci/mechanism-2i-install-verification.test.js +34 -0
  152. package/ci/mechanism-2j-behavioral-runner.test.js +20 -0
  153. package/ci/mechanism-2k-reference-check.test.js +20 -0
  154. package/ci/mechanism-2l-multi-agent-workspace.test.js +105 -0
  155. package/ci/mechanism-test.js +71 -0
  156. package/ci/negative-controls.js +84 -0
  157. package/ci/reference-check.js +112 -0
  158. package/ci/release-consistency-check.js +123 -0
  159. package/ci/routing-check.js +90 -0
  160. package/{eval-framework → ci}/runner.js +56 -56
  161. package/ci/skill-routing-check.js +98 -0
  162. package/ci/test-helper.js +104 -0
  163. package/ci/test-negative-controls.js +148 -0
  164. package/commitlint.config.js +25 -0
  165. package/docker-verify.sh +266 -266
  166. package/docs/architecture.md +99 -95
  167. package/docs/audit.md +53 -0
  168. package/docs/mechanism-first-skill-mesh.md +163 -0
  169. package/docs/philosophy.md +47 -45
  170. package/docs/reflection.md +48 -34
  171. package/docs/routing.md +58 -45
  172. package/docs/troubleshooting.md +284 -0
  173. package/docs/workflows/environment-detection.md +63 -63
  174. package/docs/workflows/eval-harness.md +64 -57
  175. package/docs/workflows/fable-discipline.md +59 -59
  176. package/docs/workflows/fable-mode.md +12 -15
  177. package/docs/workflows/find-skills.md +36 -0
  178. package/docs/workflows/git-commit.md +71 -62
  179. package/docs/workflows/grill-me.md +62 -62
  180. package/docs/workflows/grill-with-docs.md +69 -62
  181. package/docs/workflows/harness-everything.md +95 -92
  182. package/docs/workflows/improve-codebase-architecture.md +68 -60
  183. package/docs/workflows/install-cognitive-os.md +60 -60
  184. package/docs/workflows/multi-agent-workspace.md +42 -0
  185. package/docs/workflows/repo-docs.md +64 -59
  186. package/docs/workflows/rewrite-commits.md +60 -60
  187. package/docs/workflows/security-review.md +77 -58
  188. package/docs/workflows/self-evolve.md +42 -59
  189. package/docs/workflows/skill-creator.md +80 -75
  190. package/docs/workflows/skill-style.md +64 -64
  191. package/docs/workflows/tdd.md +7 -4
  192. package/docs/workflows/to-spec.md +83 -0
  193. package/docs/workflows/to-tickets.md +80 -0
  194. package/docs/workflows/todo-driven-workflow.md +28 -30
  195. package/docs/workflows/using-git-worktrees.md +67 -63
  196. package/docs/workflows/verification-loop.md +71 -69
  197. package/docs/workflows/verify-before-claim.md +64 -60
  198. package/docs/workflows/zoom-out.md +74 -62
  199. package/environment-detection/SKILL.md +41 -77
  200. package/environment-detection/references/shell-syntax-rules.md +76 -0
  201. package/environment-detection/scripts/preflight.js +103 -93
  202. package/eval-framework/fixtures/bad-frontmatter-colon/SKILL.md +14 -0
  203. package/eval-framework/fixtures/duplicate-desc-skill-a/SKILL.md +14 -0
  204. package/eval-framework/fixtures/duplicate-desc-skill-b/SKILL.md +14 -0
  205. package/eval-framework/fixtures/missing-delimiter/SKILL.md +13 -0
  206. package/eval-framework/fixtures/over-budget-skill/SKILL.md +36 -0
  207. package/eval-harness/SKILL.md +42 -59
  208. package/eval-harness/references/scoring-rubric.md +68 -0
  209. package/eval-harness/scripts/evaluate.js +77 -61
  210. package/evals/environment-detection/eval.yaml +26 -0
  211. package/evals/environment-detection/tasks/negative-trigger.yaml +16 -0
  212. package/evals/environment-detection/tasks/positive-trigger.yaml +15 -0
  213. package/evals/eval-harness/eval.yaml +26 -0
  214. package/evals/eval-harness/tasks/negative-trigger.yaml +16 -0
  215. package/evals/eval-harness/tasks/positive-trigger.yaml +15 -0
  216. package/evals/fable-discipline/eval.yaml +26 -0
  217. package/evals/fable-discipline/tasks/negative-trigger.yaml +16 -0
  218. package/evals/fable-discipline/tasks/positive-trigger.yaml +15 -0
  219. package/evals/fable-mode/eval.yaml +26 -0
  220. package/evals/fable-mode/tasks/negative-tier2-no-model.yaml +18 -0
  221. package/evals/fable-mode/tasks/negative-trigger.yaml +16 -0
  222. package/evals/fable-mode/tasks/positive-haiku-mode.yaml +16 -0
  223. package/evals/fable-mode/tasks/positive-opus-mode.yaml +16 -0
  224. package/evals/fable-mode/tasks/positive-sonnet-mode.yaml +16 -0
  225. package/evals/fable-mode/tasks/positive-trigger.yaml +15 -0
  226. package/evals/find-skills/eval.yaml +26 -0
  227. package/evals/find-skills/tasks/negative-trigger.yaml +16 -0
  228. package/evals/find-skills/tasks/positive-trigger.yaml +15 -0
  229. package/evals/git-commit/eval.yaml +26 -0
  230. package/evals/git-commit/tasks/negative-trigger.yaml +16 -0
  231. package/evals/git-commit/tasks/positive-trigger.yaml +15 -0
  232. package/evals/grill-me/eval.yaml +26 -0
  233. package/evals/grill-me/tasks/negative-trigger.yaml +16 -0
  234. package/evals/grill-me/tasks/positive-trigger.yaml +15 -0
  235. package/evals/grill-with-docs/eval.yaml +26 -0
  236. package/evals/grill-with-docs/tasks/negative-trigger.yaml +16 -0
  237. package/evals/grill-with-docs/tasks/positive-trigger.yaml +15 -0
  238. package/evals/harness-everything/eval.yaml +26 -0
  239. package/evals/harness-everything/tasks/negative-non-software.yaml +16 -0
  240. package/evals/harness-everything/tasks/negative-skill-indicated.yaml +15 -0
  241. package/evals/harness-everything/tasks/positive-tier1.yaml +16 -0
  242. package/evals/harness-everything/tasks/positive-tier2.yaml +16 -0
  243. package/evals/harness-everything/tasks/positive-tier3.yaml +16 -0
  244. package/evals/improve-codebase-architecture/eval.yaml +26 -0
  245. package/evals/improve-codebase-architecture/tasks/negative-trigger.yaml +16 -0
  246. package/evals/improve-codebase-architecture/tasks/positive-trigger.yaml +15 -0
  247. package/evals/install-cognitive-os/eval.yaml +26 -0
  248. package/evals/install-cognitive-os/tasks/negative-trigger.yaml +16 -0
  249. package/evals/install-cognitive-os/tasks/positive-trigger.yaml +15 -0
  250. package/evals/multi-agent-workspace/eval.yaml +26 -0
  251. package/evals/multi-agent-workspace/tasks/negative-trigger.yaml +15 -0
  252. package/evals/multi-agent-workspace/tasks/positive-trigger.yaml +15 -0
  253. package/evals/repo-docs/eval.yaml +26 -0
  254. package/evals/repo-docs/tasks/negative-trigger.yaml +16 -0
  255. package/evals/repo-docs/tasks/positive-trigger.yaml +15 -0
  256. package/evals/rewrite-commits/eval.yaml +26 -0
  257. package/evals/rewrite-commits/tasks/negative-trigger.yaml +16 -0
  258. package/evals/rewrite-commits/tasks/positive-trigger.yaml +15 -0
  259. package/evals/security-review/eval.yaml +26 -0
  260. package/evals/security-review/tasks/negative-trigger.yaml +16 -0
  261. package/evals/security-review/tasks/positive-trigger.yaml +15 -0
  262. package/evals/self-evolve/eval.yaml +26 -0
  263. package/evals/self-evolve/tasks/negative-trigger.yaml +16 -0
  264. package/evals/self-evolve/tasks/positive-trigger.yaml +15 -0
  265. package/evals/skill-creator/eval.yaml +26 -0
  266. package/evals/skill-creator/tasks/negative-trigger.yaml +16 -0
  267. package/evals/skill-creator/tasks/positive-trigger.yaml +15 -0
  268. package/evals/skill-style/eval.yaml +26 -0
  269. package/evals/skill-style/tasks/negative-trigger.yaml +16 -0
  270. package/evals/skill-style/tasks/positive-trigger.yaml +15 -0
  271. package/evals/tdd/eval.yaml +26 -0
  272. package/evals/tdd/tasks/negative-trivia.yaml +16 -0
  273. package/evals/tdd/tasks/positive-bugfix.yaml +15 -0
  274. package/evals/tdd/tasks/positive-feature.yaml +16 -0
  275. package/evals/tdd/tasks/positive-refactor.yaml +15 -0
  276. package/evals/to-spec/eval.yaml +26 -0
  277. package/evals/to-spec/tasks/negative-trigger.yaml +16 -0
  278. package/evals/to-spec/tasks/positive-trigger.yaml +15 -0
  279. package/evals/to-tickets/eval.yaml +26 -0
  280. package/evals/to-tickets/tasks/negative-trigger.yaml +15 -0
  281. package/evals/to-tickets/tasks/positive-trigger.yaml +15 -0
  282. package/evals/todo-driven-workflow/eval.yaml +26 -0
  283. package/evals/todo-driven-workflow/tasks/negative-single-edit.yaml +16 -0
  284. package/evals/todo-driven-workflow/tasks/positive-multi-step.yaml +15 -0
  285. package/evals/todo-driven-workflow/tasks/positive-refactor-flow.yaml +15 -0
  286. package/evals/using-git-worktrees/eval.yaml +26 -0
  287. package/evals/using-git-worktrees/tasks/negative-trigger.yaml +15 -0
  288. package/evals/using-git-worktrees/tasks/positive-trigger.yaml +15 -0
  289. package/evals/verification-loop/eval.yaml +26 -0
  290. package/evals/verification-loop/tasks/negative-discussion.yaml +16 -0
  291. package/evals/verification-loop/tasks/positive-pre-ship.yaml +15 -0
  292. package/evals/verify-before-claim/eval.yaml +26 -0
  293. package/evals/verify-before-claim/tasks/negative-trigger.yaml +16 -0
  294. package/evals/verify-before-claim/tasks/positive-trigger.yaml +15 -0
  295. package/evals/zoom-out/eval.yaml +26 -0
  296. package/evals/zoom-out/tasks/negative-trivial-edit.yaml +16 -0
  297. package/evals/zoom-out/tasks/positive-repeated-failure.yaml +15 -0
  298. package/fable-discipline/SKILL.md +41 -38
  299. package/fable-discipline/references/discipline-rules.md +22 -0
  300. package/fable-mode/CONTRACT-FORMAT.md +51 -51
  301. package/fable-mode/SKILL.md +39 -51
  302. package/fable-mode/agents/fable-orchestrator.md +99 -92
  303. package/fable-mode/agents/fable-verifier.md +32 -32
  304. package/fable-mode/agents/fable-worker-haiku.md +52 -48
  305. package/fable-mode/agents/fable-worker-sonnet.md +53 -49
  306. package/fable-mode/execution-guardrails/SKILL.md +43 -87
  307. package/fable-mode/execution-guardrails/references/guardrail-rules.md +56 -0
  308. package/fable-mode/fable-haiku/SKILL.md +36 -48
  309. package/fable-mode/fable-haiku/references/routing-notes.md +26 -0
  310. package/fable-mode/fable-opus/SKILL.md +36 -0
  311. package/fable-mode/fable-sonnet/SKILL.md +36 -0
  312. package/fable-mode/model-matrix.json +32 -0
  313. package/fable-mode/references/execution-phases.md +37 -0
  314. package/fable-mode/references/model-matrix.md +39 -0
  315. package/fable-mode/scripts/model-selector.js +129 -0
  316. package/find-skills/SKILL.md +48 -0
  317. package/find-skills/references/discovery-flow.md +102 -0
  318. package/find-skills/scripts/use-skill.js +106 -0
  319. package/git-commit/SKILL.md +45 -55
  320. package/git-commit/guides/ANGULAR_STYLE.md +60 -60
  321. package/git-commit/guides/COMMIT_GENERATION.md +23 -23
  322. package/git-commit/guides/LANGUAGE_DETECTION.md +16 -16
  323. package/git-commit/guides/MAIN_REPO.md +14 -14
  324. package/git-commit/guides/SUBMODULES.md +27 -27
  325. package/git-commit/references/commit-flow.md +30 -0
  326. package/grill-me/SKILL.md +43 -36
  327. package/grill-me/references/grilling-playbook.md +38 -0
  328. package/grill-with-docs/ADR-FORMAT.md +47 -47
  329. package/grill-with-docs/CONTEXT-FORMAT.md +63 -63
  330. package/grill-with-docs/SKILL.md +41 -99
  331. package/grill-with-docs/references/session-playbook.md +97 -0
  332. package/harness-everything/SKILL.md +42 -141
  333. package/harness-everything/references/skill-registry.md +39 -0
  334. package/harness-everything/references/triage-and-tiers.md +116 -0
  335. package/harness-everything/scripts/bootstrap.js +203 -140
  336. package/harness-everything/scripts/routing-keywords.json +320 -0
  337. package/harness-everything/scripts/self-heal.js +241 -189
  338. package/harness-everything/scripts/tier-router.js +334 -219
  339. package/harness-everything/scripts/verify-gate.js +87 -18
  340. package/hooks/hooks.json +155 -155
  341. package/hooks/scripts/boundary-guard.js +55 -55
  342. package/hooks/scripts/contract-test.js +79 -79
  343. package/hooks/scripts/depth-guard.js +65 -65
  344. package/hooks/scripts/lib/harness-state.js +139 -228
  345. package/hooks/scripts/lib/platforms/claude.js +185 -42
  346. package/hooks/scripts/lib/platforms/codex.js +114 -46
  347. package/hooks/scripts/lib/platforms/continue.js +91 -41
  348. package/hooks/scripts/lib/platforms/copilot.js +109 -41
  349. package/hooks/scripts/lib/platforms/cursor.js +89 -41
  350. package/hooks/scripts/lib/platforms/hermes.js +57 -32
  351. package/hooks/scripts/lib/platforms/index.js +17 -17
  352. package/hooks/scripts/lib/platforms/worktrees.js +20 -20
  353. package/hooks/scripts/reset-circuit-breaker.js +30 -30
  354. package/hooks/scripts/rule-of-3-tracker.js +124 -91
  355. package/hooks/scripts/rule-of-3.js +14 -3
  356. package/hooks/scripts/state-persist.js +99 -99
  357. package/hooks/scripts/stop-gate.js +80 -80
  358. package/hooks/scripts/subagent-scope-guard.js +88 -88
  359. package/improve-codebase-architecture/SKILL.md +40 -44
  360. package/improve-codebase-architecture/guides/DEEPENING.md +37 -37
  361. package/improve-codebase-architecture/guides/HTML-REPORT.md +123 -123
  362. package/improve-codebase-architecture/guides/INTERFACE-DESIGN.md +44 -44
  363. package/improve-codebase-architecture/guides/LANGUAGE.md +53 -53
  364. package/improve-codebase-architecture/guides/refactoring-workflow.md +59 -0
  365. package/install-cognitive-os/SKILL.md +38 -95
  366. package/install-cognitive-os/references/cognitive-loop.md +27 -0
  367. package/multi-agent-workspace/NOTICE-agency-agents.md +27 -0
  368. package/multi-agent-workspace/SKILL.md +37 -0
  369. package/{create-agent-launcher → multi-agent-workspace}/examples/csharp-monorepo.md +123 -123
  370. package/{create-agent-launcher → multi-agent-workspace}/examples/typescript-cli.md +126 -126
  371. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-claude.md +77 -77
  372. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-codex.md +146 -146
  373. package/multi-agent-workspace/guidelines/platform-continue.md +38 -0
  374. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-copilot.md +74 -74
  375. package/multi-agent-workspace/guidelines/platform-cursor.md +40 -0
  376. package/multi-agent-workspace/guidelines/platform-hermes.md +38 -0
  377. package/{create-agent-launcher → multi-agent-workspace}/guidelines/role-capabilities.md +108 -108
  378. package/multi-agent-workspace/references/agency-agents.md +31 -0
  379. package/multi-agent-workspace/references/architecture-guide.md +32 -0
  380. package/multi-agent-workspace/references/orchestration.md +48 -0
  381. package/multi-agent-workspace/scripts/agency-catalog.js +190 -0
  382. package/multi-agent-workspace/scripts/index_memory.js +51 -0
  383. package/multi-agent-workspace/scripts/scaffold.js +253 -0
  384. package/{create-agent-launcher → multi-agent-workspace}/templates/README.md +17 -17
  385. package/{create-agent-launcher → multi-agent-workspace}/templates/agent-launcher.md +67 -67
  386. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-csharp.md +55 -55
  387. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-polyglot.md +61 -61
  388. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-ts.md +56 -56
  389. package/{create-agent-launcher → multi-agent-workspace}/templates/memory-keeper.md +36 -36
  390. package/{create-agent-launcher → multi-agent-workspace}/templates/requirement-analyzer.md +65 -65
  391. package/{create-agent-launcher → multi-agent-workspace}/templates/specialist-agent.md +34 -34
  392. package/{create-agent-launcher → multi-agent-workspace}/templates/task-verifier.md +55 -55
  393. package/{create-agent-launcher → multi-agent-workspace}/templates/tool-maker.md +32 -32
  394. package/multi-agent-workspace/workflows/01-init.md +22 -0
  395. package/multi-agent-workspace/workflows/02-analysis.md +23 -0
  396. package/multi-agent-workspace/workflows/03-generation.md +27 -0
  397. package/multi-agent-workspace/workflows/04-launcher.md +16 -0
  398. package/opencode-plugin/README.md +94 -0
  399. package/opencode-plugin/hooks/circuit-breaker.js +121 -0
  400. package/opencode-plugin/hooks/compliance.js +128 -0
  401. package/opencode-plugin/hooks/post-edit.js +62 -0
  402. package/opencode-plugin/hooks/pre-complete.js +65 -0
  403. package/opencode-plugin/hooks/verify.js +140 -0
  404. package/opencode-plugin/plugin.json +17 -0
  405. package/opencode-plugin/test-hook-firing.js +198 -0
  406. package/package.json +50 -22
  407. package/references/definition-of-done.md +67 -0
  408. package/references/performance-checklist.md +153 -0
  409. package/references/platform-advisory-template.md +58 -0
  410. package/references/security-checklist.md +205 -0
  411. package/repo-docs/SKILL.md +46 -45
  412. package/repo-docs/references/process-guide.md +60 -0
  413. package/repo-docs/templates/agents-template.md +264 -264
  414. package/repo-docs/templates/knowledge-agents-template.md +50 -50
  415. package/repo-docs/templates/knowledge-readme-template.md +83 -83
  416. package/repo-docs/templates/manual-recon.md +117 -117
  417. package/repo-docs/templates/multi-skills-readme-template.md +72 -72
  418. package/repo-docs/templates/product-agents-template.md +78 -78
  419. package/repo-docs/templates/product-readme-template.md +95 -95
  420. package/repo-docs/templates/readme-template.md +136 -136
  421. package/repo-docs/templates/single-skill-readme-template.md +70 -70
  422. package/repo-docs/templates/skills-agents-template.md +60 -60
  423. package/rewrite-commits/SKILL.md +37 -32
  424. package/rewrite-commits/references/workflow.md +18 -0
  425. package/scripts/installer.js +546 -649
  426. package/scripts/lib/advisory-text.js +167 -163
  427. package/scripts/lib/claude-hooks.js +84 -71
  428. package/scripts/lib/gitignore.js +199 -80
  429. package/scripts/lib/manifest.js +146 -82
  430. package/scripts/lib/prompts.js +241 -241
  431. package/scripts/lib/skills.js +260 -172
  432. package/scripts/lib/workspace.js +28 -28
  433. package/scripts/verify-install.js +147 -0
  434. package/security-review/SKILL.md +50 -511
  435. package/security-review/guides/OWASP-PATTERNS.md +31 -0
  436. package/security-review/guides/STRIDE-THREAT-MODEL.md +21 -0
  437. package/security-review/references/security-checklist.md +478 -0
  438. package/security-review/scripts/audit-secrets.js +84 -0
  439. package/self-evolve/SKILL.md +47 -54
  440. package/self-evolve/references/memory-resolution.md +58 -0
  441. package/self-evolve/scripts/persist-memory.js +139 -40
  442. package/self-evolve/scripts/register-dynamic-skill.js +251 -0
  443. package/self-evolve/scripts/self-regression.js +110 -113
  444. package/skill-creator/SKILL.md +49 -91
  445. package/skill-creator/references/authoring-workflow.md +14 -0
  446. package/skill-creator/references/dynamic-generation-contract.md +21 -0
  447. package/skill-creator/references/quality-checklist.md +15 -0
  448. package/skill-creator/references/quality-principles.md +81 -81
  449. package/skill-creator/references/testing-workflow.md +20 -25
  450. package/skill-style/SKILL.md +42 -48
  451. package/skill-style/references/style-guide.md +36 -0
  452. package/tdd/SKILL.md +44 -53
  453. package/tdd/guides/deep-modules.md +33 -33
  454. package/tdd/guides/interface-design.md +31 -31
  455. package/tdd/guides/mocking.md +59 -59
  456. package/tdd/guides/refactoring.md +10 -10
  457. package/tdd/guides/tests.md +61 -61
  458. package/tdd/references/core-discipline.md +49 -0
  459. package/to-spec/SKILL.md +42 -0
  460. package/to-spec/references/process.md +77 -0
  461. package/to-spec/scripts/check-project-docs.js +259 -0
  462. package/to-spec/templates/cli-reference.md +31 -0
  463. package/to-spec/templates/dev-doc.md +27 -0
  464. package/to-spec/templates/feature-spec.md +59 -0
  465. package/to-spec/templates/schema-doc.md +31 -0
  466. package/to-tickets/SKILL.md +42 -0
  467. package/to-tickets/references/publishing-and-templates.md +97 -0
  468. package/todo-driven-workflow/SKILL.md +40 -54
  469. package/todo-driven-workflow/references/execution-guide.md +27 -0
  470. package/using-git-worktrees/SKILL.md +49 -161
  471. package/using-git-worktrees/references/workflow-details.md +108 -0
  472. package/verification-loop/SKILL.md +46 -138
  473. package/verification-loop/references/verification-phases.md +116 -0
  474. package/verification-loop/templates/verification-report.template.md +15 -0
  475. package/verify-before-claim/SKILL.md +43 -86
  476. package/verify-before-claim/references/verification-guide.md +73 -0
  477. package/zoom-out/SKILL.md +42 -90
  478. package/zoom-out/references/circuit-breaker.md +66 -0
  479. package/zoom-out/templates/zoom-out-report.template.md +20 -0
  480. package/build-multi-agent-system/AGENTS.md +0 -50
  481. package/build-multi-agent-system/README.md +0 -63
  482. package/build-multi-agent-system/SKILL.md +0 -68
  483. package/create-agent-launcher/SKILL.md +0 -48
  484. package/create-agent-launcher/guidelines/platform-gemini.md +0 -101
  485. package/create-agent-launcher/workflows/01-init.md +0 -22
  486. package/create-agent-launcher/workflows/02-analysis.md +0 -26
  487. package/create-agent-launcher/workflows/03-generation.md +0 -29
  488. package/create-agent-launcher/workflows/04-launcher.md +0 -20
  489. package/docs/workflows/build-multi-agent-system.md +0 -62
  490. package/docs/workflows/create-agent-launcher.md +0 -62
  491. package/eval-framework/behavioral-test.js +0 -105
  492. package/eval-framework/mechanism-test.js +0 -251
  493. package/harness-everything/scripts/todo-cli.js +0 -157
  494. package/skill-style/STYLE.md +0 -37
@@ -0,0 +1,27 @@
1
+ # Execution Guide (Deep Dive)
2
+
3
+ ## Tracker selection
4
+
5
+ ```mermaid
6
+ flowchart TD
7
+ Start[Task needs milestones] --> Native{Native TODO tracker available?}
8
+ Native -->|Yes| Host[Use the host tracker]
9
+ Native -->|No| Markdown[Create tasks/todo.md or .github/harness-everything/todo.md]
10
+ Host --> One[Keep exactly one item in-progress]
11
+ Markdown --> One
12
+ One --> Check[Run the named verification command]
13
+ Check --> Record[Record evidence and mark the item complete]
14
+ ```
15
+
16
+ ## Rules
17
+
18
+ 1. Define 3-7 verifiable milestones before changing files.
19
+ 2. Prefer the host's native TODO tool and preserve its status history.
20
+ 3. If no native tracker exists, use a Markdown checklist in the repository or platform project-instructions area.
21
+ 4. Each item names its output, pass condition, and verification command.
22
+ 5. Keep one item `in-progress`; complete it from evidence before starting another.
23
+ 6. When parallel agents are active, isolate their writes with `using-git-worktrees` and merge only after scope review.
24
+
25
+ The former repository TODO CLI is intentionally not a fallback. This keeps
26
+ tracking native to the host or transparent in Markdown and avoids shared
27
+ cross-session state collisions.
@@ -1,161 +1,49 @@
1
- ---
2
- name: using-git-worktrees
3
- description: Use when starting feature work that needs isolation from current workspace or before executing implementation plans - ensures an isolated workspace exists via native tools or git worktree fallback
4
- author: Miya Daniel | Harness Core Team
5
- version: 0.2.0
6
- ---
7
-
8
- # Using Git Worktrees
9
-
10
- ## 📋 Skill Contract
11
-
12
- | Component | Specification |
13
- | :--- | :--- |
14
- | **Trigger / Input** | Starting feature work that needs isolation from the current workspace, or before executing an implementation plan. |
15
- | **Expected Output** | An isolated workspace (native worktree tool preferred, `git worktree add` fallback) with dependencies installed and a clean baseline test run confirmed. |
16
- | **State Mutations** | May create a new worktree directory/branch (`.worktrees/<branch>` by default) and add it to `.gitignore` if not already ignored. |
17
- | **Enforcement Gate** | **MUST** detect an already-isolated workspace first (`GIT_DIR != GIT_COMMON`, excluding submodules) and skip creating a redundant one. **MUST** verify the worktree directory is gitignored before creating it. **MUST** get human consent before creating a new worktree if no preference was already declared. |
18
-
19
- ## Overview
20
-
21
- Ensure work happens in an isolated workspace. Prefer your platform's native worktree tools. Fall back to manual git worktrees only when no native tool is available.
22
-
23
- **Core principle:** Detect existing isolation first. Then use native tools. Then fall back to git. Never fight the harness.
24
-
25
- **Announce at start:** "I'm using the using-git-worktrees skill to set up an isolated workspace."
26
-
27
- ## Step 0: Detect Existing Isolation
28
-
29
- **Before creating anything, check if you are already in an isolated workspace.**
30
-
31
- ```bash
32
- GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
33
- GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
34
- BRANCH=$(git branch --show-current)
35
- ```
36
-
37
- **Submodule guard:** `GIT_DIR != GIT_COMMON` is also true inside git submodules. Before concluding "already in a worktree," verify you are not in a submodule:
38
-
39
- ```bash
40
- # If this returns a path, you're in a submodule, not a worktree — treat as normal repo
41
- git rev-parse --show-superproject-working-tree 2>/dev/null
42
- ```
43
-
44
- **If `GIT_DIR != GIT_COMMON` (and not a submodule):** You are already in a linked worktree. Skip to Step 2 (Project Setup). Do NOT create another worktree.
45
-
46
- Report with branch state:
47
- - On a branch: "Already in isolated workspace at `<path>` on branch `<name>`."
48
- - Detached HEAD: "Already in isolated workspace at `<path>` (detached HEAD, externally managed). Branch creation needed at finish time."
49
-
50
- **If `GIT_DIR == GIT_COMMON` (or in a submodule):** You are in a normal repo checkout.
51
-
52
- Has the user already indicated their worktree preference in your instructions? If not, ask for consent before creating a worktree:
53
-
54
- > "Would you like me to set up an isolated worktree? It protects your current branch from changes."
55
-
56
- Honor any existing declared preference without asking. If the user declines consent, work in place and skip to Step 2.
57
-
58
- ## Step 1: Create Isolated Workspace
59
-
60
- **You have two mechanisms. Try them in this order.**
61
-
62
- ### 1a. Native Worktree Tools (preferred)
63
-
64
- The user has asked for an isolated workspace (Step 0 consent). Do you already have a way to create a worktree? It might be a tool with a name like `EnterWorktree`, `WorktreeCreate`, a `/worktree` command, or a `--worktree` flag. If you do, use it and skip to Step 2.
65
-
66
- Native tools handle directory placement, branch creation, and cleanup automatically. Using `git worktree add` when you have a native tool creates phantom state your harness can't see or manage.
67
-
68
- Only proceed to Step 1b if you have no native worktree tool available.
69
-
70
- ### 1b. Git Worktree Fallback
71
-
72
- **Only use this if Step 1a does not apply** — you have no native worktree tool available. Create a worktree manually using git.
73
-
74
- #### Directory Selection
75
-
76
- Follow this priority order. Explicit user preference always beats observed filesystem state.
77
-
78
- 1. **Check your instructions for a declared worktree directory preference.** If the user has already specified one, use it without asking.
79
-
80
- 2. **Check for an existing project-local worktree directory:**
81
- ```bash
82
- ls -d .worktrees 2>/dev/null # Preferred (hidden)
83
- ls -d worktrees 2>/dev/null # Alternative
84
- ```
85
- If found, use it. If both exist, `.worktrees` wins.
86
-
87
- 3. **If there is no other guidance available**, default to `.worktrees/` at the project root.
88
-
89
- #### Safety Verification (project-local directories only)
90
-
91
- **MUST verify directory is ignored before creating worktree:**
92
-
93
- ```bash
94
- git check-ignore -q .worktrees 2>/dev/null || git check-ignore -q worktrees 2>/dev/null
95
- ```
96
-
97
- **If NOT ignored:** Add to .gitignore, commit the change, then proceed.
98
-
99
- **Why critical:** Prevents accidentally committing worktree contents to repository.
100
-
101
- #### Create the Worktree
102
-
103
- ```bash
104
- # Determine path based on chosen location
105
- path="$LOCATION/$BRANCH_NAME"
106
-
107
- git worktree add "$path" -b "$BRANCH_NAME"
108
- cd "$path"
109
- ```
110
-
111
- **Sandbox fallback:** If `git worktree add` fails with a permission error (sandbox denial), tell the user the sandbox blocked worktree creation and you're working in the current directory instead. Then run setup and baseline tests in place.
112
-
113
- ## Step 2: Project Setup
114
-
115
- Auto-detect and run appropriate setup:
116
-
117
- ```bash
118
- # Node.js
119
- if [ -f package.json ]; then npm install; fi
120
-
121
- # Rust
122
- if [ -f Cargo.toml ]; then cargo build; fi
123
-
124
- # Python
125
- if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
126
- if [ -f pyproject.toml ]; then poetry install; fi
127
-
128
- # Go
129
- if [ -f go.mod ]; then go mod download; fi
130
- ```
131
-
132
- ## Step 3: Verify Clean Baseline
133
-
134
- Run tests to ensure workspace starts clean:
135
-
136
- ```bash
137
- # Use project-appropriate command
138
- npm test / cargo test / pytest / go test ./...
139
- ```
140
-
141
- **If tests fail:** Report failures, ask whether to proceed or investigate.
142
-
143
- **If tests pass:** Report ready.
144
-
145
- ### Report
146
-
147
- ```
148
- Worktree ready at <full-path>
149
- Tests passing (<N> tests, 0 failures)
150
- Ready to implement <feature-name>
151
- ```
152
-
153
- ## Quick Reference
154
-
155
- | Situation | Action |
156
- |-----------|--------|
157
- | Already in linked worktree | Skip creation (Step 0) |
158
- | In a submodule | Treat as normal repo (Step 0 guard) |
159
- | Native worktree tool available | Use it (Step 1a) |
160
- | No native tool | Git worktree fallback (Step 1b) |
161
- | `.worktrees/` exists | Use it (verify ignored) |
1
+ ---
2
+ name: using-git-worktrees
3
+ description: Use when starting feature work needing isolation or before implementation plans - ensures an isolated workspace via native tools or git worktree fallback
4
+ license: Apache-2.0
5
+ metadata:
6
+ author: Miya Daniel
7
+ version: 0.3.4
8
+ ---
9
+
10
+ # Using Git Worktrees
11
+
12
+ Native worktree tools first, git fallback.
13
+
14
+ ## 📋 Skill Contract
15
+
16
+ | Component | Specification |
17
+ | :--- | :--- |
18
+ | **Trigger / Input** | Isolation-needing feature work; pre-plan setup. |
19
+ | **Expected Output** | Isolated workspace plus clean test baseline. |
20
+ | **State Mutations** | Creates `.worktrees/<branch>`; updates `.gitignore` if needed. |
21
+ | **Enforcement Gate** | Detect existing isolation first; seamless sandbox fallback. |
22
+
23
+ ## Workflow
24
+
25
+ **Step 0 — Detect existing isolation** (adapt per `environment-detection`):
26
+ ```bash
27
+ git rev-parse --git-dir
28
+ git rev-parse --git-common-dir
29
+ git branch --show-current
30
+ git rev-parse --show-superproject-working-tree
31
+ ```
32
+ Dirs differ and no superproject → already isolated; skip to Step 2; never nest. Superproject → submodule (normal repo). Else honor declared preference or ask consent; declined → in place.
33
+
34
+ **Step 1 — Create**: native tool (`EnterWorktree`, `/worktree`, `--worktree`) first — raw git creates phantom state. Else verify ignored via `git check-ignore -q .worktrees || git check-ignore -q worktrees`; unignored → add to .gitignore and commit. Then `git worktree add "$path" -b "$BRANCH_NAME"` at declared preference, existing `.worktrees/`/`worktrees/`, or default `.worktrees/`. Sandbox denial → work in place.
35
+
36
+ **Step 2 — Setup**: npm/cargo/pip/poetry/go.
37
+
38
+ **Step 3 — Baseline**: run tests (`npm test`/`cargo test`/`pytest`/`go test ./...`); failures → report, ask.
39
+
40
+ Deep dive: references/workflow-details.md
41
+
42
+ ## USE FOR:
43
+ - feature work needing isolation
44
+ - pre-implementation-plan setup
45
+ - native vs manual `git worktree add`
46
+
47
+ ## DO NOT USE FOR:
48
+ - nesting inside an existing worktree
49
+ - branch/merge workflows
@@ -0,0 +1,108 @@
1
+ # Using Git Worktrees — Full Workflow Reference
2
+
3
+ ## Decision Flow
4
+
5
+ ```mermaid
6
+ flowchart TD
7
+ Start[Trigger: Need Workspace Isolation] --> CheckIso{1. Already in Worktree?}
8
+
9
+ CheckIso -- Yes (GIT_DIR != GIT_COMMON) --> Setup[3. Run Project Setup & Dependencies]
10
+ CheckIso -- No (Normal Repo) --> CheckNative{2. Native Worktree Tool Available?}
11
+
12
+ CheckNative -- Yes --> RunNative[Use Native Worktree Tool] --> Setup
13
+ CheckNative -- No --> RunGit[Try git worktree add .worktrees/branch]
14
+
15
+ RunGit -- Success --> Setup
16
+ RunGit -- Fails / Denied --> WorkInPlace[Fallback: Work in Place in Current Directory] --> Setup
17
+
18
+ Setup --> RunBaseline[4. Verify Clean Test Baseline]
19
+ RunBaseline --> Done[Isolated Workspace Ready]
20
+ ```
21
+
22
+ ## Step 0 detail
23
+
24
+ **Submodule guard:** `git-dir` differs from `git-common-dir` inside git submodules as well. Before concluding "already in a worktree," verify you are not in a submodule:
25
+
26
+ ```bash
27
+ # If this returns a path, you're in a submodule, not a worktree — treat as normal repo
28
+ git rev-parse --show-superproject-working-tree
29
+ ```
30
+
31
+ Report with branch state:
32
+ - On a branch: "Already in isolated workspace at `<path>` on branch `<name>`."
33
+ - Detached HEAD: "Already in isolated workspace at `<path>` (detached HEAD, externally managed). Branch creation needed at finish time."
34
+
35
+ Has the user already indicated their worktree preference in your instructions? If not, ask for consent before creating a worktree:
36
+
37
+ > "Would you like me to set up an isolated worktree? It protects your current branch from changes."
38
+
39
+ Honor any existing declared preference without asking. If the user declines consent, work in place and skip to project setup.
40
+
41
+ ## Step 1a detail — native tools
42
+
43
+ The user has asked for an isolated workspace. Do you already have a way to create a worktree? It might be a tool with a name like `EnterWorktree`, `WorktreeCreate`, a `/worktree` command, or a `--worktree` flag. If you do, use it and skip to setup.
44
+
45
+ Native tools handle directory placement, branch creation, and cleanup automatically. Using `git worktree add` when you have a native tool creates phantom state your harness can't see or manage.
46
+
47
+ Only use the git fallback if you have no native worktree tool available.
48
+
49
+ ## Step 1b detail — directory selection priority
50
+
51
+ Follow this priority order. Explicit user preference always beats observed filesystem state.
52
+
53
+ 1. **Check your instructions for a declared worktree directory preference.** If the user has already specified one, use it without asking.
54
+ 2. **Check for an existing project-local worktree directory:** Check if `.worktrees/` or `worktrees/` exists using cross-platform file system tools (`read_file` / `list_dir` or native shell test commands). If found, use it. If both exist, `.worktrees` wins.
55
+ 3. **If there is no other guidance available**, default to `.worktrees/` at the project root.
56
+
57
+ ### Safety verification (project-local directories only)
58
+
59
+ **MUST verify directory is ignored before creating worktree:**
60
+
61
+ ```bash
62
+ git check-ignore -q .worktrees || git check-ignore -q worktrees
63
+ ```
64
+
65
+ **If NOT ignored:** Add to .gitignore, commit the change, then proceed.
66
+
67
+ **Why critical:** Prevents accidentally committing worktree contents to repository.
68
+
69
+ ### Create the worktree
70
+
71
+ ```bash
72
+ # Determine path based on chosen location
73
+ path="$LOCATION/$BRANCH_NAME"
74
+
75
+ git worktree add "$path" -b "$BRANCH_NAME"
76
+ cd "$path"
77
+ ```
78
+
79
+ **Sandbox fallback:** If `git worktree add` fails with a permission error (sandbox denial), tell the user the sandbox blocked worktree creation and you're working in the current directory instead. Then run setup and baseline tests in place.
80
+
81
+ ## Step 2 detail — project setup
82
+
83
+ Auto-detect and run appropriate setup:
84
+
85
+ ```bash
86
+ # Node.js
87
+ if [ -f package.json ]; then npm install; fi
88
+
89
+ # Rust
90
+ if [ -f Cargo.toml ]; then cargo build; fi
91
+
92
+ # Python
93
+ if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
94
+ if [ -f pyproject.toml ]; then poetry install; fi
95
+
96
+ # Go
97
+ if [ -f go.mod ]; then go mod download; fi
98
+ ```
99
+
100
+ ## Step 3 detail — baseline report
101
+
102
+ If tests fail: report failures, ask whether to proceed or investigate. If tests pass:
103
+
104
+ ```
105
+ Worktree ready at <full-path>
106
+ Tests passing (<N> tests, 0 failures)
107
+ Ready to implement <feature-name>
108
+ ```
@@ -1,138 +1,46 @@
1
- ---
2
- name: verification-loop
3
- description: "A comprehensive verification system for Claude Code sessions."
4
- author: Miya Daniel | Harness Core Team
5
- version: 0.2.0
6
- metadata:
7
- origin: ECC
8
- ---
9
-
10
- # Verification Loop Skill
11
-
12
- ## 📋 Skill Contract
13
-
14
- | Component | Specification |
15
- | :--- | :--- |
16
- | **Trigger / Input** | Approaching task completion or PR creation. Input: The modified project files. |
17
- | **Expected Output** | Terminal logs showing successful Build, Type Check, Lint, and Test execution. |
18
- | **State Mutations** | None. Pure verification. |
19
- | **Enforcement Gate** | You MUST execute `npm run build`, `npm run lint`, and `npm run test` (or equivalent). You cannot complete the task if any of these return Exit Code 1. |
20
-
21
- A comprehensive verification system for Claude Code sessions.
22
-
23
- ## When to Use
24
-
25
- Invoke this skill:
26
- - After completing a feature or significant code change
27
- - Before creating a PR
28
- - When you want to ensure quality gates pass
29
- - After refactoring
30
-
31
- ## Verification Phases
32
-
33
- ### Phase 1: Build Verification
34
- ```bash
35
- # Check if project builds
36
- npm run build 2>&1 | tail -20
37
- # OR
38
- pnpm build 2>&1 | tail -20
39
- ```
40
-
41
- If build fails, STOP and fix before continuing.
42
-
43
- ### Phase 2: Type Check
44
- ```bash
45
- # TypeScript projects
46
- npx tsc --noEmit 2>&1 | head -30
47
-
48
- # Python projects
49
- pyright . 2>&1 | head -30
50
- ```
51
-
52
- Report all type errors. Fix critical ones before continuing.
53
-
54
- ### Phase 3: Lint Check
55
- ```bash
56
- # JavaScript/TypeScript
57
- npm run lint 2>&1 | head -30
58
-
59
- # Python
60
- ruff check . 2>&1 | head -30
61
- ```
62
-
63
- ### Phase 4: Test Suite
64
- ```bash
65
- # Run tests with coverage
66
- npm run test -- --coverage 2>&1 | tail -50
67
-
68
- # Check coverage threshold
69
- # Target: 80% minimum
70
- ```
71
-
72
- Report:
73
- - Total tests: X
74
- - Passed: X
75
- - Failed: X
76
- - Coverage: X%
77
-
78
- ### Phase 5: Security Scan
79
- ```bash
80
- # Check for secrets
81
- grep -rn "sk-" --include="*.ts" --include="*.js" . 2>/dev/null | head -10
82
- grep -rn "api_key" --include="*.ts" --include="*.js" . 2>/dev/null | head -10
83
-
84
- # Check for console.log
85
- grep -rn "console.log" --include="*.ts" --include="*.tsx" src/ 2>/dev/null | head -10
86
- ```
87
-
88
- ### Phase 6: Diff Review
89
- ```bash
90
- # Show what changed
91
- git diff --stat
92
- git diff HEAD~1 --name-only
93
- ```
94
-
95
- Review each changed file for:
96
- - Unintended changes
97
- - Missing error handling
98
- - Potential edge cases
99
-
100
- ## Output Format
101
-
102
- After running all phases, produce a verification report:
103
-
104
- ```
105
- VERIFICATION REPORT
106
- ==================
107
-
108
- Build: [PASS/FAIL]
109
- Types: [PASS/FAIL] (X errors)
110
- Lint: [PASS/FAIL] (X warnings)
111
- Tests: [PASS/FAIL] (X/Y passed, Z% coverage)
112
- Security: [PASS/FAIL] (X issues)
113
- Diff: [X files changed]
114
-
115
- Overall: [READY/NOT READY] for PR
116
-
117
- Issues to Fix:
118
- 1. ...
119
- 2. ...
120
- ```
121
-
122
- ## Continuous Mode
123
-
124
- For long sessions, run verification every 15 minutes or after major changes:
125
-
126
- ```markdown
127
- Set a mental checkpoint:
128
- - After completing each function
129
- - After finishing a component
130
- - Before moving to next task
131
-
132
- Run: /verify
133
- ```
134
-
135
- ## Integration with Hooks
136
-
137
- This skill complements PostToolUse hooks but provides deeper verification.
138
- Hooks catch issues immediately; this skill provides comprehensive review.
1
+ ---
2
+ name: verification-loop
3
+ description: "Run objective verification gates (build, types, lint, tests, security scan) before claiming work done. USE FOR: \"run the full verification loop\", \"verify this is done before delivery\". DO NOT USE FOR: \"design discussions with no completed work\", \"planning without code changes\"."
4
+ license: Apache-2.0
5
+ metadata:
6
+ author: Miya Daniel
7
+ version: 0.3.6
8
+ ---
9
+
10
+ # Verification Loop
11
+
12
+ Run objective quality gates before claiming a change is ready.
13
+
14
+ ## Skill Contract
15
+
16
+ | Component | Specification |
17
+ | :--- | :--- |
18
+ | **Trigger / Input** | Completed implementation or change awaiting delivery. |
19
+ | **Expected Output** | Evidence-backed verification report and delivery decision. |
20
+ | **State Mutations** | Fills a report from `templates/verification-report.template.md`. |
21
+ | **Enforcement Gate** | Build, type, lint, test, security, and diff gates all pass. |
22
+
23
+ ## USE FOR:
24
+
25
+ - Verify a feature or change before delivery
26
+ - Run quality gates before a PR
27
+
28
+ ## DO NOT USE FOR:
29
+
30
+ - Fixing failures without re-running the loop
31
+ - Writing new features or tests (use `tdd`)
32
+
33
+ ## Workflow
34
+
35
+ Never claim completion until every applicable gate passes. On failure, fix the cause
36
+ and rerun from the first affected gate.
37
+
38
+ 1. Build: `npm run build`.
39
+ 2. Types: `npx tsc --noEmit` or `pyright .`.
40
+ 3. Lint: `npm run lint` or `ruff check .`.
41
+ 4. Tests and coverage: `npm run test -- --coverage`.
42
+ 5. Security scan: secrets and stray logs.
43
+ 6. Diff review: `git diff --stat` and unintended-change checks.
44
+ 7. Fill `templates/verification-report.template.md` with evidence.
45
+
46
+ Deep dive: `references/verification-phases.md`
@@ -0,0 +1,116 @@
1
+ # Verification Phases (Deep Dive)
2
+
3
+ ## Decision Flow
4
+
5
+ ```mermaid
6
+ flowchart TD
7
+ Start[Trigger: Pre-Delivery / PR Verification] --> Build[1. Phase 1: Build Verification]
8
+ Build --> Type[2. Phase 2: Type Check]
9
+ Type --> Lint[3. Phase 3: Lint Check]
10
+ Lint --> Test[4. Phase 4: Test Suite Execution]
11
+ Test --> Security[5. Phase 5: Security & Secret Scan]
12
+ Security --> Diff[6. Phase 6: Diff Review]
13
+
14
+ Diff --> CheckScript{7. Is verify-gate.js / Template Available?}
15
+
16
+ CheckScript -- Yes --> RunScript[Run harness-everything/scripts/verify-gate.js / Fill verification-report.template.md]
17
+ CheckScript -- No --> DirectReport[Output Verification Report Inline in Response]
18
+
19
+ RunScript --> ReportResult{All Verification Gates Passed?}
20
+ DirectReport --> ReportResult
21
+
22
+ ReportResult -- Exit 0 / All Green --> Deliver[Task Ready for Delivery / PR]
23
+ ReportResult -- Failures Detected --> Fix[Fix Issues in Code & Re-verify] --> Build
24
+ ```
25
+
26
+ Adapt commands according to the project's ecosystem and active environment (`environment-detection`). Run commands directly without non-portable POSIX pipe assumptions (avoid raw `head`, `tail`, `grep`, `2>/dev/null` piping on Windows).
27
+
28
+ ## Phase 1: Build Verification
29
+
30
+ ```bash
31
+ # Check if project builds (JS/TS example)
32
+ npm run build
33
+ # OR
34
+ pnpm build
35
+ ```
36
+
37
+ If build fails, STOP and fix before continuing.
38
+
39
+ ## Phase 2: Type Check
40
+
41
+ ```bash
42
+ # TypeScript projects
43
+ npx tsc --noEmit
44
+
45
+ # Python projects
46
+ pyright .
47
+ ```
48
+
49
+ Report all type errors. Fix critical ones before continuing.
50
+
51
+ ## Phase 3: Lint Check
52
+
53
+ ```bash
54
+ # JavaScript/TypeScript
55
+ npm run lint
56
+
57
+ # Python
58
+ ruff check .
59
+ ```
60
+
61
+ ## Phase 4: Test Suite
62
+
63
+ ```bash
64
+ # Run tests with coverage
65
+ npm run test -- --coverage
66
+
67
+ # Check coverage threshold
68
+ # Target: 80% minimum
69
+ ```
70
+
71
+ Report:
72
+ - Total tests: X
73
+ - Passed: X
74
+ - Failed: X
75
+ - Coverage: X%
76
+
77
+ ## Phase 5: Security & Code Hygiene Scan
78
+
79
+ Use native IDE search tools (`grep_search` / `file_search`) or cross-platform scripts rather than raw terminal `grep` pipes:
80
+ - Check for hardcoded API keys / secrets (`sk-`, `api_key`).
81
+ - Check for leftover debug log statements (`console.log`, `print`).
82
+
83
+ ## Phase 6: Diff Review
84
+
85
+ ```bash
86
+ # Show what changed
87
+ git diff --stat
88
+ git diff HEAD~1 --name-only
89
+ ```
90
+
91
+ Review each changed file for:
92
+ - Unintended changes
93
+ - Missing error handling
94
+ - Potential edge cases
95
+
96
+ ## Output Format
97
+
98
+ After running all phases, fill in `verification-loop/templates/verification-report.template.md` with the actual results and present it.
99
+
100
+ ## Continuous Mode
101
+
102
+ For long sessions, run verification every 15 minutes or after major changes:
103
+
104
+ ```markdown
105
+ Set a mental checkpoint:
106
+ - After completing each function
107
+ - After finishing a component
108
+ - Before moving to next task
109
+
110
+ Run: /verify
111
+ ```
112
+
113
+ ## Integration with Hooks
114
+
115
+ This skill complements PostToolUse hooks but provides deeper verification.
116
+ Hooks catch issues immediately; this skill provides comprehensive review.
@@ -0,0 +1,15 @@
1
+ VERIFICATION REPORT
2
+ ==================
3
+
4
+ Build: [PASS/FAIL]
5
+ Types: [PASS/FAIL] (X errors)
6
+ Lint: [PASS/FAIL] (X warnings)
7
+ Tests: [PASS/FAIL] (X/Y passed, Z% coverage)
8
+ Security: [PASS/FAIL] (X issues)
9
+ Diff: [X files changed]
10
+
11
+ Overall: [READY/NOT READY] for PR
12
+
13
+ Issues to Fix:
14
+ 1. ...
15
+ 2. ...