@harness-engineering/cli 1.15.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (508) hide show
  1. package/dist/agents/commands/codex/AGENTS.md +39 -0
  2. package/dist/agents/commands/codex/harness/add-harness-component/SKILL.md +195 -0
  3. package/dist/agents/commands/codex/harness/add-harness-component/agents/openai.yaml +3 -0
  4. package/dist/agents/commands/codex/harness/cleanup-dead-code/SKILL.md +248 -0
  5. package/dist/agents/commands/codex/harness/cleanup-dead-code/agents/openai.yaml +3 -0
  6. package/dist/agents/commands/codex/harness/detect-doc-drift/SKILL.md +182 -0
  7. package/dist/agents/commands/codex/harness/detect-doc-drift/agents/openai.yaml +3 -0
  8. package/dist/agents/commands/codex/harness/enforce-architecture/SKILL.md +299 -0
  9. package/dist/agents/commands/codex/harness/enforce-architecture/agents/openai.yaml +3 -0
  10. package/dist/agents/commands/codex/harness/harness-architecture-advisor/SKILL.md +452 -0
  11. package/dist/agents/commands/codex/harness/harness-architecture-advisor/agents/openai.yaml +3 -0
  12. package/dist/agents/commands/codex/harness/harness-autopilot/SKILL.md +919 -0
  13. package/dist/agents/commands/codex/harness/harness-autopilot/agents/openai.yaml +3 -0
  14. package/dist/agents/commands/codex/harness/harness-brainstorming/SKILL.md +409 -0
  15. package/dist/agents/commands/codex/harness/harness-brainstorming/agents/openai.yaml +3 -0
  16. package/dist/agents/commands/codex/harness/harness-code-review/SKILL.md +860 -0
  17. package/dist/agents/commands/codex/harness/harness-code-review/agents/openai.yaml +3 -0
  18. package/dist/agents/commands/codex/harness/harness-codebase-cleanup/SKILL.md +227 -0
  19. package/dist/agents/commands/codex/harness/harness-codebase-cleanup/agents/openai.yaml +3 -0
  20. package/dist/agents/commands/codex/harness/harness-debugging/SKILL.md +369 -0
  21. package/dist/agents/commands/codex/harness/harness-debugging/agents/openai.yaml +3 -0
  22. package/dist/agents/commands/codex/harness/harness-dependency-health/SKILL.md +182 -0
  23. package/dist/agents/commands/codex/harness/harness-dependency-health/agents/openai.yaml +3 -0
  24. package/dist/agents/commands/codex/harness/harness-docs-pipeline/SKILL.md +463 -0
  25. package/dist/agents/commands/codex/harness/harness-docs-pipeline/agents/openai.yaml +3 -0
  26. package/dist/agents/commands/codex/harness/harness-execution/SKILL.md +513 -0
  27. package/dist/agents/commands/codex/harness/harness-execution/agents/openai.yaml +3 -0
  28. package/dist/agents/commands/codex/harness/harness-hotspot-detector/SKILL.md +164 -0
  29. package/dist/agents/commands/codex/harness/harness-hotspot-detector/agents/openai.yaml +3 -0
  30. package/dist/agents/commands/codex/harness/harness-impact-analysis/SKILL.md +187 -0
  31. package/dist/agents/commands/codex/harness/harness-impact-analysis/agents/openai.yaml +3 -0
  32. package/dist/agents/commands/codex/harness/harness-integrity/SKILL.md +170 -0
  33. package/dist/agents/commands/codex/harness/harness-integrity/agents/openai.yaml +3 -0
  34. package/dist/agents/commands/codex/harness/harness-onboarding/SKILL.md +291 -0
  35. package/dist/agents/commands/codex/harness/harness-onboarding/agents/openai.yaml +3 -0
  36. package/dist/agents/commands/codex/harness/harness-perf/SKILL.md +263 -0
  37. package/dist/agents/commands/codex/harness/harness-perf/agents/openai.yaml +3 -0
  38. package/dist/agents/commands/codex/harness/harness-planning/SKILL.md +582 -0
  39. package/dist/agents/commands/codex/harness/harness-planning/agents/openai.yaml +3 -0
  40. package/dist/agents/commands/codex/harness/harness-refactoring/SKILL.md +172 -0
  41. package/dist/agents/commands/codex/harness/harness-refactoring/agents/openai.yaml +3 -0
  42. package/dist/agents/commands/codex/harness/harness-release-readiness/SKILL.md +692 -0
  43. package/dist/agents/commands/codex/harness/harness-release-readiness/agents/openai.yaml +3 -0
  44. package/dist/agents/commands/codex/harness/harness-roadmap/SKILL.md +598 -0
  45. package/dist/agents/commands/codex/harness/harness-roadmap/agents/openai.yaml +3 -0
  46. package/dist/agents/commands/codex/harness/harness-security-scan/SKILL.md +157 -0
  47. package/dist/agents/commands/codex/harness/harness-security-scan/agents/openai.yaml +3 -0
  48. package/dist/agents/commands/codex/harness/harness-skill-authoring/SKILL.md +295 -0
  49. package/dist/agents/commands/codex/harness/harness-skill-authoring/agents/openai.yaml +3 -0
  50. package/dist/agents/commands/codex/harness/harness-soundness-review/SKILL.md +1270 -0
  51. package/dist/agents/commands/codex/harness/harness-soundness-review/agents/openai.yaml +3 -0
  52. package/dist/agents/commands/codex/harness/harness-supply-chain-audit/SKILL.md +247 -0
  53. package/dist/agents/commands/codex/harness/harness-supply-chain-audit/agents/openai.yaml +3 -0
  54. package/dist/agents/commands/codex/harness/harness-tdd/SKILL.md +180 -0
  55. package/dist/agents/commands/codex/harness/harness-tdd/agents/openai.yaml +3 -0
  56. package/dist/agents/commands/codex/harness/harness-test-advisor/SKILL.md +163 -0
  57. package/dist/agents/commands/codex/harness/harness-test-advisor/agents/openai.yaml +3 -0
  58. package/dist/agents/commands/codex/harness/harness-verification/SKILL.md +424 -0
  59. package/dist/agents/commands/codex/harness/harness-verification/agents/openai.yaml +3 -0
  60. package/dist/agents/commands/codex/harness/harness-verify/SKILL.md +162 -0
  61. package/dist/agents/commands/codex/harness/harness-verify/agents/openai.yaml +3 -0
  62. package/dist/agents/commands/codex/harness/initialize-harness-project/SKILL.md +235 -0
  63. package/dist/agents/commands/codex/harness/initialize-harness-project/agents/openai.yaml +3 -0
  64. package/dist/agents/commands/cursor/harness/add-harness-component.mdc +200 -0
  65. package/dist/agents/commands/cursor/harness/cleanup-dead-code.mdc +253 -0
  66. package/dist/agents/commands/cursor/harness/detect-doc-drift.mdc +187 -0
  67. package/dist/agents/commands/cursor/harness/enforce-architecture.mdc +304 -0
  68. package/dist/agents/commands/cursor/harness/harness-architecture-advisor.mdc +457 -0
  69. package/dist/agents/commands/cursor/harness/harness-autopilot.mdc +924 -0
  70. package/dist/agents/commands/cursor/harness/harness-brainstorming.mdc +414 -0
  71. package/dist/agents/commands/cursor/harness/harness-code-review.mdc +865 -0
  72. package/dist/agents/commands/cursor/harness/harness-codebase-cleanup.mdc +232 -0
  73. package/dist/agents/commands/cursor/harness/harness-debugging.mdc +374 -0
  74. package/dist/agents/commands/cursor/harness/harness-dependency-health.mdc +187 -0
  75. package/dist/agents/commands/cursor/harness/harness-docs-pipeline.mdc +468 -0
  76. package/dist/agents/commands/cursor/harness/harness-execution.mdc +518 -0
  77. package/dist/agents/commands/cursor/harness/harness-hotspot-detector.mdc +169 -0
  78. package/dist/agents/commands/cursor/harness/harness-impact-analysis.mdc +192 -0
  79. package/dist/agents/commands/cursor/harness/harness-integrity.mdc +175 -0
  80. package/dist/agents/commands/cursor/harness/harness-onboarding.mdc +296 -0
  81. package/dist/agents/commands/cursor/harness/harness-perf.mdc +268 -0
  82. package/dist/agents/commands/cursor/harness/harness-planning.mdc +587 -0
  83. package/dist/agents/commands/cursor/harness/harness-refactoring.mdc +177 -0
  84. package/dist/agents/commands/cursor/harness/harness-release-readiness.mdc +697 -0
  85. package/dist/agents/commands/cursor/harness/harness-roadmap.mdc +603 -0
  86. package/dist/agents/commands/cursor/harness/harness-security-scan.mdc +162 -0
  87. package/dist/agents/commands/cursor/harness/harness-skill-authoring.mdc +300 -0
  88. package/dist/agents/commands/cursor/harness/harness-soundness-review.mdc +1275 -0
  89. package/dist/agents/commands/cursor/harness/harness-supply-chain-audit.mdc +252 -0
  90. package/dist/agents/commands/cursor/harness/harness-tdd.mdc +185 -0
  91. package/dist/agents/commands/cursor/harness/harness-test-advisor.mdc +168 -0
  92. package/dist/agents/commands/cursor/harness/harness-verification.mdc +429 -0
  93. package/dist/agents/commands/cursor/harness/harness-verify.mdc +167 -0
  94. package/dist/agents/commands/cursor/harness/initialize-harness-project.mdc +240 -0
  95. package/dist/agents/skills/claude-code/enforce-architecture/SKILL.md +52 -0
  96. package/dist/agents/skills/claude-code/harness-api-design/SKILL.md +52 -0
  97. package/dist/agents/skills/claude-code/harness-architecture-advisor/SKILL.md +52 -0
  98. package/dist/agents/skills/claude-code/harness-auth/SKILL.md +52 -0
  99. package/dist/agents/skills/claude-code/harness-autopilot/SKILL.md +123 -14
  100. package/dist/agents/skills/claude-code/harness-autopilot/skill.yaml +6 -0
  101. package/dist/agents/skills/claude-code/harness-code-review/SKILL.md +97 -3
  102. package/dist/agents/skills/claude-code/harness-code-review/skill.yaml +6 -0
  103. package/dist/agents/skills/claude-code/harness-codebase-cleanup/SKILL.md +2 -4
  104. package/dist/agents/skills/claude-code/harness-database/SKILL.md +52 -0
  105. package/dist/agents/skills/claude-code/harness-deployment/SKILL.md +52 -0
  106. package/dist/agents/skills/claude-code/harness-planning/SKILL.md +99 -3
  107. package/dist/agents/skills/claude-code/harness-planning/skill.yaml +6 -0
  108. package/dist/agents/skills/claude-code/harness-pre-commit-review/SKILL.md +1 -1
  109. package/dist/agents/skills/claude-code/harness-roadmap-pilot/SKILL.md +204 -0
  110. package/dist/agents/skills/claude-code/harness-roadmap-pilot/skill.yaml +52 -0
  111. package/dist/agents/skills/claude-code/harness-security-review/SKILL.md +27 -7
  112. package/dist/agents/skills/claude-code/harness-security-scan/SKILL.md +52 -0
  113. package/dist/agents/skills/claude-code/harness-supply-chain-audit/SKILL.md +281 -0
  114. package/dist/agents/skills/claude-code/harness-supply-chain-audit/skill.yaml +51 -0
  115. package/dist/agents/skills/codex/add-harness-component/SKILL.md +192 -0
  116. package/dist/agents/skills/codex/add-harness-component/skill.yaml +33 -0
  117. package/dist/agents/skills/codex/align-documentation/SKILL.md +213 -0
  118. package/dist/agents/skills/codex/align-documentation/skill.yaml +32 -0
  119. package/dist/agents/skills/codex/check-mechanical-constraints/SKILL.md +191 -0
  120. package/dist/agents/skills/codex/check-mechanical-constraints/skill.yaml +33 -0
  121. package/dist/agents/skills/codex/cleanup-dead-code/SKILL.md +245 -0
  122. package/dist/agents/skills/codex/cleanup-dead-code/skill.yaml +34 -0
  123. package/dist/agents/skills/codex/detect-doc-drift/SKILL.md +179 -0
  124. package/dist/agents/skills/codex/detect-doc-drift/skill.yaml +31 -0
  125. package/dist/agents/skills/codex/enforce-architecture/SKILL.md +296 -0
  126. package/dist/agents/skills/codex/enforce-architecture/skill.yaml +35 -0
  127. package/dist/agents/skills/codex/harness-accessibility/SKILL.md +281 -0
  128. package/dist/agents/skills/codex/harness-accessibility/skill.yaml +52 -0
  129. package/dist/agents/skills/codex/harness-api-design/SKILL.md +356 -0
  130. package/dist/agents/skills/codex/harness-api-design/skill.yaml +74 -0
  131. package/dist/agents/skills/codex/harness-architecture-advisor/SKILL.md +449 -0
  132. package/dist/agents/skills/codex/harness-architecture-advisor/skill.yaml +49 -0
  133. package/dist/agents/skills/codex/harness-auth/SKILL.md +331 -0
  134. package/dist/agents/skills/codex/harness-auth/skill.yaml +81 -0
  135. package/dist/agents/skills/codex/harness-autopilot/SKILL.md +916 -0
  136. package/dist/agents/skills/codex/harness-autopilot/skill.yaml +67 -0
  137. package/dist/agents/skills/codex/harness-brainstorming/SKILL.md +406 -0
  138. package/dist/agents/skills/codex/harness-brainstorming/skill.yaml +50 -0
  139. package/dist/agents/skills/codex/harness-caching/SKILL.md +309 -0
  140. package/dist/agents/skills/codex/harness-caching/skill.yaml +73 -0
  141. package/dist/agents/skills/codex/harness-chaos/SKILL.md +295 -0
  142. package/dist/agents/skills/codex/harness-chaos/skill.yaml +72 -0
  143. package/dist/agents/skills/codex/harness-code-review/SKILL.md +857 -0
  144. package/dist/agents/skills/codex/harness-code-review/skill.yaml +52 -0
  145. package/dist/agents/skills/codex/harness-codebase-cleanup/SKILL.md +224 -0
  146. package/dist/agents/skills/codex/harness-codebase-cleanup/skill.yaml +65 -0
  147. package/dist/agents/skills/codex/harness-compliance/SKILL.md +303 -0
  148. package/dist/agents/skills/codex/harness-compliance/skill.yaml +78 -0
  149. package/dist/agents/skills/codex/harness-containerization/SKILL.md +284 -0
  150. package/dist/agents/skills/codex/harness-containerization/skill.yaml +80 -0
  151. package/dist/agents/skills/codex/harness-data-pipeline/SKILL.md +274 -0
  152. package/dist/agents/skills/codex/harness-data-pipeline/skill.yaml +81 -0
  153. package/dist/agents/skills/codex/harness-data-validation/SKILL.md +343 -0
  154. package/dist/agents/skills/codex/harness-data-validation/skill.yaml +75 -0
  155. package/dist/agents/skills/codex/harness-database/SKILL.md +310 -0
  156. package/dist/agents/skills/codex/harness-database/skill.yaml +80 -0
  157. package/dist/agents/skills/codex/harness-debugging/SKILL.md +366 -0
  158. package/dist/agents/skills/codex/harness-debugging/skill.yaml +48 -0
  159. package/dist/agents/skills/codex/harness-dependency-health/SKILL.md +179 -0
  160. package/dist/agents/skills/codex/harness-dependency-health/skill.yaml +42 -0
  161. package/dist/agents/skills/codex/harness-deployment/SKILL.md +307 -0
  162. package/dist/agents/skills/codex/harness-deployment/skill.yaml +77 -0
  163. package/dist/agents/skills/codex/harness-design/SKILL.md +265 -0
  164. package/dist/agents/skills/codex/harness-design/skill.yaml +54 -0
  165. package/dist/agents/skills/codex/harness-design-mobile/SKILL.md +336 -0
  166. package/dist/agents/skills/codex/harness-design-mobile/skill.yaml +50 -0
  167. package/dist/agents/skills/codex/harness-design-system/SKILL.md +282 -0
  168. package/dist/agents/skills/codex/harness-design-system/skill.yaml +51 -0
  169. package/dist/agents/skills/codex/harness-design-web/SKILL.md +360 -0
  170. package/dist/agents/skills/codex/harness-design-web/skill.yaml +53 -0
  171. package/dist/agents/skills/codex/harness-diagnostics/SKILL.md +318 -0
  172. package/dist/agents/skills/codex/harness-diagnostics/skill.yaml +51 -0
  173. package/dist/agents/skills/codex/harness-docs-pipeline/SKILL.md +460 -0
  174. package/dist/agents/skills/codex/harness-docs-pipeline/skill.yaml +70 -0
  175. package/dist/agents/skills/codex/harness-dx/SKILL.md +276 -0
  176. package/dist/agents/skills/codex/harness-dx/skill.yaml +76 -0
  177. package/dist/agents/skills/codex/harness-e2e/SKILL.md +245 -0
  178. package/dist/agents/skills/codex/harness-e2e/skill.yaml +78 -0
  179. package/dist/agents/skills/codex/harness-event-driven/SKILL.md +280 -0
  180. package/dist/agents/skills/codex/harness-event-driven/skill.yaml +77 -0
  181. package/dist/agents/skills/codex/harness-execution/SKILL.md +510 -0
  182. package/dist/agents/skills/codex/harness-execution/skill.yaml +52 -0
  183. package/dist/agents/skills/codex/harness-feature-flags/SKILL.md +287 -0
  184. package/dist/agents/skills/codex/harness-feature-flags/skill.yaml +74 -0
  185. package/dist/agents/skills/codex/harness-git-workflow/SKILL.md +268 -0
  186. package/dist/agents/skills/codex/harness-git-workflow/skill.yaml +32 -0
  187. package/dist/agents/skills/codex/harness-hotspot-detector/SKILL.md +161 -0
  188. package/dist/agents/skills/codex/harness-hotspot-detector/skill.yaml +45 -0
  189. package/dist/agents/skills/codex/harness-i18n/SKILL.md +484 -0
  190. package/dist/agents/skills/codex/harness-i18n/skill.yaml +55 -0
  191. package/dist/agents/skills/codex/harness-i18n-process/SKILL.md +388 -0
  192. package/dist/agents/skills/codex/harness-i18n-process/skill.yaml +44 -0
  193. package/dist/agents/skills/codex/harness-i18n-workflow/SKILL.md +512 -0
  194. package/dist/agents/skills/codex/harness-i18n-workflow/skill.yaml +54 -0
  195. package/dist/agents/skills/codex/harness-impact-analysis/SKILL.md +184 -0
  196. package/dist/agents/skills/codex/harness-impact-analysis/skill.yaml +45 -0
  197. package/dist/agents/skills/codex/harness-incident-response/SKILL.md +223 -0
  198. package/dist/agents/skills/codex/harness-incident-response/skill.yaml +78 -0
  199. package/dist/agents/skills/codex/harness-infrastructure-as-code/SKILL.md +279 -0
  200. package/dist/agents/skills/codex/harness-infrastructure-as-code/skill.yaml +80 -0
  201. package/dist/agents/skills/codex/harness-integration-test/SKILL.md +271 -0
  202. package/dist/agents/skills/codex/harness-integration-test/skill.yaml +73 -0
  203. package/dist/agents/skills/codex/harness-integrity/SKILL.md +167 -0
  204. package/dist/agents/skills/codex/harness-integrity/skill.yaml +48 -0
  205. package/dist/agents/skills/codex/harness-knowledge-mapper/SKILL.md +195 -0
  206. package/dist/agents/skills/codex/harness-knowledge-mapper/skill.yaml +50 -0
  207. package/dist/agents/skills/codex/harness-load-testing/SKILL.md +274 -0
  208. package/dist/agents/skills/codex/harness-load-testing/skill.yaml +79 -0
  209. package/dist/agents/skills/codex/harness-ml-ops/SKILL.md +341 -0
  210. package/dist/agents/skills/codex/harness-ml-ops/skill.yaml +79 -0
  211. package/dist/agents/skills/codex/harness-mobile-patterns/SKILL.md +326 -0
  212. package/dist/agents/skills/codex/harness-mobile-patterns/skill.yaml +82 -0
  213. package/dist/agents/skills/codex/harness-mutation-test/SKILL.md +251 -0
  214. package/dist/agents/skills/codex/harness-mutation-test/skill.yaml +70 -0
  215. package/dist/agents/skills/codex/harness-observability/SKILL.md +283 -0
  216. package/dist/agents/skills/codex/harness-observability/skill.yaml +78 -0
  217. package/dist/agents/skills/codex/harness-onboarding/SKILL.md +288 -0
  218. package/dist/agents/skills/codex/harness-onboarding/skill.yaml +31 -0
  219. package/dist/agents/skills/codex/harness-parallel-agents/SKILL.md +256 -0
  220. package/dist/agents/skills/codex/harness-parallel-agents/skill.yaml +34 -0
  221. package/dist/agents/skills/codex/harness-perf/SKILL.md +260 -0
  222. package/dist/agents/skills/codex/harness-perf/skill.yaml +51 -0
  223. package/dist/agents/skills/codex/harness-perf-tdd/SKILL.md +249 -0
  224. package/dist/agents/skills/codex/harness-perf-tdd/skill.yaml +48 -0
  225. package/dist/agents/skills/codex/harness-planning/SKILL.md +579 -0
  226. package/dist/agents/skills/codex/harness-planning/skill.yaml +56 -0
  227. package/dist/agents/skills/codex/harness-pre-commit-review/SKILL.md +324 -0
  228. package/dist/agents/skills/codex/harness-pre-commit-review/skill.yaml +34 -0
  229. package/dist/agents/skills/codex/harness-product-spec/SKILL.md +285 -0
  230. package/dist/agents/skills/codex/harness-product-spec/skill.yaml +72 -0
  231. package/dist/agents/skills/codex/harness-property-test/SKILL.md +281 -0
  232. package/dist/agents/skills/codex/harness-property-test/skill.yaml +71 -0
  233. package/dist/agents/skills/codex/harness-refactoring/SKILL.md +169 -0
  234. package/dist/agents/skills/codex/harness-refactoring/skill.yaml +34 -0
  235. package/dist/agents/skills/codex/harness-release-readiness/SKILL.md +689 -0
  236. package/dist/agents/skills/codex/harness-release-readiness/skill.yaml +58 -0
  237. package/dist/agents/skills/codex/harness-resilience/SKILL.md +255 -0
  238. package/dist/agents/skills/codex/harness-resilience/skill.yaml +76 -0
  239. package/dist/agents/skills/codex/harness-roadmap/SKILL.md +595 -0
  240. package/dist/agents/skills/codex/harness-roadmap/skill.yaml +44 -0
  241. package/dist/agents/skills/codex/harness-roadmap-pilot/SKILL.md +204 -0
  242. package/dist/agents/skills/codex/harness-roadmap-pilot/skill.yaml +52 -0
  243. package/dist/agents/skills/codex/harness-secrets/SKILL.md +293 -0
  244. package/dist/agents/skills/codex/harness-secrets/skill.yaml +76 -0
  245. package/dist/agents/skills/codex/harness-security-review/SKILL.md +260 -0
  246. package/dist/agents/skills/codex/harness-security-review/skill.yaml +53 -0
  247. package/dist/agents/skills/codex/harness-security-scan/SKILL.md +154 -0
  248. package/dist/agents/skills/codex/harness-security-scan/skill.yaml +42 -0
  249. package/dist/agents/skills/codex/harness-skill-authoring/SKILL.md +292 -0
  250. package/dist/agents/skills/codex/harness-skill-authoring/skill.yaml +33 -0
  251. package/dist/agents/skills/codex/harness-soundness-review/SKILL.md +1267 -0
  252. package/dist/agents/skills/codex/harness-soundness-review/skill.yaml +49 -0
  253. package/dist/agents/skills/codex/harness-sql-review/SKILL.md +315 -0
  254. package/dist/agents/skills/codex/harness-sql-review/skill.yaml +74 -0
  255. package/dist/agents/skills/codex/harness-state-management/SKILL.md +309 -0
  256. package/dist/agents/skills/codex/harness-state-management/skill.yaml +33 -0
  257. package/dist/agents/skills/codex/harness-supply-chain-audit/SKILL.md +281 -0
  258. package/dist/agents/skills/codex/harness-supply-chain-audit/skill.yaml +51 -0
  259. package/dist/agents/skills/codex/harness-tdd/SKILL.md +177 -0
  260. package/dist/agents/skills/codex/harness-tdd/skill.yaml +49 -0
  261. package/dist/agents/skills/codex/harness-test-advisor/SKILL.md +160 -0
  262. package/dist/agents/skills/codex/harness-test-advisor/skill.yaml +45 -0
  263. package/dist/agents/skills/codex/harness-test-data/SKILL.md +268 -0
  264. package/dist/agents/skills/codex/harness-test-data/skill.yaml +74 -0
  265. package/dist/agents/skills/codex/harness-ux-copy/SKILL.md +271 -0
  266. package/dist/agents/skills/codex/harness-ux-copy/skill.yaml +77 -0
  267. package/dist/agents/skills/codex/harness-verification/SKILL.md +421 -0
  268. package/dist/agents/skills/codex/harness-verification/skill.yaml +43 -0
  269. package/dist/agents/skills/codex/harness-verify/SKILL.md +159 -0
  270. package/dist/agents/skills/codex/harness-verify/skill.yaml +41 -0
  271. package/dist/agents/skills/codex/harness-visual-regression/SKILL.md +257 -0
  272. package/dist/agents/skills/codex/harness-visual-regression/skill.yaml +74 -0
  273. package/dist/agents/skills/codex/initialize-harness-project/SKILL.md +232 -0
  274. package/dist/agents/skills/codex/initialize-harness-project/skill.yaml +32 -0
  275. package/dist/agents/skills/codex/validate-context-engineering/SKILL.md +150 -0
  276. package/dist/agents/skills/codex/validate-context-engineering/skill.yaml +32 -0
  277. package/dist/agents/skills/cursor/add-harness-component/SKILL.md +192 -0
  278. package/dist/agents/skills/cursor/add-harness-component/skill.yaml +33 -0
  279. package/dist/agents/skills/cursor/align-documentation/SKILL.md +213 -0
  280. package/dist/agents/skills/cursor/align-documentation/skill.yaml +32 -0
  281. package/dist/agents/skills/cursor/check-mechanical-constraints/SKILL.md +191 -0
  282. package/dist/agents/skills/cursor/check-mechanical-constraints/skill.yaml +33 -0
  283. package/dist/agents/skills/cursor/cleanup-dead-code/SKILL.md +245 -0
  284. package/dist/agents/skills/cursor/cleanup-dead-code/skill.yaml +34 -0
  285. package/dist/agents/skills/cursor/detect-doc-drift/SKILL.md +179 -0
  286. package/dist/agents/skills/cursor/detect-doc-drift/skill.yaml +31 -0
  287. package/dist/agents/skills/cursor/enforce-architecture/SKILL.md +296 -0
  288. package/dist/agents/skills/cursor/enforce-architecture/skill.yaml +35 -0
  289. package/dist/agents/skills/cursor/harness-accessibility/SKILL.md +281 -0
  290. package/dist/agents/skills/cursor/harness-accessibility/skill.yaml +52 -0
  291. package/dist/agents/skills/cursor/harness-api-design/SKILL.md +356 -0
  292. package/dist/agents/skills/cursor/harness-api-design/skill.yaml +74 -0
  293. package/dist/agents/skills/cursor/harness-architecture-advisor/SKILL.md +449 -0
  294. package/dist/agents/skills/cursor/harness-architecture-advisor/skill.yaml +49 -0
  295. package/dist/agents/skills/cursor/harness-auth/SKILL.md +331 -0
  296. package/dist/agents/skills/cursor/harness-auth/skill.yaml +81 -0
  297. package/dist/agents/skills/cursor/harness-autopilot/SKILL.md +916 -0
  298. package/dist/agents/skills/cursor/harness-autopilot/skill.yaml +67 -0
  299. package/dist/agents/skills/cursor/harness-brainstorming/SKILL.md +406 -0
  300. package/dist/agents/skills/cursor/harness-brainstorming/skill.yaml +50 -0
  301. package/dist/agents/skills/cursor/harness-caching/SKILL.md +309 -0
  302. package/dist/agents/skills/cursor/harness-caching/skill.yaml +73 -0
  303. package/dist/agents/skills/cursor/harness-chaos/SKILL.md +295 -0
  304. package/dist/agents/skills/cursor/harness-chaos/skill.yaml +72 -0
  305. package/dist/agents/skills/cursor/harness-code-review/SKILL.md +857 -0
  306. package/dist/agents/skills/cursor/harness-code-review/skill.yaml +52 -0
  307. package/dist/agents/skills/cursor/harness-codebase-cleanup/SKILL.md +224 -0
  308. package/dist/agents/skills/cursor/harness-codebase-cleanup/skill.yaml +65 -0
  309. package/dist/agents/skills/cursor/harness-compliance/SKILL.md +303 -0
  310. package/dist/agents/skills/cursor/harness-compliance/skill.yaml +78 -0
  311. package/dist/agents/skills/cursor/harness-containerization/SKILL.md +284 -0
  312. package/dist/agents/skills/cursor/harness-containerization/skill.yaml +80 -0
  313. package/dist/agents/skills/cursor/harness-data-pipeline/SKILL.md +274 -0
  314. package/dist/agents/skills/cursor/harness-data-pipeline/skill.yaml +81 -0
  315. package/dist/agents/skills/cursor/harness-data-validation/SKILL.md +343 -0
  316. package/dist/agents/skills/cursor/harness-data-validation/skill.yaml +75 -0
  317. package/dist/agents/skills/cursor/harness-database/SKILL.md +310 -0
  318. package/dist/agents/skills/cursor/harness-database/skill.yaml +80 -0
  319. package/dist/agents/skills/cursor/harness-debugging/SKILL.md +366 -0
  320. package/dist/agents/skills/cursor/harness-debugging/skill.yaml +48 -0
  321. package/dist/agents/skills/cursor/harness-dependency-health/SKILL.md +179 -0
  322. package/dist/agents/skills/cursor/harness-dependency-health/skill.yaml +42 -0
  323. package/dist/agents/skills/cursor/harness-deployment/SKILL.md +307 -0
  324. package/dist/agents/skills/cursor/harness-deployment/skill.yaml +77 -0
  325. package/dist/agents/skills/cursor/harness-design/SKILL.md +265 -0
  326. package/dist/agents/skills/cursor/harness-design/skill.yaml +54 -0
  327. package/dist/agents/skills/cursor/harness-design-mobile/SKILL.md +336 -0
  328. package/dist/agents/skills/cursor/harness-design-mobile/skill.yaml +50 -0
  329. package/dist/agents/skills/cursor/harness-design-system/SKILL.md +282 -0
  330. package/dist/agents/skills/cursor/harness-design-system/skill.yaml +51 -0
  331. package/dist/agents/skills/cursor/harness-design-web/SKILL.md +360 -0
  332. package/dist/agents/skills/cursor/harness-design-web/skill.yaml +53 -0
  333. package/dist/agents/skills/cursor/harness-diagnostics/SKILL.md +318 -0
  334. package/dist/agents/skills/cursor/harness-diagnostics/skill.yaml +51 -0
  335. package/dist/agents/skills/cursor/harness-docs-pipeline/SKILL.md +460 -0
  336. package/dist/agents/skills/cursor/harness-docs-pipeline/skill.yaml +70 -0
  337. package/dist/agents/skills/cursor/harness-dx/SKILL.md +276 -0
  338. package/dist/agents/skills/cursor/harness-dx/skill.yaml +76 -0
  339. package/dist/agents/skills/cursor/harness-e2e/SKILL.md +245 -0
  340. package/dist/agents/skills/cursor/harness-e2e/skill.yaml +78 -0
  341. package/dist/agents/skills/cursor/harness-event-driven/SKILL.md +280 -0
  342. package/dist/agents/skills/cursor/harness-event-driven/skill.yaml +77 -0
  343. package/dist/agents/skills/cursor/harness-execution/SKILL.md +510 -0
  344. package/dist/agents/skills/cursor/harness-execution/skill.yaml +52 -0
  345. package/dist/agents/skills/cursor/harness-feature-flags/SKILL.md +287 -0
  346. package/dist/agents/skills/cursor/harness-feature-flags/skill.yaml +74 -0
  347. package/dist/agents/skills/cursor/harness-git-workflow/SKILL.md +268 -0
  348. package/dist/agents/skills/cursor/harness-git-workflow/skill.yaml +32 -0
  349. package/dist/agents/skills/cursor/harness-hotspot-detector/SKILL.md +161 -0
  350. package/dist/agents/skills/cursor/harness-hotspot-detector/skill.yaml +45 -0
  351. package/dist/agents/skills/cursor/harness-i18n/SKILL.md +484 -0
  352. package/dist/agents/skills/cursor/harness-i18n/skill.yaml +55 -0
  353. package/dist/agents/skills/cursor/harness-i18n-process/SKILL.md +388 -0
  354. package/dist/agents/skills/cursor/harness-i18n-process/skill.yaml +44 -0
  355. package/dist/agents/skills/cursor/harness-i18n-workflow/SKILL.md +512 -0
  356. package/dist/agents/skills/cursor/harness-i18n-workflow/skill.yaml +54 -0
  357. package/dist/agents/skills/cursor/harness-impact-analysis/SKILL.md +184 -0
  358. package/dist/agents/skills/cursor/harness-impact-analysis/skill.yaml +45 -0
  359. package/dist/agents/skills/cursor/harness-incident-response/SKILL.md +223 -0
  360. package/dist/agents/skills/cursor/harness-incident-response/skill.yaml +78 -0
  361. package/dist/agents/skills/cursor/harness-infrastructure-as-code/SKILL.md +279 -0
  362. package/dist/agents/skills/cursor/harness-infrastructure-as-code/skill.yaml +80 -0
  363. package/dist/agents/skills/cursor/harness-integration-test/SKILL.md +271 -0
  364. package/dist/agents/skills/cursor/harness-integration-test/skill.yaml +73 -0
  365. package/dist/agents/skills/cursor/harness-integrity/SKILL.md +167 -0
  366. package/dist/agents/skills/cursor/harness-integrity/skill.yaml +48 -0
  367. package/dist/agents/skills/cursor/harness-knowledge-mapper/SKILL.md +195 -0
  368. package/dist/agents/skills/cursor/harness-knowledge-mapper/skill.yaml +50 -0
  369. package/dist/agents/skills/cursor/harness-load-testing/SKILL.md +274 -0
  370. package/dist/agents/skills/cursor/harness-load-testing/skill.yaml +79 -0
  371. package/dist/agents/skills/cursor/harness-ml-ops/SKILL.md +341 -0
  372. package/dist/agents/skills/cursor/harness-ml-ops/skill.yaml +79 -0
  373. package/dist/agents/skills/cursor/harness-mobile-patterns/SKILL.md +326 -0
  374. package/dist/agents/skills/cursor/harness-mobile-patterns/skill.yaml +82 -0
  375. package/dist/agents/skills/cursor/harness-mutation-test/SKILL.md +251 -0
  376. package/dist/agents/skills/cursor/harness-mutation-test/skill.yaml +70 -0
  377. package/dist/agents/skills/cursor/harness-observability/SKILL.md +283 -0
  378. package/dist/agents/skills/cursor/harness-observability/skill.yaml +78 -0
  379. package/dist/agents/skills/cursor/harness-onboarding/SKILL.md +288 -0
  380. package/dist/agents/skills/cursor/harness-onboarding/skill.yaml +31 -0
  381. package/dist/agents/skills/cursor/harness-parallel-agents/SKILL.md +256 -0
  382. package/dist/agents/skills/cursor/harness-parallel-agents/skill.yaml +34 -0
  383. package/dist/agents/skills/cursor/harness-perf/SKILL.md +260 -0
  384. package/dist/agents/skills/cursor/harness-perf/skill.yaml +51 -0
  385. package/dist/agents/skills/cursor/harness-perf-tdd/SKILL.md +249 -0
  386. package/dist/agents/skills/cursor/harness-perf-tdd/skill.yaml +48 -0
  387. package/dist/agents/skills/cursor/harness-planning/SKILL.md +579 -0
  388. package/dist/agents/skills/cursor/harness-planning/skill.yaml +56 -0
  389. package/dist/agents/skills/cursor/harness-pre-commit-review/SKILL.md +324 -0
  390. package/dist/agents/skills/cursor/harness-pre-commit-review/skill.yaml +34 -0
  391. package/dist/agents/skills/cursor/harness-product-spec/SKILL.md +285 -0
  392. package/dist/agents/skills/cursor/harness-product-spec/skill.yaml +72 -0
  393. package/dist/agents/skills/cursor/harness-property-test/SKILL.md +281 -0
  394. package/dist/agents/skills/cursor/harness-property-test/skill.yaml +71 -0
  395. package/dist/agents/skills/cursor/harness-refactoring/SKILL.md +169 -0
  396. package/dist/agents/skills/cursor/harness-refactoring/skill.yaml +34 -0
  397. package/dist/agents/skills/cursor/harness-release-readiness/SKILL.md +689 -0
  398. package/dist/agents/skills/cursor/harness-release-readiness/skill.yaml +58 -0
  399. package/dist/agents/skills/cursor/harness-resilience/SKILL.md +255 -0
  400. package/dist/agents/skills/cursor/harness-resilience/skill.yaml +76 -0
  401. package/dist/agents/skills/cursor/harness-roadmap/SKILL.md +595 -0
  402. package/dist/agents/skills/cursor/harness-roadmap/skill.yaml +44 -0
  403. package/dist/agents/skills/cursor/harness-roadmap-pilot/SKILL.md +204 -0
  404. package/dist/agents/skills/cursor/harness-roadmap-pilot/skill.yaml +52 -0
  405. package/dist/agents/skills/cursor/harness-secrets/SKILL.md +293 -0
  406. package/dist/agents/skills/cursor/harness-secrets/skill.yaml +76 -0
  407. package/dist/agents/skills/cursor/harness-security-review/SKILL.md +260 -0
  408. package/dist/agents/skills/cursor/harness-security-review/skill.yaml +53 -0
  409. package/dist/agents/skills/cursor/harness-security-scan/SKILL.md +154 -0
  410. package/dist/agents/skills/cursor/harness-security-scan/skill.yaml +42 -0
  411. package/dist/agents/skills/cursor/harness-skill-authoring/SKILL.md +292 -0
  412. package/dist/agents/skills/cursor/harness-skill-authoring/skill.yaml +33 -0
  413. package/dist/agents/skills/cursor/harness-soundness-review/SKILL.md +1267 -0
  414. package/dist/agents/skills/cursor/harness-soundness-review/skill.yaml +49 -0
  415. package/dist/agents/skills/cursor/harness-sql-review/SKILL.md +315 -0
  416. package/dist/agents/skills/cursor/harness-sql-review/skill.yaml +74 -0
  417. package/dist/agents/skills/cursor/harness-state-management/SKILL.md +309 -0
  418. package/dist/agents/skills/cursor/harness-state-management/skill.yaml +33 -0
  419. package/dist/agents/skills/cursor/harness-supply-chain-audit/SKILL.md +281 -0
  420. package/dist/agents/skills/cursor/harness-supply-chain-audit/skill.yaml +51 -0
  421. package/dist/agents/skills/cursor/harness-tdd/SKILL.md +177 -0
  422. package/dist/agents/skills/cursor/harness-tdd/skill.yaml +49 -0
  423. package/dist/agents/skills/cursor/harness-test-advisor/SKILL.md +160 -0
  424. package/dist/agents/skills/cursor/harness-test-advisor/skill.yaml +45 -0
  425. package/dist/agents/skills/cursor/harness-test-data/SKILL.md +268 -0
  426. package/dist/agents/skills/cursor/harness-test-data/skill.yaml +74 -0
  427. package/dist/agents/skills/cursor/harness-ux-copy/SKILL.md +271 -0
  428. package/dist/agents/skills/cursor/harness-ux-copy/skill.yaml +77 -0
  429. package/dist/agents/skills/cursor/harness-verification/SKILL.md +421 -0
  430. package/dist/agents/skills/cursor/harness-verification/skill.yaml +43 -0
  431. package/dist/agents/skills/cursor/harness-verify/SKILL.md +159 -0
  432. package/dist/agents/skills/cursor/harness-verify/skill.yaml +41 -0
  433. package/dist/agents/skills/cursor/harness-visual-regression/SKILL.md +257 -0
  434. package/dist/agents/skills/cursor/harness-visual-regression/skill.yaml +74 -0
  435. package/dist/agents/skills/cursor/initialize-harness-project/SKILL.md +232 -0
  436. package/dist/agents/skills/cursor/initialize-harness-project/skill.yaml +32 -0
  437. package/dist/agents/skills/cursor/validate-context-engineering/SKILL.md +150 -0
  438. package/dist/agents/skills/cursor/validate-context-engineering/skill.yaml +32 -0
  439. package/dist/agents/skills/gemini-cli/enforce-architecture/SKILL.md +52 -0
  440. package/dist/agents/skills/gemini-cli/harness-api-design/SKILL.md +52 -0
  441. package/dist/agents/skills/gemini-cli/harness-architecture-advisor/SKILL.md +52 -0
  442. package/dist/agents/skills/gemini-cli/harness-auth/SKILL.md +52 -0
  443. package/dist/agents/skills/gemini-cli/harness-autopilot/SKILL.md +123 -14
  444. package/dist/agents/skills/gemini-cli/harness-autopilot/skill.yaml +6 -0
  445. package/dist/agents/skills/gemini-cli/harness-code-review/SKILL.md +97 -3
  446. package/dist/agents/skills/gemini-cli/harness-code-review/skill.yaml +6 -0
  447. package/dist/agents/skills/gemini-cli/harness-codebase-cleanup/SKILL.md +2 -4
  448. package/dist/agents/skills/gemini-cli/harness-database/SKILL.md +52 -0
  449. package/dist/agents/skills/gemini-cli/harness-deployment/SKILL.md +52 -0
  450. package/dist/agents/skills/gemini-cli/harness-planning/SKILL.md +99 -3
  451. package/dist/agents/skills/gemini-cli/harness-planning/skill.yaml +6 -0
  452. package/dist/agents/skills/gemini-cli/harness-pre-commit-review/SKILL.md +1 -1
  453. package/dist/agents/skills/gemini-cli/harness-roadmap-pilot/SKILL.md +204 -0
  454. package/dist/agents/skills/gemini-cli/harness-roadmap-pilot/skill.yaml +52 -0
  455. package/dist/agents/skills/gemini-cli/harness-security-review/SKILL.md +27 -7
  456. package/dist/agents/skills/gemini-cli/harness-security-scan/SKILL.md +52 -0
  457. package/dist/agents/skills/gemini-cli/harness-supply-chain-audit/SKILL.md +281 -0
  458. package/dist/agents/skills/gemini-cli/harness-supply-chain-audit/skill.yaml +51 -0
  459. package/dist/agents/skills/package.json +5 -5
  460. package/dist/agents/skills/templates/discipline-template.md +49 -0
  461. package/dist/agents/skills/tests/schema.ts +1 -1
  462. package/dist/{agents-md-ZGNIDWAF.js → agents-md-DUYNKHJZ.js} +1 -1
  463. package/dist/{architecture-ZLIH5533.js → architecture-UBO5KKUV.js} +2 -2
  464. package/dist/bin/harness-mcp.js +14 -14
  465. package/dist/bin/harness.js +20 -20
  466. package/dist/{check-phase-gate-ZOXVBDCN.js → check-phase-gate-OSHN2AEL.js} +3 -3
  467. package/dist/{chunk-NNHDDXYT.js → chunk-2DMIQ35P.js} +486 -132
  468. package/dist/{chunk-OFXQSFOW.js → chunk-5FM64G6D.js} +2 -2
  469. package/dist/{chunk-RCWZBSK5.js → chunk-6KWBH4EO.js} +1 -1
  470. package/dist/{chunk-LGYBN7Y6.js → chunk-ABQUCXRE.js} +2 -1
  471. package/dist/{chunk-VEPAJXBW.js → chunk-APNPXLB2.js} +4 -4
  472. package/dist/{chunk-ZOAWBDWU.js → chunk-CJDVBBPB.js} +5 -1
  473. package/dist/{chunk-FTMXDOR6.js → chunk-CZZXE6BL.js} +1 -1
  474. package/dist/{chunk-N25INEIX.js → chunk-GWXP3JVA.js} +3 -3
  475. package/dist/{chunk-XYLGHKG6.js → chunk-HKUX2X7O.js} +11 -2
  476. package/dist/{chunk-YBJ262QL.js → chunk-LRG3B43J.js} +1 -1
  477. package/dist/{chunk-AOZRDOIP.js → chunk-M6TIO6NF.js} +1 -1
  478. package/dist/{chunk-J4RAX7YB.js → chunk-OA3MOZGG.js} +1683 -507
  479. package/dist/{chunk-YLXFKVJE.js → chunk-OHZVGIPE.js} +9 -9
  480. package/dist/{chunk-2BKLWLY6.js → chunk-QSRRBNLY.js} +8 -8
  481. package/dist/{chunk-3ZZKVN62.js → chunk-TG7IUJ3J.js} +1 -1
  482. package/dist/{chunk-EDXIVMAP.js → chunk-TZIHFNEG.js} +20 -6
  483. package/dist/{chunk-ND2ENWDM.js → chunk-UX3JHYEA.js} +1 -1
  484. package/dist/{chunk-Z2OOPXJO.js → chunk-VF23UTNB.js} +1771 -164
  485. package/dist/{chunk-7MJAPE3Z.js → chunk-YLN34N65.js} +1 -0
  486. package/dist/{chunk-B2HKP423.js → chunk-ZA2I7S3E.js} +28 -1
  487. package/dist/{ci-workflow-765LSHRD.js → ci-workflow-FJZMNZPT.js} +1 -1
  488. package/dist/{create-skill-XSWHMSM5.js → create-skill-NDXQSTIK.js} +2 -2
  489. package/dist/{dist-ALQDD67R.js → dist-MF5BK5AD.js} +77 -1
  490. package/dist/{dist-B26DFXMP.js → dist-U7EAO6T2.js} +110 -60
  491. package/dist/{docs-NRMQCOJ6.js → docs-WZHW4N4P.js} +3 -3
  492. package/dist/{engine-3RB7MXPP.js → engine-VS6ZJ2VZ.js} +2 -2
  493. package/dist/{entropy-6AGX2ZUN.js → entropy-FCIGJIIT.js} +2 -2
  494. package/dist/{feedback-MY4QZIFD.js → feedback-O3FYTZIE.js} +1 -1
  495. package/dist/{generate-agent-definitions-ZAE726AU.js → generate-agent-definitions-EYG263XD.js} +3 -3
  496. package/dist/{graph-loader-2M2HXDQI.js → graph-loader-KMHDQYDT.js} +1 -1
  497. package/dist/index.d.ts +95 -15
  498. package/dist/index.js +20 -20
  499. package/dist/{loader-UUTVMQCC.js → loader-B4XWX4K6.js} +1 -1
  500. package/dist/{mcp-VU5FMO52.js → mcp-DVVUODN7.js} +14 -14
  501. package/dist/{performance-2D7G6NMJ.js → performance-NMJDV6HF.js} +4 -2
  502. package/dist/{review-pipeline-RAQ55ISU.js → review-pipeline-MSEJWTKM.js} +1 -1
  503. package/dist/{runtime-BCK5RRZQ.js → runtime-YHVLJNPG.js} +1 -1
  504. package/dist/{security-2RPQEN62.js → security-HTDKKGMX.js} +1 -1
  505. package/dist/{skill-executor-XZLYZYAK.js → skill-executor-XEVDGXUM.js} +2 -2
  506. package/dist/{validate-KBYQAEWE.js → validate-SPSTH2YW.js} +2 -2
  507. package/dist/{validate-cross-check-OABMREW4.js → validate-cross-check-YTDWIMFI.js} +1 -1
  508. package/package.json +20 -20
@@ -271,6 +271,58 @@ Phase 4: VALIDATE
271
271
  - **No plaintext or weakly hashed passwords.** MD5, SHA-1, or unsalted SHA-256 for password storage is a blocking finding. Passwords must use bcrypt (cost 12+), scrypt, or argon2id.
272
272
  - **No authorization checks skipped at the API layer.** UI-only authorization is not authorization. Every API endpoint that serves user-specific or role-restricted data must enforce permissions server-side.
273
273
 
274
+ ## Evidence Requirements
275
+
276
+ When this skill makes claims about existing code, architecture, or behavior,
277
+ it MUST cite evidence using one of:
278
+
279
+ 1. **File reference:** `file:line` format (e.g., `src/auth.ts:42`)
280
+ 2. **Code pattern reference:** `file` with description (e.g., `src/utils/hash.ts` —
281
+ "existing bcrypt wrapper")
282
+ 3. **Test/command output:** Inline or referenced output from a test run or CLI command
283
+ 4. **Session evidence:** Write to the `evidence` session section via `manage_state`
284
+
285
+ **Uncited claims:** Technical assertions without citations MUST be prefixed with
286
+ `[UNVERIFIED]`. Example: `[UNVERIFIED] The auth middleware supports refresh tokens`.
287
+
288
+ ## Red Flags
289
+
290
+ ### Universal
291
+
292
+ These apply to ALL skills. If you catch yourself doing any of these, STOP.
293
+
294
+ - **"I believe the codebase does X"** — Stop. Read the code and cite a file:line
295
+ reference. Belief is not evidence.
296
+ - **"Let me recommend [pattern] for this"** without checking existing patterns — Stop.
297
+ Search the codebase first. The project may already have a convention.
298
+ - **"While we're here, we should also [unrelated improvement]"** — Stop. Flag the idea
299
+ but do not expand scope beyond the stated task.
300
+
301
+ ### Domain-Specific
302
+
303
+ - **"Let's store the token in localStorage for convenience"** — Stop. localStorage is accessible to XSS. Use httpOnly cookies or secure server-side storage.
304
+ - **"We can use a simple hash for passwords"** — Stop. Passwords require slow hashing (bcrypt, scrypt, argon2id). Fast hashes like MD5/SHA are crackable in seconds.
305
+ - **"Let's implement our own JWT validation"** — Stop. Use a vetted library. Custom crypto is a known source of vulnerabilities.
306
+ - **"The session expiry is just a UX concern"** — Stop. Session management is a security control. Timeout values are security-relevant configuration.
307
+
308
+ ## Rationalizations to Reject
309
+
310
+ ### Universal
311
+
312
+ These reasoning patterns sound plausible but lead to bad outcomes. Reject them.
313
+
314
+ - **"It's probably fine"** — "Probably" is not evidence. Verify before asserting.
315
+ - **"This is best practice"** — Best practice in what context? Cite the source and
316
+ confirm it applies to this codebase.
317
+ - **"We can fix it later"** — If it is worth flagging, it is worth documenting now
318
+ with a concrete follow-up plan.
319
+
320
+ ### Domain-Specific
321
+
322
+ - **"No one would guess this token format"** — Security by obscurity. Tokens must be cryptographically secure regardless of format predictability.
323
+ - **"This is an internal service, auth is less critical"** — Internal services are lateral movement targets. Authenticate all service boundaries.
324
+ - **"The frontend validates permissions, so the backend doesn't need to"** — Client-side checks are bypassable. Server-side authorization is the only real enforcement.
325
+
274
326
  ## Escalation
275
327
 
276
328
  - **When the auth architecture requires a fundamental redesign:** Report: "The current auth implementation has [N] high-severity findings that require architectural changes (e.g., switching from localStorage tokens to httpOnly cookies). This is not a patch — recommend a dedicated auth migration sprint with a rollback plan."
@@ -33,6 +33,20 @@ Autopilot orchestrates these persona agents — it never reimplements their logi
33
33
 
34
34
  **Plans are gated by concern signals.** When no concern signals fire (low complexity, no planner concerns, task count within threshold), plans are auto-approved with a structured report and execution proceeds immediately. When any signal fires, the plan pauses for human review with the standard yes/revise/skip/stop flow. The `--review-plans` session flag forces all plans to pause regardless of signals.
35
35
 
36
+ ## Rigor Levels
37
+
38
+ The `rigorLevel` is set during INIT via `--fast` or `--thorough` flags and persists for the entire session. Default is `standard`.
39
+
40
+ | State | `fast` | `standard` (default) | `thorough` |
41
+ | -------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
42
+ | PLAN | Pass `rigorLevel: fast` to planner. Planner skips skeleton pass. | Default planner behavior. | Pass `rigorLevel: thorough` to planner. Planner always produces skeleton for approval. |
43
+ | APPROVE_PLAN | Auto-approve all plans regardless of concern signals. Skip human review. | Default signal-based approval logic. | Force human review of all plans (equivalent to `--review-plans`). |
44
+ | EXECUTE | Skip scratchpad — agents keep research in conversation. Checkpoint commits still fire. | Agents use scratchpad for research >500 words. Checkpoint commits fire. | Verbose scratchpad — agents write all research, reasoning, and intermediate output to scratchpad. Checkpoint commits fire. |
45
+ | VERIFY | Minimal verification — run `harness validate` only. Skip detailed verification agent. | Default verification pipeline. | Full verification — run verification agent with expanded checks. |
46
+ | PHASE_COMPLETE | Scratchpad clear is a no-op (nothing written). | Clear scratchpad for completed phase. | Clear scratchpad for completed phase. |
47
+
48
+ When `rigorLevel` is `fast`, the APPROVE_PLAN concern signal evaluation is bypassed entirely — plans always auto-approve. When `rigorLevel` is `thorough`, it implicitly sets `reviewPlans: true` for the APPROVE_PLAN gate.
49
+
36
50
  ## Process
37
51
 
38
52
  ### State Machine
@@ -61,7 +75,7 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
61
75
  - Create the session directory if it does not exist
62
76
 
63
77
  3. **Check for existing state.** Read `{sessionDir}/autopilot-state.json`. If it exists and `currentState` is not `DONE`:
64
- - **Schema migration:** If `schemaVersion < 3`, backfill missing fields: set `startingCommit` to the earliest commit in `history` (or current HEAD if no history), set `decisions` to `[]`, set `finalReview` to `{ "status": "pending", "findings": [], "retryCount": 0 }`. If `schemaVersion < 4`, set `reviewPlans` to `false`. Update `schemaVersion` to `4` and save.
78
+ - **Schema migration:** If `schemaVersion < 3`, backfill missing fields: set `startingCommit` to the earliest commit in `history` (or current HEAD if no history), set `decisions` to `[]`, set `finalReview` to `{ "status": "pending", "findings": [], "retryCount": 0 }`. If `schemaVersion < 4`, set `reviewPlans` to `false`. Update `schemaVersion` to `4` and save. If `schemaVersion < 5`, set `rigorLevel` to `"standard"`. Update `schemaVersion` to `5` and save.
65
79
  - Report: "Resuming autopilot from state `{currentState}`, phase {currentPhase}: {phaseName}."
66
80
  - Skip steps 4 and 5 (initial state creation and flag parsing) — these only apply to fresh starts.
67
81
  - Skip to the recorded `currentState` and continue from there.
@@ -76,11 +90,12 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
76
90
  - Create `{sessionDir}/autopilot-state.json`:
77
91
  ```json
78
92
  {
79
- "schemaVersion": 4,
93
+ "schemaVersion": 5,
80
94
  "sessionDir": ".harness/sessions/<slug>",
81
95
  "specPath": "<path to spec>",
82
96
  "startingCommit": "<git rev-parse HEAD output>",
83
97
  "reviewPlans": false,
98
+ "rigorLevel": "standard",
84
99
  "currentState": "ASSESS",
85
100
  "currentPhase": 0,
86
101
  "phases": [
@@ -106,7 +121,12 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
106
121
  }
107
122
  ```
108
123
 
109
- 5. **Parse session flags.** Check CLI arguments for `--review-plans`. If present, set `state.reviewPlans: true` in the state file. This flag persists for the entire session resuming a session preserves the setting from when it was started (the flag is only read on fresh start, not on resume).
124
+ 5. **Parse session flags.** Check CLI arguments for session-level flags. These persist for the entire session -- resuming a session preserves the settings from when it was started (flags are only read on fresh start, not on resume).
125
+ - `--review-plans`: Set `state.reviewPlans: true`.
126
+ - `--fast`: Set `state.rigorLevel: "fast"`. Reduces rigor across all phases: skip skeleton approval, skip scratchpad, minimal verification.
127
+ - `--thorough`: Set `state.rigorLevel: "thorough"`. Increases rigor across all phases: require skeleton approval, verbose scratchpad, full verification.
128
+ - If neither `--fast` nor `--thorough` is passed, `rigorLevel` defaults to `"standard"`.
129
+ - If both `--fast` and `--thorough` are passed, reject with error: "Cannot use --fast and --thorough together. Choose one."
110
130
 
111
131
  6. **Load context via gather_context.** Use the `gather_context` MCP tool to load all working context efficiently:
112
132
 
@@ -176,10 +196,23 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
176
196
  Session directory: {sessionDir}
177
197
  Session slug: {sessionSlug}
178
198
  Phase description: {phase description from spec}
199
+ Rigor level: {rigorLevel}
179
200
 
180
201
  On startup, call gather_context({ session: "{sessionSlug}" }) to load
181
202
  session-scoped learnings, state, and validation context.
182
203
 
204
+ ## Scratchpad (if rigorLevel is not "fast")
205
+
206
+ For bulky research output (spec analysis, codebase exploration notes,
207
+ dependency analysis — anything >500 words), write to scratchpad instead
208
+ of keeping in conversation:
209
+
210
+ writeScratchpad({ session: "{sessionSlug}", phase: "{phaseName}", projectPath: "{projectPath}" }, "research-{topic}.md", content)
211
+
212
+ Reference the scratchpad file path in your conversation instead of
213
+ inlining the content. This keeps the planning context focused on
214
+ decisions and task structure.
215
+
183
216
  Follow the harness-planning skill process exactly. Write the plan to
184
217
  docs/plans/{date}-{phase-name}-plan.md. Write {sessionDir}/handoff.json when done.
185
218
  ```
@@ -215,7 +248,12 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
215
248
  - Effective complexity (original + any override)
216
249
  - Concerns array from the planning handoff (`{sessionDir}/handoff.json` field `concerns`, default: `[]` if field is absent)
217
250
 
218
- 2. **Evaluate `shouldPauseForReview`.** Check the following signals in order. If **any** signal is true, pause for human review. If **all** are false, auto-approve.
251
+ 2. **Rigor-level override:**
252
+ - If `rigorLevel` is `"fast"`: Skip the signal evaluation entirely. Auto-approve the plan. Record decision as `"auto_approved_plan_fast"`. Transition directly to EXECUTE.
253
+ - If `rigorLevel` is `"thorough"`: Force `shouldPauseForReview = true` regardless of other signals (equivalent to `--review-plans`).
254
+ - If `rigorLevel` is `"standard"`: Proceed with normal signal evaluation below.
255
+
256
+ 3. **Evaluate `shouldPauseForReview`.** Check the following signals in order. If **any** signal is true, pause for human review. If **all** are false, auto-approve.
219
257
 
220
258
  | # | Signal | Condition | Description |
221
259
  | --- | -------------------- | ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -225,7 +263,7 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
225
263
  | 4 | `plannerConcerns` | Handoff `concerns` array is non-empty | Planner flagged specific risks or uncertainties |
226
264
  | 5 | `taskCount` | Plan contains > 15 tasks (i.e., 16+) | Plan is large enough to warrant human review |
227
265
 
228
- 3. **Build the signal evaluation result** for reporting and recording:
266
+ 4. **Build the signal evaluation result** for reporting and recording:
229
267
 
230
268
  ```json
231
269
  {
@@ -238,7 +276,7 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
238
276
  }
239
277
  ```
240
278
 
241
- 4. **If auto-approving (no signals fired):**
279
+ 5. **If auto-approving (no signals fired):**
242
280
 
243
281
  a. **Emit structured auto-approve report:**
244
282
 
@@ -270,7 +308,7 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
270
308
 
271
309
  c. **Transition to EXECUTE** — no human interaction needed.
272
310
 
273
- 5. **If pausing for review (one or more signals fired):**
311
+ 6. **If pausing for review (one or more signals fired):**
274
312
 
275
313
  a. **Emit structured pause report** showing which signal(s) triggered:
276
314
 
@@ -312,7 +350,7 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
312
350
 
313
351
  Use the actual decision value: `approved_plan`, `revised_plan`, `skipped_phase`, or `stopped`.
314
352
 
315
- 6. **Update state** with `currentState: "EXECUTE"` (or appropriate state for skip/stop) and save.
353
+ 7. **Update state** with `currentState: "EXECUTE"` (or appropriate state for skip/stop) and save.
316
354
 
317
355
  ---
318
356
 
@@ -331,16 +369,35 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
331
369
  Session directory: {sessionDir}
332
370
  Session slug: {sessionSlug}
333
371
  State: {sessionDir}/state.json
372
+ Rigor level: {rigorLevel}
334
373
 
335
374
  On startup, call gather_context({ session: "{sessionSlug}" }) to load
336
375
  session-scoped learnings, state, and validation context.
337
376
 
377
+ ## Scratchpad (if rigorLevel is not "fast")
378
+
379
+ For bulky intermediate output (test output analysis, error investigation
380
+ notes, dependency trees — anything >500 words), write to scratchpad:
381
+
382
+ writeScratchpad({ session: "{sessionSlug}", phase: "{phaseName}", projectPath: "{projectPath}" }, "task-{N}-{topic}.md", content)
383
+
384
+ Reference the scratchpad file path instead of inlining the content.
385
+
338
386
  Follow the harness-execution skill process exactly.
339
387
  Update {sessionDir}/state.json after each task.
340
388
  Write {sessionDir}/handoff.json when done or when blocked.
341
389
  ```
342
390
 
343
391
  2. **When the agent returns, check the outcome:**
392
+ - **After each checkpoint verification passes**, commit the work:
393
+ ```
394
+ commitAtCheckpoint({
395
+ projectPath: "{projectPath}",
396
+ session: "{sessionSlug}",
397
+ checkpointLabel: "Checkpoint {N}: {checkpoint description}"
398
+ })
399
+ ```
400
+ If the commit result shows `committed: false`, no changes existed — continue silently.
344
401
  - **All tasks complete:** Transition to VERIFY.
345
402
  - **Checkpoint reached:** Surface the checkpoint to the user in the main conversation. Handle the checkpoint type:
346
403
  - `[checkpoint:human-verify]` — Show output, ask for confirmation, then resume execution agent.
@@ -357,6 +414,16 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
357
414
  - **Attempt 2:** Expand context — read related files, check `learnings.md` for similar failures, re-dispatch with additional context.
358
415
  - **Attempt 3:** Full context gather — read test output, imports, plan instructions for ambiguity. Re-dispatch with maximum context.
359
416
  - If budget exhausted:
417
+ - **Recovery commit:** Before stopping, commit any passing work:
418
+ ```
419
+ commitAtCheckpoint({
420
+ projectPath: "{projectPath}",
421
+ session: "{sessionSlug}",
422
+ checkpointLabel: "Phase {N}: {name} — recovery at task {taskNumber}",
423
+ isRecovery: true
424
+ })
425
+ ```
426
+ This preserves all work completed before the failure. The `[autopilot][recovery]` prefix in the commit message distinguishes recovery commits from normal checkpoint commits.
360
427
  - **Stop.** Present all 3 attempts with full context to the user.
361
428
  - Record failure in `.harness/failures.md`.
362
429
  - Ask: "How should we proceed? (fix manually and continue / revise plan / stop)"
@@ -368,7 +435,11 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
368
435
 
369
436
  ### VERIFY — Post-Execution Validation
370
437
 
371
- 1. **Dispatch verification agent using the Agent tool:**
438
+ 1. **Rigor-level branching:**
439
+ - If `rigorLevel` is `"fast"`: Skip the verification agent entirely. Run only `harness validate`. If it passes, transition to REVIEW. If it fails, surface to user.
440
+ - If `rigorLevel` is `"thorough"` or `"standard"`: Dispatch the verification agent as below.
441
+
442
+ 2. **Dispatch verification agent using the Agent tool:**
372
443
 
373
444
  ```
374
445
  Agent tool parameters:
@@ -387,14 +458,14 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
387
458
  Report pass/fail with findings.
388
459
  ```
389
460
 
390
- 2. **When the agent returns:**
461
+ 3. **When the agent returns:**
391
462
  - **All checks pass:** Transition to REVIEW.
392
463
  - **Failures found:** Surface findings to the user. Ask: "Fix these issues before review? (fix / skip verification / stop)"
393
464
  - **fix** — Re-enter EXECUTE with targeted fixes (retry budget resets for verification fixes).
394
465
  - **skip** — Record skip decision in `decisions` array. Proceed to REVIEW with verification warnings noted.
395
466
  - **stop** — Save state and exit.
396
467
 
397
- 3. **Update state** with `currentState: "REVIEW"` and save.
468
+ 4. **Update state** with `currentState: "REVIEW"` and save.
398
469
 
399
470
  ---
400
471
 
@@ -458,9 +529,11 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
458
529
 
459
530
  3. **Mark phase as `complete`** in state.
460
531
 
461
- 4. **Sync roadmap.** If `docs/roadmap.md` exists, call `manage_roadmap` with action `sync` and `apply: true`. This reflects the just-completed phase in the roadmap (e.g., updating the feature from `planned` to `in-progress`). If `manage_roadmap` is unavailable, fall back to direct file manipulation using `syncRoadmap()` from core. Skip silently if no roadmap exists. Do not use `force_sync: true` the human-always-wins rule applies.
532
+ 4. **Clear scratchpad for this phase.** Call `clearScratchpad({ session: sessionSlug, phase: phaseName, projectPath: projectPath })` to delete ephemeral research files for the completed phase. This frees disk space and prevents stale scratchpad data from leaking into future phases.
462
533
 
463
- 5. **Write session summary.** Update the session summary to reflect the completed phase:
534
+ 5. **Sync roadmap.** If `docs/roadmap.md` exists, call `manage_roadmap` with action `sync` and `apply: true`. This reflects the just-completed phase in the roadmap (e.g., updating the feature from `planned` to `in-progress`). If `manage_roadmap` is unavailable, fall back to direct file manipulation using `syncRoadmap()` from core. Skip silently if no roadmap exists. Do not use `force_sync: true` — the human-always-wins rule applies.
535
+
536
+ 6. **Write session summary.** Update the session summary to reflect the completed phase:
464
537
 
465
538
  ```json
466
539
  writeSessionSummary(projectPath, sessionSlug, {
@@ -476,7 +549,7 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
476
549
  })
477
550
  ```
478
551
 
479
- 6. **Check for next phase:**
552
+ 7. **Check for next phase:**
480
553
  - If more phases remain: "Phase {N} complete. Next: Phase {N+1}: {name} (complexity: {level}). Continue? (yes / stop)"
481
554
  - **yes** — Increment `currentPhase`, reset `retryBudget`, transition to ASSESS.
482
555
  - **stop** — Save state and exit.
@@ -626,6 +699,9 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
626
699
  - **Learnings** — `.harness/learnings.md` (global) is appended by both delegated skills and autopilot itself. On DONE, session learnings with generalizable outcomes are promoted to global via `promoteSessionLearnings`. If global count exceeds 30, autopilot suggests running `harness learnings prune`.
627
700
  - **Roadmap context** — During INIT, reads `docs/roadmap.md` (if present) for project-level priorities, blockers, and milestone status. Provides broader context for phase execution decisions.
628
701
  - **Roadmap sync** — During PHASE_COMPLETE, calls `manage_roadmap` with `sync` and `apply: true` to reflect phase progress. During DONE, calls `manage_roadmap` with `update` to set feature status to `done`. Both skip silently when no roadmap exists. Neither uses `force_sync: true`.
702
+ - **Scratchpad** — Agents write bulky research output (>500 words) to `.harness/sessions/<slug>/scratchpad/<phase>/` via `writeScratchpad()` instead of keeping it in conversation context. Cleared automatically at phase transitions via `clearScratchpad()` in PHASE_COMPLETE. Skipped entirely when `rigorLevel` is `"fast"`.
703
+ - **Checkpoint commits** — After each checkpoint verification passes in EXECUTE, `commitAtCheckpoint()` creates a commit with message `[autopilot] <label>`. On failure with retry budget exhausted, a recovery commit is created with `[autopilot][recovery] <label>`. Skipped silently when no changes exist.
704
+ - **Rigor levels** — `--fast` / `--thorough` flags set `rigorLevel` in state during INIT. Persists for the entire session. Affects PLAN (skeleton skip/require), APPROVE_PLAN (auto-approve/force-review), EXECUTE (scratchpad usage), and VERIFY (minimal/full). See the Rigor Behavior Table for details.
629
705
 
630
706
  ## Success Criteria
631
707
 
@@ -638,6 +714,11 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
638
714
  - Plans auto-approve when no concern signals fire; plans pause for human review when any signal fires
639
715
  - `--review-plans` flag forces human review for all plans in a session
640
716
  - Phase completion summary shown between every phase
717
+ - `--fast` skips skeleton approval, skips scratchpad, auto-approves plans, and runs minimal verification
718
+ - `--thorough` requires skeleton approval, uses verbose scratchpad, forces plan review, and runs full verification
719
+ - Scratchpad is cleared automatically at every phase transition (PHASE_COMPLETE)
720
+ - Checkpoint commits fire after every passing checkpoint; recovery commits fire on retry budget exhaustion
721
+ - Rigor level persists across session resume — set once during INIT, never changed mid-session
641
722
 
642
723
  ## Examples
643
724
 
@@ -645,6 +726,34 @@ INIT → ASSESS → PLAN → APPROVE_PLAN → EXECUTE → VERIFY → REVIEW →
645
726
 
646
727
  **User invokes:** `/harness:autopilot docs/changes/security-scanner/proposal.md`
647
728
 
729
+ **Or with rigor flag:** `/harness:autopilot docs/changes/security-scanner/proposal.md --fast`
730
+
731
+ **INIT (with --fast):**
732
+
733
+ ```
734
+ Read spec — found 3 phases:
735
+ Phase 1: Core Scanner (complexity: low)
736
+ Phase 2: Rule Engine (complexity: high)
737
+ Phase 3: CLI Integration (complexity: low)
738
+ Rigor level: fast
739
+ Created .harness/sessions/changes--security-scanner--proposal/autopilot-state.json. Starting Phase 1.
740
+ ```
741
+
742
+ **Phase 1 — APPROVE_PLAN (fast mode):**
743
+
744
+ ```
745
+ Auto-approved Phase 1: Core Scanner (fast mode — signal evaluation skipped)
746
+ ```
747
+
748
+ **Phase 1 — EXECUTE (checkpoint commit):**
749
+
750
+ ```
751
+ [harness-task-executor executes 8 tasks]
752
+ Checkpoint 1: types and interfaces — committed (abc1234)
753
+ Checkpoint 2: core implementation — committed (def5678)
754
+ Checkpoint 3: tests and validation — nothing to commit (skipped)
755
+ ```
756
+
648
757
  **INIT:**
649
758
 
650
759
  ```
@@ -26,6 +26,12 @@ cli:
26
26
  - name: review-plans
27
27
  description: Force human review of all plans (overrides auto-approve)
28
28
  required: false
29
+ - name: fast
30
+ description: Run with reduced rigor — skip skeleton approval, skip scratchpad, minimal verification
31
+ required: false
32
+ - name: thorough
33
+ description: Run with maximum rigor — require skeleton approval, verbose scratchpad, full verification
34
+ required: false
29
35
  mcp:
30
36
  tool: run_skill
31
37
  input:
@@ -58,6 +58,20 @@ interface ReviewFinding {
58
58
  | `--deep` | Pass `--deep` to `harness-security-review` for threat modeling in the security fan-out slot |
59
59
  | `--no-mechanical` | Skip mechanical checks (useful if already run in CI) |
60
60
  | `--ci` | Enable eligibility gate, non-interactive output |
61
+ | `--fast` | Reduced rigor: skip learnings integration, fast-tier agents for all fan-out slots |
62
+ | `--thorough` | Maximum rigor: always load learnings, full agent roster + meta-judge, learnings in output |
63
+
64
+ ### Rigor Levels
65
+
66
+ The `rigorLevel` is set via `--fast` or `--thorough` flags (or passed by autopilot). Default is `standard`. Rigor controls learnings integration, agent tier selection, and output verbosity.
67
+
68
+ | Phase | `fast` | `standard` (default) | `thorough` |
69
+ | ---------- | ----------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
70
+ | 3. CONTEXT | Skip learnings integration entirely. No `filterByRelevance` call. | Load learnings if `.harness/review-learnings.md` exists. Score and filter via `filterByRelevance`. | Always load learnings. Score and filter via `filterByRelevance`. Fail loudly if learnings file is missing. |
71
+ | 4. FAN-OUT | All agents run at fast tier. Reduced focus areas. | Default tier assignments (see Model Tiers table). | Full agent roster at default tiers + meta-judge pass that cross-validates findings across domains. |
72
+ | 7. OUTPUT | Standard output format. | Standard output format. | Include a "Learnings Applied" section listing which learnings influenced the review and their relevance scores. |
73
+
74
+ When `rigorLevel` is `fast`, the pipeline optimizes for speed: learnings are skipped entirely and all fan-out agents run at fast tier. When `rigorLevel` is `thorough`, the pipeline optimizes for depth: learnings are always scored and included, the full agent roster runs, a meta-judge validates cross-domain findings, and the output includes which learnings were applied.
61
75
 
62
76
  ### Model Tiers
63
77
 
@@ -71,19 +85,39 @@ Tiers are abstract labels resolved at runtime from project config. If no config
71
85
 
72
86
  ### Review Learnings Calibration
73
87
 
74
- Before starting the pipeline, check for a project-specific calibration file:
88
+ Before starting the pipeline, check for a project-specific calibration file. Learnings integration is gated by rigor level:
89
+
90
+ - **`fast`:** Skip this section entirely. Do not read or score learnings.
91
+ - **`standard`:** Read learnings if the file exists. Score and filter. If the file does not exist, proceed with default focus areas.
92
+ - **`thorough`:** Always read learnings. If `.harness/review-learnings.md` does not exist, log a warning: "No review-learnings.md found -- thorough mode expects calibration data."
75
93
 
76
94
  ```bash
77
95
  cat .harness/review-learnings.md 2>/dev/null
78
96
  ```
79
97
 
80
- If `.harness/review-learnings.md` exists:
98
+ If `.harness/review-learnings.md` exists (and rigor is not `fast`):
81
99
 
82
100
  1. **Read the Useful Findings section.** Prioritize these categories during review — they have historically caught real issues in this project.
83
101
  2. **Read the Noise / False Positives section.** De-prioritize or skip these categories — flagging them wastes the author's time and erodes trust in the review process.
84
102
  3. **Read the Calibration Notes section.** Apply these project-specific overrides to your review judgment. These represent deliberate team decisions, not oversights.
85
103
 
86
- If the file does not exist, proceed with default review focus areas. After completing the review, consider suggesting that the team create `.harness/review-learnings.md` if you notice patterns that would benefit from calibration.
104
+ #### Learnings Relevance Scoring
105
+
106
+ When learnings are loaded (standard or thorough mode), score them against the diff context before applying:
107
+
108
+ 1. **Build the diff context string.** Concatenate: changed file paths (one per line) + diff summary (commit message or PR description).
109
+ 2. **Score each learning** using `filterByRelevance(learnings, diffContext, 0.7, 1000)` from `packages/core/src/state/learnings-relevance.ts`.
110
+ - Each learning is scored against the diff context via Jaccard similarity.
111
+ - Only learnings scoring >= 0.7 are retained.
112
+ - Results are sorted by score descending.
113
+ - Results are truncated to fit within the 1000-token budget.
114
+ 3. **Apply filtered learnings** to the review focus areas:
115
+ - Useful Findings entries that pass the filter: boost priority for those categories.
116
+ - Noise/False Positive entries that pass the filter: actively suppress those patterns.
117
+ - Calibration Notes entries that pass the filter: apply as overrides.
118
+ 4. **If no learnings pass the 0.7 threshold,** proceed with default focus areas. Do not fall back to unscored inclusion.
119
+
120
+ If the file does not exist and rigor is `standard`, proceed with default review focus areas. After completing the review, consider suggesting that the team create `.harness/review-learnings.md` if you notice patterns that would benefit from calibration.
87
121
 
88
122
  ## Pipeline Phases
89
123
 
@@ -285,6 +319,12 @@ Use commit history to answer:
285
319
  **Tier:** mixed (see per-agent tiers below)
286
320
  **Purpose:** Run four parallel review subagents, each with domain-scoped context from Phase 3. Each agent produces findings in the `ReviewFinding` schema.
287
321
 
322
+ **Rigor overrides:**
323
+
324
+ - **`fast`:** All four agents run at **fast tier** (haiku-class). Focus areas are unchanged but agents operate with reduced reasoning depth.
325
+ - **`standard`:** Default tier assignments as listed per agent below.
326
+ - **`thorough`:** Default tier assignments + a **meta-judge pass** after all agents return. The meta-judge (strong tier) cross-validates findings across domains: confirms findings cited by multiple agents, flags contradictions, and surfaces cross-cutting concerns that individual agents missed.
327
+
288
328
  #### Compliance Agent (standard tier)
289
329
 
290
330
  Reviews adherence to project conventions, standards, and documentation requirements.
@@ -493,6 +533,16 @@ For each issue, provide:
493
533
  - **Request Changes** — Critical or important issues must be addressed.
494
534
  - **Comment** — Observations only, no blocking issues.
495
535
 
536
+ **Learnings Applied (thorough mode only):** When `rigorLevel` is `thorough`, append a "Learnings Applied" section after the Assessment:
537
+
538
+ ```
539
+ **Learnings Applied:**
540
+ - [0.85] "Useful Finding: Missing error handling in service layer" — boosted priority for error handling checks
541
+ - [0.72] "Noise: Style-only import ordering" — suppressed import order findings
542
+ ```
543
+
544
+ Each entry shows the Jaccard relevance score and how the learning influenced the review. This section is omitted in `fast` and `standard` modes.
545
+
496
546
  **Exit code:** 0 for Approve/Comment, 1 for Request Changes.
497
547
 
498
548
  #### Inline GitHub Comments (`--comment` flag)
@@ -679,6 +729,8 @@ Every review finding MUST cite evidence using one of:
679
729
  - **`harness cleanup`** — Optional check during Phase 2 for entropy accumulation in changed files.
680
730
  - **Graph queries** — Used in Phase 3 (CONTEXT) for dependency-scoped context and in Phase 5 (VALIDATE) for reachability verification. Graceful fallback when no graph exists.
681
731
  - **`emit_interaction`** -- Call after review approval to suggest transitioning to merge/PR creation. Only emitted on APPROVE assessment. Uses confirmed transition (waits for user approval).
732
+ - **Rigor levels** — `--fast` / `--thorough` flags control learnings integration and agent tiers. Fast skips learnings and runs all agents at fast tier. Standard includes learnings if available. Thorough always loads learnings, runs a meta-judge pass, and includes a "Learnings Applied" section in output. See the Rigor Levels table for details.
733
+ - **`filterByRelevance`** — Used in the Review Learnings Calibration section (Phase 3) to score learnings against diff context. Threshold 0.7, token budget 1000. From `packages/core/src/state/learnings-relevance.ts`.
682
734
 
683
735
  ## Success Criteria
684
736
 
@@ -696,6 +748,10 @@ Every review finding MUST cite evidence using one of:
696
748
  - No code merges with failing harness checks
697
749
  - Response to feedback (Role C) is verified before implementation
698
750
  - Pushback on incorrect feedback is evidence-based
751
+ - When `rigorLevel` is `fast`, learnings integration is skipped and all fan-out agents run at fast tier
752
+ - When `rigorLevel` is `thorough`, learnings are always loaded and scored, a meta-judge validates cross-domain findings, and a "Learnings Applied" section appears in the output
753
+ - When `rigorLevel` is `standard`, learnings are included if `.harness/review-learnings.md` exists, scored via `filterByRelevance` at 0.7 threshold
754
+ - When all learnings score below 0.7 threshold, zero learnings are included (no fallback to unscored inclusion)
699
755
 
700
756
  ## Examples
701
757
 
@@ -753,6 +809,44 @@ Every review finding MUST cite evidence using one of:
753
809
  - **Never agree performatively.** "Sure, I'll change that" without understanding why is forbidden. Every change must be understood.
754
810
  - **Never skip the YAGNI check.** Every suggestion must answer: "Does this serve a current, concrete need?" Speculative improvements are rejected.
755
811
 
812
+ ## Red Flags
813
+
814
+ ### Universal
815
+
816
+ These apply to ALL skills. If you catch yourself doing any of these, STOP.
817
+
818
+ - **"I believe the codebase does X"** — Stop. Read the code and cite a file:line
819
+ reference. Belief is not evidence.
820
+ - **"Let me recommend [pattern] for this"** without checking existing patterns — Stop.
821
+ Search the codebase first. The project may already have a convention.
822
+ - **"While we're here, we should also [unrelated improvement]"** — Stop. Flag the idea
823
+ but do not expand scope beyond the stated task.
824
+
825
+ ### Domain-Specific
826
+
827
+ - **"The change looks reasonable, approving"** — Stop. Have you read every changed file? Approval without full review is rubber-stamping.
828
+ - **"Let me fix this issue I found"** — Stop. Review identifies issues; it does not fix them. Suggest the fix, do not apply it.
829
+ - **"This is a minor style issue"** — Stop. Is it a style issue or a readability/maintainability concern? Classify accurately before dismissing.
830
+ - **"The author probably meant to..."** — Stop. Do not infer intent. If the code is ambiguous, flag it as a question for the author.
831
+
832
+ ## Rationalizations to Reject
833
+
834
+ ### Universal
835
+
836
+ These reasoning patterns sound plausible but lead to bad outcomes. Reject them.
837
+
838
+ - **"It's probably fine"** — "Probably" is not evidence. Verify before asserting.
839
+ - **"This is best practice"** — Best practice in what context? Cite the source and
840
+ confirm it applies to this codebase.
841
+ - **"We can fix it later"** — If it is worth flagging, it is worth documenting now
842
+ with a concrete follow-up plan.
843
+
844
+ ### Domain-Specific
845
+
846
+ - **"The tests pass, so the logic must be correct"** — Tests can be incomplete. Review the logic independently of test results.
847
+ - **"This is how it was done elsewhere in the codebase"** — Existing patterns can be wrong. Evaluate the pattern on its merits, not just its precedent.
848
+ - **"It's just a refactor, low risk"** — Refactors change behavior surfaces. Review them with the same rigor as feature changes.
849
+
756
850
  ## Escalation
757
851
 
758
852
  - **When reviewers disagree:** If two reviewers give contradictory feedback, escalate to the human or tech lead.
@@ -33,6 +33,12 @@ cli:
33
33
  - name: --ci
34
34
  description: Enable eligibility gate, non-interactive output
35
35
  required: false
36
+ - name: --fast
37
+ description: Reduced rigor — skip learnings integration, fast-tier agents only
38
+ required: false
39
+ - name: --thorough
40
+ description: Maximum rigor — always load learnings, full agent roster + meta-judge
41
+ required: false
36
42
  mcp:
37
43
  tool: run_skill
38
44
  input:
@@ -26,7 +26,7 @@
26
26
 
27
27
  ### Phase 1: CONTEXT -- Build Hotspot Map
28
28
 
29
- 1. **Run hotspot detection** via `harness skill run harness-hotspot-detector` or equivalent git log analysis:
29
+ 1. **Run hotspot detection** via git log analysis:
30
30
  ```bash
31
31
  git log --format=format: --name-only --since="6 months ago" | sort | uniq -c | sort -rn | head -50
32
32
  ```
@@ -38,7 +38,6 @@
38
38
 
39
39
  1. **Dead code detection** (skip if `--architecture-only`):
40
40
  - Run `harness cleanup --type dead-code --json`
41
- - Or use the `detect_entropy` MCP tool with `type: 'dead-code'`
42
41
  - Captures: dead files, dead exports, unused imports, dead internals, commented-out code blocks, orphaned dependencies
43
42
 
44
43
  2. **Architecture detection** (skip if `--dead-code-only`):
@@ -204,8 +203,7 @@ After removing the `legacy-auth` module:
204
203
 
205
204
  - **`harness cleanup --type dead-code --json`** -- Dead code detection input
206
205
  - **`harness check-deps --json`** -- Architecture violation detection input
207
- - **`harness skill run harness-hotspot-detector`** -- Hotspot context for safety classification
208
- - **`detect_entropy` MCP tool with `autoFix: true`** -- Detects entropy and applies safe fixes via the MCP server
206
+ - **`git log` analysis** -- Hotspot context for safety classification (inline command, no skill invocation needed)
209
207
  - **`harness validate`** -- Final validation after all fixes
210
208
  - **`harness check-deps`** -- Final architecture check after all fixes
211
209
 
@@ -250,6 +250,58 @@ CREATE POLICY tenant_isolation ON users
250
250
  - **Migration files must include rollback logic.** Every `up` function must have a corresponding `down` function. WHERE a migration is irreversible (data loss on rollback), THEN it must be explicitly marked as such with a comment explaining why.
251
251
  - **No migrations that lock large tables without warning.** WHERE a migration performs an ALTER TABLE that acquires an ACCESS EXCLUSIVE lock on a table estimated to have more than 10,000 rows, THEN the skill must flag the lock risk and suggest a non-locking alternative.
252
252
 
253
+ ## Evidence Requirements
254
+
255
+ When this skill makes claims about existing code, architecture, or behavior,
256
+ it MUST cite evidence using one of:
257
+
258
+ 1. **File reference:** `file:line` format (e.g., `src/auth.ts:42`)
259
+ 2. **Code pattern reference:** `file` with description (e.g., `src/utils/hash.ts` —
260
+ "existing bcrypt wrapper")
261
+ 3. **Test/command output:** Inline or referenced output from a test run or CLI command
262
+ 4. **Session evidence:** Write to the `evidence` session section via `manage_state`
263
+
264
+ **Uncited claims:** Technical assertions without citations MUST be prefixed with
265
+ `[UNVERIFIED]`. Example: `[UNVERIFIED] The auth middleware supports refresh tokens`.
266
+
267
+ ## Red Flags
268
+
269
+ ### Universal
270
+
271
+ These apply to ALL skills. If you catch yourself doing any of these, STOP.
272
+
273
+ - **"I believe the codebase does X"** — Stop. Read the code and cite a file:line
274
+ reference. Belief is not evidence.
275
+ - **"Let me recommend [pattern] for this"** without checking existing patterns — Stop.
276
+ Search the codebase first. The project may already have a convention.
277
+ - **"While we're here, we should also [unrelated improvement]"** — Stop. Flag the idea
278
+ but do not expand scope beyond the stated task.
279
+
280
+ ### Domain-Specific
281
+
282
+ - **"Running this migration in production"** without a rollback plan — Stop. Every migration must have a tested reverse migration before it touches production data.
283
+ - **"Adding an index to speed up this query"** without checking write patterns — Stop. Indexes speed reads but slow writes. Check both access patterns before recommending.
284
+ - **"Dropping this column, it's unused"** — Stop. Verify no application code references it — including ORMs, background jobs, analytics queries, and reporting systems.
285
+ - **"Let's denormalize this for performance"** — Stop. Denormalization decisions are hard to reverse. Cite the specific query performance problem with evidence before recommending.
286
+
287
+ ## Rationalizations to Reject
288
+
289
+ ### Universal
290
+
291
+ These reasoning patterns sound plausible but lead to bad outcomes. Reject them.
292
+
293
+ - **"It's probably fine"** — "Probably" is not evidence. Verify before asserting.
294
+ - **"This is best practice"** — Best practice in what context? Cite the source and
295
+ confirm it applies to this codebase.
296
+ - **"We can fix it later"** — If it is worth flagging, it is worth documenting now
297
+ with a concrete follow-up plan.
298
+
299
+ ### Domain-Specific
300
+
301
+ - **"The table is small, we don't need an index"** — Tables grow. Plan for the steady state, not the current row count.
302
+ - **"The ORM handles this for us"** — ORMs generate SQL that may not match your performance expectations. Review the generated queries for correctness and efficiency.
303
+ - **"We can always add a migration later"** — Schema changes in production have operational cost. Design the schema thoughtfully now rather than migrating repeatedly.
304
+
253
305
  ## Escalation
254
306
 
255
307
  - **Production data at risk:** When a migration would delete or overwrite existing data (DROP COLUMN, column type change that truncates), report: "This migration will permanently delete data in column `X`. Provide a data backup confirmation or approve a non-destructive alternative (add new column, backfill, drop old) before proceeding."