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,153 @@
1
+ # Performance Checklist
2
+
3
+ Quick reference checklist for web application performance. Use alongside the `performance-optimization` skill.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Core Web Vitals Targets](#core-web-vitals-targets)
8
+ - [TTFB Diagnosis](#ttfb-diagnosis)
9
+ - [Frontend Checklist](#frontend-checklist)
10
+ - [Backend Checklist](#backend-checklist)
11
+ - [Measurement Commands](#measurement-commands)
12
+ - [Common Anti-Patterns](#common-anti-patterns)
13
+
14
+ ## Core Web Vitals Targets
15
+
16
+ | Metric | Good | Needs Work | Poor |
17
+ |--------|------|------------|------|
18
+ | LCP (Largest Contentful Paint) | ≤ 2.5s | ≤ 4.0s | > 4.0s |
19
+ | INP (Interaction to Next Paint) | ≤ 200ms | ≤ 500ms | > 500ms |
20
+ | CLS (Cumulative Layout Shift) | ≤ 0.1 | ≤ 0.25 | > 0.25 |
21
+
22
+ ## TTFB Diagnosis
23
+
24
+ When TTFB is slow (> 800ms), check each component in DevTools Network waterfall:
25
+
26
+ - [ ] **DNS resolution** slow → add `<link rel="dns-prefetch">` or `<link rel="preconnect">` for known origins
27
+ - [ ] **TCP/TLS handshake** slow → enable HTTP/2, consider edge deployment, verify keep-alive
28
+ - [ ] **Server processing** slow → profile backend, check slow queries, add caching
29
+
30
+ ## Frontend Checklist
31
+
32
+ ### Images
33
+ - [ ] Images use modern formats (WebP, AVIF)
34
+ - [ ] Images are responsively sized (`srcset` and `sizes`)
35
+ - [ ] Images and `<source>` elements have explicit `width` and `height` (prevents CLS in art direction)
36
+ - [ ] Below-the-fold images use `loading="lazy"` and `decoding="async"`
37
+ - [ ] Hero/LCP images use `fetchpriority="high"` and no lazy loading
38
+
39
+ ### JavaScript
40
+ - [ ] Bundle size under 200KB gzipped (initial load)
41
+ - [ ] Code splitting with dynamic `import()` for routes and heavy features
42
+ - [ ] Tree shaking enabled (verify dependency ships ESM and marks `sideEffects: false`)
43
+ - [ ] No blocking JavaScript in `<head>` (use `defer` or `async`)
44
+ - [ ] Heavy computation offloaded to Web Workers (if applicable)
45
+ - [ ] `React.memo()` on expensive components that re-render with same props
46
+ - [ ] `useMemo()` / `useCallback()` only where profiling shows benefit
47
+ - [ ] Long tasks (> 50ms) broken up to keep the main thread available — main lever for INP
48
+ - [ ] `yieldToMain` pattern used inside long-running loops so input events can run between chunks
49
+ - [ ] Modern scheduling APIs used where available: `scheduler.yield()` (preferred), `scheduler.postTask()` with priorities, `isInputPending()` to yield only when needed
50
+ - [ ] `requestIdleCallback` for deferrable, non-urgent work (analytics flush, prefetch, warmup)
51
+ - [ ] Non-critical work deferred out of event handlers (e.g. analytics, logging) so the response to the interaction is not delayed
52
+ - [ ] Third-party scripts loaded with `async` / `defer`, audited for size, and fronted by a facade when heavy (chat widgets, embeds)
53
+
54
+ ### CSS
55
+ - [ ] Critical CSS inlined or preloaded
56
+ - [ ] No render-blocking CSS for non-critical styles
57
+ - [ ] No CSS-in-JS runtime cost in production (use extraction)
58
+
59
+ ### Fonts
60
+ - [ ] Limited to 2–3 font families, 2–3 weights each (every additional weight is another request)
61
+ - [ ] WOFF2 format only (smallest, universal support — skip WOFF/TTF/EOT)
62
+ - [ ] Self-hosted when possible (third-party font CDNs add DNS + TCP + TLS round-trips)
63
+ - [ ] LCP-critical fonts preloaded: `<link rel="preload" as="font" type="font/woff2" crossorigin>`
64
+ - [ ] `font-display: swap` (or `optional` for non-critical) to avoid FOIT blocking render
65
+ - [ ] Subsetted via `unicode-range` to ship only the glyphs each page needs
66
+ - [ ] Variable fonts considered when multiple weights/styles are required (one file replaces many)
67
+ - [ ] Fallback font metrics adjusted with `size-adjust`, `ascent-override`, `descent-override` to reduce CLS on font swap
68
+ - [ ] System font stack considered before any custom font
69
+
70
+ ### Network
71
+ - [ ] Static assets cached with long `max-age` + content hashing
72
+ - [ ] API responses cached where appropriate (`Cache-Control`)
73
+ - [ ] HTTP/2 or HTTP/3 enabled
74
+ - [ ] Resources preconnected (`<link rel="preconnect">`) for known origins
75
+ - [ ] `fetchpriority` used on critical non-image resources (e.g., key `<link rel="preload">`, above-the-fold `<script>`) — not only on `<img>`
76
+ - [ ] No unnecessary redirects
77
+
78
+ ### Rendering
79
+ - [ ] No layout thrashing (forced synchronous layouts)
80
+ - [ ] Animations use `transform` and `opacity` (GPU-accelerated)
81
+ - [ ] Long lists use virtualization (e.g., `react-window`)
82
+ - [ ] No unnecessary full-page re-renders
83
+ - [ ] Off-screen sections use `content-visibility: auto` with `contain-intrinsic-size` to skip layout/paint of non-visible areas
84
+ - [ ] No `unload` event handlers and no `Cache-Control: no-store` on HTML responses — preserves back/forward cache (bfcache) eligibility
85
+
86
+ ## Backend Checklist
87
+
88
+ ### Database
89
+ - [ ] No N+1 query patterns (use eager loading / joins)
90
+ - [ ] Queries have appropriate indexes
91
+ - [ ] List endpoints paginated (never `SELECT * FROM table`)
92
+ - [ ] Connection pooling configured
93
+ - [ ] Slow query logging enabled
94
+
95
+ ### API
96
+ - [ ] Response times < 200ms (p95)
97
+ - [ ] No synchronous heavy computation in request handlers
98
+ - [ ] Bulk operations instead of loops of individual calls
99
+ - [ ] Response compression (gzip/brotli)
100
+ - [ ] Appropriate caching (in-memory, Redis, CDN)
101
+
102
+ ### Infrastructure
103
+ - [ ] CDN for static assets
104
+ - [ ] Server located close to users (or edge deployment)
105
+ - [ ] Horizontal scaling configured (if needed)
106
+ - [ ] Health check endpoint for load balancer
107
+
108
+ ## Measurement Commands
109
+
110
+ ### INP field data and DevTools workflow
111
+
112
+ 1. **Field data first** — check [CrUX Vis](https://developer.chrome.com/docs/crux/vis) or your RUM tool for real-user INP before optimising
113
+ 2. **Identify slow interactions** — open DevTools → Performance panel → record while interacting; look for long tasks triggered by clicks/keystrokes
114
+ 3. **Test on mid-range Android** — INP issues often only surface on slower hardware; use a real device or DevTools CPU throttling (4×–6× slowdown)
115
+
116
+ ```bash
117
+ # Lighthouse CLI
118
+ npx lighthouse https://localhost:3000 --output json --output-path ./report.json
119
+
120
+ # Bundle analysis
121
+ npx webpack-bundle-analyzer stats.json
122
+ # or for Vite:
123
+ npx vite-bundle-visualizer
124
+
125
+ # Check bundle size
126
+ npx bundlesize
127
+
128
+ # Web Vitals in code
129
+ import { onLCP, onINP, onCLS } from 'web-vitals';
130
+ onLCP(console.log);
131
+ onINP(console.log);
132
+ onCLS(console.log);
133
+
134
+ # INP with interaction-level detail (attribution build)
135
+ import { onINP } from 'web-vitals/attribution';
136
+ onINP(({ value, attribution }) => {
137
+ const { interactionTarget, inputDelay, processingDuration, presentationDelay } = attribution;
138
+ console.log({ value, interactionTarget, inputDelay, processingDuration, presentationDelay });
139
+ });
140
+ ```
141
+
142
+ ## Common Anti-Patterns
143
+
144
+ | Anti-Pattern | Impact | Fix |
145
+ |---|---|---|
146
+ | N+1 queries | Linear DB load growth | Use joins, includes, or batch loading |
147
+ | Unbounded queries | Memory exhaustion, timeouts | Always paginate, add LIMIT |
148
+ | Missing indexes | Slow reads as data grows | Add indexes for filtered/sorted columns |
149
+ | Layout thrashing | Jank, dropped frames | Batch DOM reads, then batch writes |
150
+ | Unoptimized images | Slow LCP, wasted bandwidth | Use WebP, responsive sizes, lazy load |
151
+ | Large bundles | Slow Time to Interactive | Code split, tree shake, audit deps |
152
+ | Blocking main thread | Poor INP, unresponsive UI | Chunk long tasks with `scheduler.yield()` / `yieldToMain`, offload to Web Workers |
153
+ | Memory leaks | Growing memory, eventual crash | Clean up listeners, intervals, refs |
@@ -0,0 +1,58 @@
1
+ # Harness OS Guidance (Advisory)
2
+
3
+ This file provides standardized advisory guidance for AI coding agents across all platforms.
4
+ For Claude Code users, this guidance is enforced via lifecycle hooks (hard enforcement).
5
+ For other platforms (Cursor, Copilot, Codex, Continue.dev, Hermes Agent), this is advisory only.
6
+
7
+ ## Environment Alignment (Discovery over Assumption)
8
+
9
+ Before executing any command:
10
+ 1. Detect your active shell (bash, zsh, PowerShell, cmd, fish)
11
+ 2. Detect your operating system (Windows, macOS, Linux)
12
+ 3. Detect your package manager (npm, yarn, pnpm, bun, pip, cargo)
13
+ 4. Use only commands compatible with your detected environment
14
+
15
+ ## Circuit Breaker Rule (Rule of 3)
16
+
17
+ If you encounter the same error 3 times:
18
+ 1. **STOP.** Do not attempt a 4th variation.
19
+ 2. Re-read the error message carefully - don't guess what it says.
20
+ 3. Check the actual file contents (don't assume you know them).
21
+ 4. Consider: is this a syntax error, logic error, environment issue, or missing dependency?
22
+ 5. Try a fundamentally different approach.
23
+ 6. If still stuck after reflection, escalate to your Human Partner with a clear decision request.
24
+
25
+ ## Context Preservation (Anti-Bloat Protection)
26
+
27
+ - Avoid reading large files unnecessarily
28
+ - When output exceeds 500 lines, summarize key sections
29
+ - Prefer targeted searches (grep/glob) over reading entire files
30
+ - Clean up temporary files and outputs when done
31
+
32
+ ## Self-Evolution (Continuous Workspace Memory)
33
+
34
+ When you resolve a complex issue:
35
+ 1. Reflect on the root cause
36
+ 2. Extract the lesson as a concise rule
37
+ 3. Consider if this should be added to workspace rules
38
+ 4. Prevent future regression by documenting the pattern
39
+
40
+ ## Verification Discipline
41
+
42
+ Before claiming a change works:
43
+ 1. Run the actual tests (don't just read the code)
44
+ 2. Verify the fix works in isolation
45
+ 3. Check for unintended side effects
46
+ 4. Confirm the solution addresses the root cause, not just symptoms
47
+
48
+ ## Token Efficiency
49
+
50
+ - Prefer targeted fixes over broad rewrites
51
+ - Use read-only tools (Read/Grep/Glob) before mutating tools
52
+ - Verify assumptions before implementing solutions
53
+ - Avoid unnecessary context loading
54
+
55
+ ---
56
+
57
+ *This template ensures consistent guidance across all AI coding platforms.*
58
+ *For hard enforcement on Claude Code, see the lifecycle hooks in .claude/settings.json.*
@@ -0,0 +1,205 @@
1
+ # Security Checklist
2
+
3
+ Quick reference for web application security. Use alongside the `security-and-hardening` skill.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Threat Modeling (Start Here)](#threat-modeling-start-here)
8
+ - [Pre-Commit Checks](#pre-commit-checks)
9
+ - [Authentication](#authentication)
10
+ - [Authorization](#authorization)
11
+ - [Input Validation](#input-validation)
12
+ - [Security Headers](#security-headers)
13
+ - [CORS Configuration](#cors-configuration)
14
+ - [Data Protection](#data-protection)
15
+ - [Dependency Security](#dependency-security)
16
+ - [AI / LLM Security](#ai--llm-security)
17
+ - [Error Handling](#error-handling)
18
+ - [OWASP Top 10 Quick Reference](#owasp-top-10-quick-reference)
19
+ - [OWASP Top 10 for LLMs Quick Reference](#owasp-top-10-for-llms-quick-reference)
20
+
21
+ ## Threat Modeling (Start Here)
22
+
23
+ Before reaching for controls, spend five minutes thinking like an attacker:
24
+
25
+ - [ ] Trust boundaries mapped (requests, uploads, webhooks, third-party APIs, LLM output)
26
+ - [ ] Assets named (credentials, PII, payment data, admin actions, money movement)
27
+ - [ ] STRIDE run per boundary (Spoofing, Tampering, Repudiation, Info disclosure, DoS, Elevation)
28
+ - [ ] Abuse cases written next to use cases ("how would I misuse this?")
29
+
30
+ ## Pre-Commit Checks
31
+
32
+ - [ ] No secrets in code (`git diff --cached | grep -i "password\|secret\|api_key\|token"`)
33
+ - [ ] `.gitignore` covers: `.env`, `.env.local`, `*.pem`, `*.key`
34
+ - [ ] `.env.example` uses placeholder values (not real secrets)
35
+
36
+ ## Authentication
37
+
38
+ - [ ] Passwords hashed with bcrypt (≥12 rounds), scrypt, or argon2
39
+ - [ ] Session cookies: `httpOnly`, `secure`, `sameSite: 'lax'`
40
+ - [ ] Session expiration configured (reasonable max-age)
41
+ - [ ] Rate limiting on login endpoint (≤10 attempts per 15 minutes)
42
+ - [ ] Password reset tokens: time-limited (≤1 hour), single-use
43
+ - [ ] Account lockout after repeated failures (optional, with notification)
44
+ - [ ] MFA supported for sensitive operations (optional but recommended)
45
+
46
+ ## Authorization
47
+
48
+ - [ ] Every protected endpoint checks authentication
49
+ - [ ] Every resource access checks ownership/role (prevents IDOR)
50
+ - [ ] Admin endpoints require admin role verification
51
+ - [ ] API keys scoped to minimum necessary permissions
52
+ - [ ] JWT tokens validated (signature, expiration, issuer)
53
+
54
+ ## Input Validation
55
+
56
+ - [ ] All user input validated at system boundaries (API routes, form handlers)
57
+ - [ ] Validation uses allowlists (not denylists)
58
+ - [ ] String lengths constrained (min/max)
59
+ - [ ] Numeric ranges validated
60
+ - [ ] Email, URL, and date formats validated with proper libraries
61
+ - [ ] File uploads: type restricted, size limited, content verified
62
+ - [ ] SQL queries parameterized (no string concatenation)
63
+ - [ ] HTML output encoded (use framework auto-escaping)
64
+ - [ ] URLs validated before redirect (prevent open redirect)
65
+ - [ ] Server-side URL fetches allowlisted; private/reserved IPs blocked (prevent SSRF)
66
+
67
+ ## Security Headers
68
+
69
+ ```
70
+ Content-Security-Policy: default-src 'self'; script-src 'self'
71
+ Strict-Transport-Security: max-age=31536000; includeSubDomains
72
+ X-Content-Type-Options: nosniff
73
+ X-Frame-Options: DENY
74
+ X-XSS-Protection: 0 (disabled, rely on CSP)
75
+ Referrer-Policy: strict-origin-when-cross-origin
76
+ Permissions-Policy: camera=(), microphone=(), geolocation=()
77
+ ```
78
+
79
+ ## CORS Configuration
80
+
81
+ ```typescript
82
+ // Restrictive (recommended)
83
+ cors({
84
+ origin: ['https://yourdomain.com', 'https://app.yourdomain.com'],
85
+ credentials: true,
86
+ methods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE'],
87
+ allowedHeaders: ['Content-Type', 'Authorization'],
88
+ })
89
+
90
+ // NEVER use in production:
91
+ cors({ origin: '*' }) // Allows any origin
92
+ ```
93
+
94
+ ## Data Protection
95
+
96
+ - [ ] Sensitive fields excluded from API responses (`passwordHash`, `resetToken`, etc.)
97
+ - [ ] Sensitive data not logged (passwords, tokens, full CC numbers)
98
+ - [ ] PII encrypted at rest (if required by regulation)
99
+ - [ ] HTTPS for all external communication
100
+ - [ ] Database backups encrypted
101
+
102
+ ## Dependency Security
103
+
104
+ First locate the **installation boundary**. If the package is matched by a parent `workspaces` declaration, use that workspace root; otherwise use the nearest project root that owns both its manifest and dependency graph. At that boundary, corroborate `packageManager` (when present), the lockfile, and CI commands. Stop if they disagree or competing manager lockfiles exist there. A nested project is independent only when it is outside the parent workspace; independent subprojects may legitimately use different managers.
105
+
106
+ | Manager/version signal | Frozen/immutable CI install | Known-advisory audit |
107
+ |---|---|---|
108
+ | npm (`package-lock.json` or `npm-shrinkwrap.json`) | `npm ci` | `npm audit` |
109
+ | pnpm | `pnpm install --frozen-lockfile` | `pnpm audit` |
110
+ | Yarn 2+ | `yarn install --immutable` | `yarn npm audit -A -R` |
111
+ | Yarn 1 | `yarn install --frozen-lockfile` | `yarn audit` |
112
+
113
+ For an unlisted manager or version, consult its official documentation; do not substitute another manager's commands or newer defaults.
114
+
115
+ ### Install-Script Gate
116
+
117
+ Never discover dependency lifecycle scripts by first executing an ordinary install on a client whose defaults have not been verified.
118
+
119
+ 1. Bootstrap with dependency scripts disabled, or with a documented default-deny policy plus fail-closed enforcement.
120
+ 2. Inspect the exact script source and package version before approval.
121
+ 3. Record the narrowest native allow/deny policy at the installation boundary and commit it.
122
+ 4. Run a clean frozen/immutable install with that policy and verify the required packages still build.
123
+
124
+ **Point-in-time snapshot:** Package-manager defaults and command names change quickly. Verify this matrix against the pinned client's current official documentation before relying on it.
125
+
126
+ | Manager version | Native policy |
127
+ |---|---|
128
+ | npm without verified granular approvals | Bootstrap with `npm ci --ignore-scripts`, or persist `ignore-scripts=true` when project-wide blocking is intended. Keep scripts disabled or deliberately upgrade before allowing any reviewed dependency script. |
129
+ | npm 11.18.x (verified on 11.18.0) | Unreviewed dependency scripts run with a warning by default. Enforce `strict-allow-scripts=true` before a normal install, then use the workspace-unaware `npm install-scripts ls` from the installation boundary; keep approvals version-pinned and denials name-wide. |
130
+ | npm 12.x (verified on 12.0.1) | Unreviewed dependency scripts are skipped by default; `strict-allow-scripts=true` makes their presence fail the install before execution. Use the same `npm install-scripts` review and approval flow. |
131
+ | pnpm 11+ | Use `pnpm approve-builds` and commit `allowBuilds` decisions; `strictDepBuilds` defaults to `true`, so unreviewed builds fail. |
132
+ | pnpm 10.26–10.x | Configure `allowBuilds` explicitly, or use `pnpm approve-builds` with the legacy `onlyBuiltDependencies` / `ignoredBuiltDependencies` lists. Set `strictDepBuilds: true`; its v10 default is `false`. |
133
+ | pnpm 10.1–10.25 | `pnpm approve-builds` records the legacy lists; enable `strictDepBuilds` where supported (10.3+). |
134
+ | Older or unknown pnpm | Bootstrap with `pnpm install --frozen-lockfile --ignore-scripts`. Keep scripts disabled unless the pinned version documents an enforceable policy. |
135
+ | Yarn 4.14+ | Dependency postinstalls are disabled by default. Grant only required exceptions with top-level `dependenciesMeta.<package>.built: true`. |
136
+ | Yarn 2–4.13 | Set `enableScripts: false` in `.yarnrc.yml`, then grant only required exceptions with top-level `dependenciesMeta.<package>.built: true`; do not enable scripts globally. |
137
+ | Yarn 1 | Bootstrap with `yarn install --ignore-scripts`; keep scripts disabled unless each required exception is reviewed under the pinned client's documented workflow. |
138
+
139
+ Authoritative checks: [npm install-scripts](https://docs.npmjs.com/cli/v11/commands/npm-install-scripts/), [install policy](https://docs.npmjs.com/cli/v11/commands/npm-install/), and [CLI releases](https://github.com/npm/cli/releases); [pnpm approve-builds](https://pnpm.io/cli/approve-builds) and [build settings](https://pnpm.io/settings#allowbuilds); [Yarn security](https://yarnpkg.com/features/security) and [manifest](https://yarnpkg.com/configuration/manifest#dependenciesMeta).
140
+
141
+ **Supply-chain hygiene** (advisory audits do not catch newly malicious packages):
142
+ - [ ] Exactly one authoritative lockfile per project/workspace root is committed and CI never rewrites it
143
+ - [ ] Critical/high findings are triaged for reachability; deferrals have a reason and review date
144
+ - [ ] Forced audit remediation (`npm audit fix --force` or equivalent) is never automatic; remediation diffs and changelogs are reviewed
145
+ - [ ] Registry signatures/provenance are verified where the manager supports it
146
+ - [ ] Dependency lifecycle scripts are blocked before first execution and approved only through the pinned manager's native policy
147
+ - [ ] New dependencies are reviewed for ownership, maintenance, release age, provenance, transitive graph, and typosquatting
148
+
149
+ ## AI / LLM Security
150
+
151
+ For any feature that calls an LLM (chatbots, summarizers, agents, RAG):
152
+
153
+ - [ ] Model output treated as untrusted — never into `eval`/SQL/shell/`innerHTML`/file paths
154
+ - [ ] Prompt injection assumed; permissions enforced in code, not in the system prompt
155
+ - [ ] Secrets, cross-tenant data, and full system prompts kept out of the context window
156
+ - [ ] Tool/agent permissions scoped; destructive or irreversible actions require confirmation
157
+ - [ ] Token, rate, and recursion/loop limits set (bound consumption)
158
+
159
+ ## Error Handling
160
+
161
+ ```typescript
162
+ // Production: generic error, no internals
163
+ res.status(500).json({
164
+ error: { code: 'INTERNAL_ERROR', message: 'Something went wrong' }
165
+ });
166
+
167
+ // NEVER in production:
168
+ res.status(500).json({
169
+ error: err.message,
170
+ stack: err.stack, // Exposes internals
171
+ query: err.sql, // Exposes database details
172
+ });
173
+ ```
174
+
175
+ ## OWASP Top 10 Quick Reference
176
+
177
+ | # | Vulnerability | Prevention |
178
+ |---|---|---|
179
+ | 1 | Broken Access Control | Auth checks on every endpoint, ownership verification |
180
+ | 2 | Cryptographic Failures | HTTPS, strong hashing, no secrets in code |
181
+ | 3 | Injection | Parameterized queries, input validation |
182
+ | 4 | Insecure Design | Threat modeling, spec-driven development |
183
+ | 5 | Security Misconfiguration | Security headers, minimal permissions, audit deps |
184
+ | 6 | Vulnerable Components | The ecosystem's dependency audit (`npm audit`, `pip-audit`, ...), keep deps updated, minimal deps |
185
+ | 7 | Auth Failures | Strong passwords, rate limiting, session management |
186
+ | 8 | Data Integrity Failures | Verify updates/dependencies, signed artifacts |
187
+ | 9 | Logging Failures | Log security events, don't log secrets |
188
+ | 10 | SSRF | Validate/allowlist URLs, restrict outbound requests |
189
+
190
+ ## OWASP Top 10 for LLMs Quick Reference
191
+
192
+ For apps with LLM features. See the [OWASP GenAI Security Project](https://genai.owasp.org/llm-top-10/).
193
+
194
+ | ID | Risk | Prevention |
195
+ |---|---|---|
196
+ | LLM01 | Prompt Injection | Don't trust the system prompt as a boundary; enforce permissions in code |
197
+ | LLM02 | Sensitive Information Disclosure | Keep secrets/PII out of prompts; filter outputs |
198
+ | LLM03 | Supply Chain | Vet models, datasets, and plugins like any dependency |
199
+ | LLM04 | Data and Model Poisoning | Use trusted model sources, verify integrity; vet fine-tuning and RAG data |
200
+ | LLM05 | Improper Output Handling | Treat model output as untrusted; validate, parameterize, encode |
201
+ | LLM06 | Excessive Agency | Scope tool permissions; confirm destructive actions |
202
+ | LLM07 | System Prompt Leakage | Assume the system prompt can leak; put no secrets in it |
203
+ | LLM08 | Vector and Embedding Weaknesses | Partition RAG embeddings per tenant; validate documents before indexing |
204
+ | LLM09 | Misinformation | Ground answers with citations; validate critical claims; keep a human in the loop |
205
+ | LLM10 | Unbounded Consumption | Cap tokens, request rate, and loop/recursion depth |
@@ -1,45 +1,46 @@
1
- ---
2
- name: repo-docs
3
- description: Automatically generates precise, reader-oriented README.md and AGENTS.md based on actual project scans.
4
- author: Miya Daniel | Harness Core Team
5
- version: 0.2.0
6
- ---
7
-
8
- # Repo Docs (Automated Project Documentation Generation)
9
-
10
- ## 📋 Skill Contract
11
-
12
- | Component | Specification |
13
- | :--- | :--- |
14
- | **Trigger / Input** | Project lacks documentation, or the user requests a `README.md` / `AGENTS.md` / architectural guideline be generated. |
15
- | **Expected Output** | A reader-journey-oriented `README.md` and/or agent-oriented `AGENTS.md`, built from the appropriate template in `repo-docs/templates/`. |
16
- | **State Mutations** | Creates/overwrites `README.md`, `AGENTS.md`, or other doc files at the target path. |
17
- | **Enforcement Gate** | **MUST NOT** be written from training-data assumptions — every claim (language, framework, test/build commands) **MUST** come from actually scanning the project. Uncertain parts **MUST** be marked `// TODO: Pending confirmation` and raised to the human, not guessed. |
18
-
19
- Triggered when a project lacks documentation, the user requests to create a `README.md`, or needs to define architectural guidelines in `AGENTS.md`.
20
-
21
- ## 1. Reconnaissance & Environment Discovery `[Discover]`
22
- - **Fabrication Prohibited**: You absolutely MUST NOT rely on the model's historical training data to write documentation.
23
- - Call scripts or use `grep_search`, `read_file` to scan project directories, dependency files like `package.json`, `Cargo.toml`, etc.
24
- - Confirm the project's language, framework, test commands, and deployment methods.
25
-
26
- ## 2. Organization & Writing `[Think] & [Try]`
27
- - **Reader-Oriented**: If generating a `README.md`, the content MUST focus on the "User Journey": what this product does, how to install it, how to use core features.
28
- - If generating `AGENTS.md` or developer guidelines: The content MUST focus on "architectural conventions, build commands, test commands" for future AI Agents (or human developers) to read.
29
- - **Combine with Cognitive Loop**: When writing, obey the `install-cognitive-os` rules, predict the chapter structure of the document first, generate it in one go, and leave room for future expansion.
30
-
31
- ## 3. Verification & Alignment `[Summarize]`
32
- - After generating the document, you MUST ensure the installation or test commands within the document are **actually executable**.
33
- - If there are uncertain parts, leave `// TODO: Pending confirmation` markers in the document and ask the human questions (`grill-me` mode).
34
-
35
- ## Deep Reference Templates
36
- To ensure professional quality, you MUST use the appropriate template from `repo-docs/templates/`:
37
- - `repo-docs/templates/readme-template.md` — Standard project documentation template
38
- - `repo-docs/templates/product-readme-template.md` — Product archetype user-journey template
39
- - `repo-docs/templates/multi-skills-readme-template.md` — Large project with multiple skills/modules
40
- - `repo-docs/templates/knowledge-readme-template.md` — Information-heavy/knowledge-base template
41
- - `repo-docs/templates/agents-template.md` — Standard agent onboarding instructions template
42
- - `repo-docs/templates/product-agents-template.md` — Agent instructions for product repositories
43
- - `repo-docs/templates/skills-agents-template.md` — Agent instructions for skills repositories
44
- - `repo-docs/templates/knowledge-agents-template.md` — Agent instructions for knowledge/research projects
45
- - `repo-docs/templates/manual-recon.md` — Methodology for manual repo scanning and classification
1
+ ---
2
+ name: repo-docs
3
+ description: Generate or update precise, reader-oriented README.md and AGENTS.md based on actual project scans and smart merging of existing files. Use when a project lacks documentation or needs refreshed agent onboarding docs.
4
+ license: Apache-2.0
5
+ metadata:
6
+ author: Miya Daniel
7
+ version: 0.3.4
8
+ ---
9
+
10
+ # Repo Docs (Automated Project Documentation Generation & Smart Merging)
11
+
12
+ Merges codebase scan facts and bespoke notes into `README.md`/`AGENTS.md`.
13
+
14
+ ## USE FOR:
15
+ - Generate README.md for undocumented projects
16
+ - Update AGENTS.md after structural changes
17
+ - Merge legacy notes into refreshed docs
18
+
19
+ ## DO NOT USE FOR:
20
+ - Marketing copy not grounded in codebase scans
21
+ - Fabricating docs without scanning the repo
22
+ - Non-repository documents (wikis)
23
+
24
+ ## Skill Contract
25
+
26
+ | Component | Specification |
27
+ | :--- | :--- |
28
+ | **Trigger / Input** | Missing docs; request to update `README.md`/`AGENTS.md`. |
29
+ | **Expected Output** | `README.md`/`AGENTS.md` merging scan facts + bespoke notes. |
30
+ | **State Mutations** | Updates `README.md`/`AGENTS.md` or fallbacks; preserves human docs. |
31
+ | **Enforcement Gate** | Inspect existing docs first; preserve bespoke notes while upgrading structure. |
32
+
33
+ ## Workflow
34
+
35
+ 1. [Discover] Scan configs (`package.json`, `Cargo.toml`) as Source of Truth. Never fabricate.
36
+ 2. Read existing docs fully first; extract bespoke notes (env vars, URLs, gotchas); never overwrite blindly.
37
+ 3. Pick a template below; else built-in structure.
38
+ 4. Draft: `README.md` = user journey; `AGENTS.md` = conventions, build/test commands.
39
+ 5. [Summarize] Verify commands run; mark doubts `// TODO: Pending confirmation`; ask (`grill-me`).
40
+ 6. Write to root; if protected, `.github/AGENTS.md`/`docs/README.md`.
41
+
42
+ ## `repo-docs/templates/`
43
+
44
+ readme-template.md · product-readme-template.md · multi-skills-readme-template.md · single-skill-readme-template.md · knowledge-readme-template.md · agents-template.md · product-agents-template.md · skills-agents-template.md · knowledge-agents-template.md · manual-recon.md
45
+
46
+ Deep dive: references/process-guide.md
@@ -0,0 +1,60 @@
1
+ # Process Guide (Deep Dive)
2
+
3
+ ## Decision Flow
4
+
5
+ ```mermaid
6
+ flowchart TD
7
+ Start[Trigger: Generate / Update README.md or AGENTS.md] --> Scan[1. Scan Codebase Files: package.json, Cargo.toml, src/]
8
+ Scan --> CheckExisting{2. Existing Target File Found?}
9
+
10
+ CheckExisting -- Yes --> ReadOld[Read Existing File & Extract Bespoke Notes<br>custom env vars, deployment URLs, manual FAQs]
11
+ CheckExisting -- No --> SelectTemplate{3. Template Selection}
12
+
13
+ ReadOld --> SelectTemplate
14
+
15
+ SelectTemplate -- Template Files Readable --> ReadTemplate[Read repo-docs/templates/*.md]
16
+ SelectTemplate -- Directory Unreachable --> StandardFallback[Use Built-in Standard Template Structure]
17
+
18
+ ReadTemplate --> Draft[4. Draft & Smartly Merge Documentation<br>Codebase Facts + Extracted Bespoke Notes + Template Structure]
19
+ StandardFallback --> Draft
20
+
21
+ Draft --> VerifyCommands[5. Cross-check Executable Commands Against Configs]
22
+ VerifyCommands --> CheckRoot{6. Resolve Storage Location}
23
+
24
+ CheckRoot -- Root Writable --> WriteRoot[Save / Merge to README.md or AGENTS.md at Root]
25
+ CheckRoot -- Protected Root --> WritePlatform[Write to .github/AGENTS.md or docs/README.md]
26
+
27
+ WriteRoot --> Done[Documentation Smartly Updated]
28
+ WritePlatform --> Done
29
+ ```
30
+
31
+ ## 1. Reconnaissance & Smart Preservation `[Discover]`
32
+ - **Fabrication Prohibited**: You absolutely MUST NOT rely on the model's historical training data to write documentation.
33
+ - **Smart Preservation & Merging (DO NOT Blindly Overwrite)**:
34
+ - If a `README.md` or `AGENTS.md` already exists, use `read_file` to read it completely before making edits.
35
+ - Extract bespoke human-written notes that cannot be inferred from code scans alone (e.g. proprietary deployment URLs, custom environment variables, historical architectural trade-offs, or legacy gotchas).
36
+ - Blend these bespoke notes into the newly structured template layout.
37
+ - Call scripts or use `grep_search`, `read_file` to scan project directories and dependency files (`package.json`, `Cargo.toml`, `.env.example`, etc.).
38
+ - Confirm the project's real language, framework, test commands, and deployment methods. Codebase configs always serve as the Single Source of Truth over outdated prose in old README files.
39
+
40
+ ## 2. Organization & Writing `[Think] & [Try]`
41
+ - **Reader-Oriented**: If generating a `README.md`, the content MUST focus on the "User Journey": what this product does, how to install it, how to use core features.
42
+ - If generating `AGENTS.md` or developer guidelines: The content MUST focus on "architectural conventions, build commands, test commands" for future AI Agents (or human developers) to read.
43
+ - **Combine with Cognitive Loop**: When writing, obey the `install-cognitive-os` rules, predict the chapter structure of the document first, generate it in one go, and leave room for future expansion.
44
+
45
+ ## 3. Verification & Alignment `[Summarize]`
46
+ - After generating the document, you MUST ensure the installation or test commands within the document are **actually executable**.
47
+ - If there are uncertain parts, leave `// TODO: Pending confirmation` markers in the document and ask the human questions (`grill-me` mode).
48
+
49
+ ## Deep Reference Templates
50
+ To ensure professional quality, you MUST use the appropriate template from `repo-docs/templates/`:
51
+ - `repo-docs/templates/readme-template.md` — Standard project documentation template
52
+ - `repo-docs/templates/product-readme-template.md` — Product archetype user-journey template
53
+ - `repo-docs/templates/multi-skills-readme-template.md` — Large project with multiple skills/modules
54
+ - `repo-docs/templates/single-skill-readme-template.md` — Single skill or focused utility documentation template
55
+ - `repo-docs/templates/knowledge-readme-template.md` — Information-heavy/knowledge-base template
56
+ - `repo-docs/templates/agents-template.md` — Standard agent onboarding instructions template
57
+ - `repo-docs/templates/product-agents-template.md` — Agent instructions for product repositories
58
+ - `repo-docs/templates/skills-agents-template.md` — Agent instructions for skills repositories
59
+ - `repo-docs/templates/knowledge-agents-template.md` — Agent instructions for knowledge/research projects
60
+ - `repo-docs/templates/manual-recon.md` — Methodology for manual repo scanning and classification