pi-dev-team 0.2.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 (780) hide show
  1. package/LICENSE +21 -0
  2. package/PORTING.md +134 -0
  3. package/README.md +207 -0
  4. package/UPSTREAM.json +64 -0
  5. package/agents/Explore.md +15 -0
  6. package/agents/a11y-review.md +118 -0
  7. package/agents/adr-author.md +70 -0
  8. package/agents/ai-provenance-review.md +120 -0
  9. package/agents/angular-reactivity-review.md +95 -0
  10. package/agents/arch-review.md +135 -0
  11. package/agents/architect.md +78 -0
  12. package/agents/autoship-batch-proposer.md +69 -0
  13. package/agents/claude-setup-review.md +136 -0
  14. package/agents/codebase-recon.md +184 -0
  15. package/agents/component-architecture-review.md +119 -0
  16. package/agents/concurrency-review.md +109 -0
  17. package/agents/correctness-review.md +290 -0
  18. package/agents/data-flow-tracer.md +120 -0
  19. package/agents/doc-review.md +165 -0
  20. package/agents/domain-review.md +136 -0
  21. package/agents/general-purpose.md +10 -0
  22. package/agents/gherkin-quality-critic.md +113 -0
  23. package/agents/js-fp-review.md +114 -0
  24. package/agents/mutation-kill.md +684 -0
  25. package/agents/naming-review.md +142 -0
  26. package/agents/orchestrator.md +339 -0
  27. package/agents/performance-review.md +105 -0
  28. package/agents/plan-review-acceptance.md +115 -0
  29. package/agents/plan-review-design.md +90 -0
  30. package/agents/plan-review-parallelization.md +84 -0
  31. package/agents/plan-review-strategic.md +96 -0
  32. package/agents/plan-review-ux.md +110 -0
  33. package/agents/platform-engineer.md +64 -0
  34. package/agents/product-manager.md +68 -0
  35. package/agents/progress-guardian.md +79 -0
  36. package/agents/qa-engineer.md +289 -0
  37. package/agents/quality-reviewer.md +132 -0
  38. package/agents/react-reactivity-review.md +102 -0
  39. package/agents/refactor-opportunity-review.md +128 -0
  40. package/agents/security-engineer.md +60 -0
  41. package/agents/security-review.md +218 -0
  42. package/agents/session-analysis.md +95 -0
  43. package/agents/software-engineer.md +105 -0
  44. package/agents/spec-compliance-review.md +100 -0
  45. package/agents/spec-reviewer.md +114 -0
  46. package/agents/structure-review.md +146 -0
  47. package/agents/tech-writer.md +84 -0
  48. package/agents/test-review.md +246 -0
  49. package/agents/test-smell-review.md +188 -0
  50. package/agents/token-efficiency-review.md +139 -0
  51. package/agents/ui-ux-designer.md +54 -0
  52. package/agents/vue-reactivity-review.md +95 -0
  53. package/bin/__pycache__/claudecpython-314.pyc +0 -0
  54. package/bin/claude +258 -0
  55. package/docs/upstream/.pages +1 -0
  56. package/docs/upstream/CHANGELOG.md +2586 -0
  57. package/docs/upstream/README.md +155 -0
  58. package/docs/upstream/agent-architecture.md +214 -0
  59. package/docs/upstream/agent_info.md +187 -0
  60. package/docs/upstream/artifact-migration.md +124 -0
  61. package/docs/upstream/code-intelligence-nudge.md +149 -0
  62. package/docs/upstream/code-review-process.md +294 -0
  63. package/docs/upstream/concurrent-use.md +73 -0
  64. package/docs/upstream/context-management.md +111 -0
  65. package/docs/upstream/developer-notes.md +280 -0
  66. package/docs/upstream/diagrams/architecture-overview.svg +101 -0
  67. package/docs/upstream/diagrams/review-dispatch.svg +139 -0
  68. package/docs/upstream/diagrams/team-agents.svg +128 -0
  69. package/docs/upstream/diagrams/test-improve-flow.svg +166 -0
  70. package/docs/upstream/diagrams/workflow-linear.svg +66 -0
  71. package/docs/upstream/diagrams/workflow-three-phase.svg +200 -0
  72. package/docs/upstream/eval-maintenance.md +95 -0
  73. package/docs/upstream/eval-running-guide.md +147 -0
  74. package/docs/upstream/eval-system.md +291 -0
  75. package/docs/upstream/session-review-oss-complements.md +75 -0
  76. package/docs/upstream/session-review.md +212 -0
  77. package/docs/upstream/skills.md +188 -0
  78. package/docs/upstream/team-structure.md +21 -0
  79. package/docs/upstream/telemetry-ci-access.md +129 -0
  80. package/docs/upstream/telemetry-repo-security.md +120 -0
  81. package/docs/upstream/test-evaluation.md +277 -0
  82. package/docs/upstream/test-improve.md +154 -0
  83. package/docs/upstream/triage-workflow.md +282 -0
  84. package/docs/upstream/workflows.md +289 -0
  85. package/extensions/dev-team/index.ts +539 -0
  86. package/extensions/dev-team/lib/agents.ts +272 -0
  87. package/extensions/dev-team/lib/ai-credits.ts +92 -0
  88. package/extensions/dev-team/lib/autocompact.ts +81 -0
  89. package/extensions/dev-team/lib/child-run.ts +102 -0
  90. package/extensions/dev-team/lib/config.ts +236 -0
  91. package/extensions/dev-team/lib/gh-command.ts +103 -0
  92. package/extensions/dev-team/lib/github-style.ts +307 -0
  93. package/extensions/dev-team/lib/hooks.ts +350 -0
  94. package/extensions/dev-team/lib/metrics.ts +115 -0
  95. package/extensions/dev-team/lib/safe-read.ts +49 -0
  96. package/extensions/dev-team/lib/session-files.ts +57 -0
  97. package/extensions/dev-team/lib/session-spend.ts +123 -0
  98. package/extensions/dev-team/lib/shell-scan.ts +205 -0
  99. package/extensions/dev-team/lib/skills.ts +213 -0
  100. package/extensions/dev-team/lib/subagent-render.ts +245 -0
  101. package/extensions/dev-team/lib/subagent-types.ts +164 -0
  102. package/extensions/dev-team/lib/subagent.ts +596 -0
  103. package/extensions/dev-team/lib/terminal-text.ts +54 -0
  104. package/extensions/dev-team/lib/tools-misc.ts +152 -0
  105. package/extensions/dev-team/lib/transcript.ts +110 -0
  106. package/extensions/dev-team/lib/trust.ts +52 -0
  107. package/extensions/dev-team/lib/usage-breakdown.ts +176 -0
  108. package/extensions/dev-team/lib/usage-chart.ts +153 -0
  109. package/extensions/dev-team/lib/usage-command.ts +107 -0
  110. package/extensions/dev-team/lib/usage-history.ts +203 -0
  111. package/extensions/dev-team/lib/usage-render.ts +225 -0
  112. package/extensions/dev-team/lib/usage-split-bar.ts +127 -0
  113. package/extensions/dev-team/lib/usage-state.ts +116 -0
  114. package/extensions/dev-team/lib/usage-text.ts +159 -0
  115. package/extensions/dev-team/lib/usage-view.ts +109 -0
  116. package/hooks/__pycache__/refactor_test_freeze_guard.cpython-314.pyc +0 -0
  117. package/hooks/agent_dispatch_ledger.py +190 -0
  118. package/hooks/autocompact_setup_nudge.py +99 -0
  119. package/hooks/bash_retry_guard.py +228 -0
  120. package/hooks/boundary_events_write_guard.py +352 -0
  121. package/hooks/code_intelligence_nudge.py +293 -0
  122. package/hooks/code_intelligence_turn_mark.py +317 -0
  123. package/hooks/codegraph_bootstrap.py +139 -0
  124. package/hooks/contract_version_guard.py +362 -0
  125. package/hooks/cost_meter.py +106 -0
  126. package/hooks/destructive-commands.json +62 -0
  127. package/hooks/destructive_guard.py +477 -0
  128. package/hooks/eval_compliance_check.py +440 -0
  129. package/hooks/guards.json +17 -0
  130. package/hooks/hooks.json +323 -0
  131. package/hooks/internal_double_gate.py +296 -0
  132. package/hooks/js_fp_review.py +212 -0
  133. package/hooks/knowledge_index.py +119 -0
  134. package/hooks/lib/__pycache__/artifact_paths.cpython-314.pyc +0 -0
  135. package/hooks/lib/__pycache__/atomic_state.cpython-314.pyc +0 -0
  136. package/hooks/lib/__pycache__/autocompact_config.cpython-314.pyc +0 -0
  137. package/hooks/lib/__pycache__/boundary_events.cpython-314.pyc +0 -0
  138. package/hooks/lib/__pycache__/doc_classification.cpython-314.pyc +0 -0
  139. package/hooks/lib/__pycache__/gh_pr_create_detect.cpython-314.pyc +0 -0
  140. package/hooks/lib/__pycache__/git_safe_diff.cpython-314.pyc +0 -0
  141. package/hooks/lib/__pycache__/instrument_log.cpython-314.pyc +0 -0
  142. package/hooks/lib/__pycache__/metrics_query.cpython-314.pyc +0 -0
  143. package/hooks/lib/__pycache__/plugin_version.cpython-314.pyc +0 -0
  144. package/hooks/lib/__pycache__/pre_commit_doc_classifier.cpython-314.pyc +0 -0
  145. package/hooks/lib/__pycache__/review_agent_registry.cpython-314.pyc +0 -0
  146. package/hooks/lib/__pycache__/review_gate_corroboration.cpython-314.pyc +0 -0
  147. package/hooks/lib/__pycache__/review_gate_hash.cpython-314.pyc +0 -0
  148. package/hooks/lib/__pycache__/review_verdicts.cpython-314.pyc +0 -0
  149. package/hooks/lib/__pycache__/stdin_json.cpython-314.pyc +0 -0
  150. package/hooks/lib/__pycache__/stryker_invocation.cpython-314.pyc +0 -0
  151. package/hooks/lib/__pycache__/telemetry_consent.cpython-314.pyc +0 -0
  152. package/hooks/lib/__pycache__/test_file_classify.cpython-314.pyc +0 -0
  153. package/hooks/lib/__pycache__/token_efficiency_limits.cpython-314.pyc +0 -0
  154. package/hooks/lib/__pycache__/verify_guard_state.cpython-314.pyc +0 -0
  155. package/hooks/lib/__pycache__/xunit_v3_operator_gate.cpython-314.pyc +0 -0
  156. package/hooks/lib/agent_skill_hints.py +74 -0
  157. package/hooks/lib/artifact_paths.py +263 -0
  158. package/hooks/lib/atomic_state.py +557 -0
  159. package/hooks/lib/autocompact_config.py +103 -0
  160. package/hooks/lib/autoship_log.py +106 -0
  161. package/hooks/lib/banned_scripts_policy.py +51 -0
  162. package/hooks/lib/boundary_events.py +436 -0
  163. package/hooks/lib/build_knowledge_index.py +504 -0
  164. package/hooks/lib/build_skills_index.py +361 -0
  165. package/hooks/lib/build_state.py +116 -0
  166. package/hooks/lib/classify_ship_outcome.py +126 -0
  167. package/hooks/lib/config_changelog_schema.py +115 -0
  168. package/hooks/lib/cost_meter.py +955 -0
  169. package/hooks/lib/doc_classification.py +116 -0
  170. package/hooks/lib/gh_pr_create_detect.py +136 -0
  171. package/hooks/lib/git_safe_diff.py +123 -0
  172. package/hooks/lib/instrument_log.py +66 -0
  173. package/hooks/lib/iteration_journal_gate.py +197 -0
  174. package/hooks/lib/knowledge_index_paths.py +88 -0
  175. package/hooks/lib/mcp_json_repowise.py +177 -0
  176. package/hooks/lib/metrics_query.py +202 -0
  177. package/hooks/lib/minimal_yaml.py +434 -0
  178. package/hooks/lib/plugin_version.py +142 -0
  179. package/hooks/lib/pre_commit_detect.py +537 -0
  180. package/hooks/lib/pre_commit_doc_classifier.py +126 -0
  181. package/hooks/lib/pricing.py +118 -0
  182. package/hooks/lib/report_pdf.py +371 -0
  183. package/hooks/lib/review_agent_registry.py +142 -0
  184. package/hooks/lib/review_dispatch_ledger.py +101 -0
  185. package/hooks/lib/review_gate_corroboration.py +521 -0
  186. package/hooks/lib/review_gate_hash.py +252 -0
  187. package/hooks/lib/review_gate_normalized_hash.py +1115 -0
  188. package/hooks/lib/review_verdicts.py +301 -0
  189. package/hooks/lib/run_report.py +160 -0
  190. package/hooks/lib/skill_categories.yaml +125 -0
  191. package/hooks/lib/stdin_json.py +57 -0
  192. package/hooks/lib/stryker_invocation.py +102 -0
  193. package/hooks/lib/telemetry_consent.py +41 -0
  194. package/hooks/lib/telemetry_report.py +108 -0
  195. package/hooks/lib/test_file_classify.py +160 -0
  196. package/hooks/lib/token_efficiency_limits.py +51 -0
  197. package/hooks/lib/turn_identity.py +77 -0
  198. package/hooks/lib/verify_guard_state.py +110 -0
  199. package/hooks/lib/workflow_state.py +206 -0
  200. package/hooks/lib/xunit_v3_operator_gate.py +596 -0
  201. package/hooks/mcp_json_repowise_nudge.py +74 -0
  202. package/hooks/mutation_adapters/__init__.py +7 -0
  203. package/hooks/mutation_adapters/__pycache__/__init__.cpython-314.pyc +0 -0
  204. package/hooks/mutation_adapters/__pycache__/lib.cpython-314.pyc +0 -0
  205. package/hooks/mutation_adapters/__pycache__/mutmut.cpython-314.pyc +0 -0
  206. package/hooks/mutation_adapters/__pycache__/pitest.cpython-314.pyc +0 -0
  207. package/hooks/mutation_adapters/__pycache__/stryker.cpython-314.pyc +0 -0
  208. package/hooks/mutation_adapters/__pycache__/stryker_net.cpython-314.pyc +0 -0
  209. package/hooks/mutation_adapters/lib.py +478 -0
  210. package/hooks/mutation_adapters/mutmut.py +188 -0
  211. package/hooks/mutation_adapters/pitest.py +266 -0
  212. package/hooks/mutation_adapters/stryker.py +157 -0
  213. package/hooks/mutation_adapters/stryker_net.py +264 -0
  214. package/hooks/mutation_gate.py +193 -0
  215. package/hooks/mutation_testing_smoke_gate.py +371 -0
  216. package/hooks/pending_review_notify.py +121 -0
  217. package/hooks/phase_marker.py +138 -0
  218. package/hooks/post_compact_state_reinject.py +180 -0
  219. package/hooks/post_format.py +115 -0
  220. package/hooks/pre_commit_knowledge_index.py +128 -0
  221. package/hooks/pre_commit_review.py +66 -0
  222. package/hooks/pre_pr_review.py +694 -0
  223. package/hooks/pre_tool_guard.py +405 -0
  224. package/hooks/py.sh +73 -0
  225. package/hooks/refactor-bash-write-patterns.json +29 -0
  226. package/hooks/refactor_test_bash_guard.py +253 -0
  227. package/hooks/refactor_test_freeze_guard.py +139 -0
  228. package/hooks/refactor_test_revert_guard.py +186 -0
  229. package/hooks/repo_review_nudge.py +287 -0
  230. package/hooks/review_verdict_recorder.py +464 -0
  231. package/hooks/scan_bash_command_for_banned_scripts.py +428 -0
  232. package/hooks/scan_worktree_for_banned_scripts.py +238 -0
  233. package/hooks/session_learning_trigger.py +248 -0
  234. package/hooks/skills_index.py +126 -0
  235. package/hooks/stryker_xunit_shim_guard.py +571 -0
  236. package/hooks/subagent_completion_guard.py +309 -0
  237. package/hooks/subagent_skill_context.py +139 -0
  238. package/hooks/task_completion_metrics.py +216 -0
  239. package/hooks/tdd_guard.py +229 -0
  240. package/hooks/telemetry.py +341 -0
  241. package/hooks/token_efficiency_review.py +194 -0
  242. package/hooks/verify_guard.py +183 -0
  243. package/hooks/verify_guard_edit_marker.py +73 -0
  244. package/hooks/version_check.py +173 -0
  245. package/knowledge/accepted-risks-schema.md +98 -0
  246. package/knowledge/adr-decision-criteria.md +64 -0
  247. package/knowledge/adversarial-review-protocol.md +139 -0
  248. package/knowledge/agent-registry.md +228 -0
  249. package/knowledge/agent-review-methodology.md +80 -0
  250. package/knowledge/ai-friendly-repo-guidelines.md +67 -0
  251. package/knowledge/architecture-assessment.md +96 -0
  252. package/knowledge/artifact-lifecycle.md +57 -0
  253. package/knowledge/cd-maturity-model.md +82 -0
  254. package/knowledge/cd-test-architecture.md +190 -0
  255. package/knowledge/ci-cd-file-scope.md +24 -0
  256. package/knowledge/codegraph-vs-graphify.md +192 -0
  257. package/knowledge/component-test-patterns.md +139 -0
  258. package/knowledge/database-change-management.md +80 -0
  259. package/knowledge/database-test-patterns.md +79 -0
  260. package/knowledge/decision-defaults.md +88 -0
  261. package/knowledge/dependency-breaking-techniques.md +116 -0
  262. package/knowledge/deployment-pipeline.md +86 -0
  263. package/knowledge/design-smells.md +122 -0
  264. package/knowledge/directory-enumeration.md +38 -0
  265. package/knowledge/domain-modeling.md +123 -0
  266. package/knowledge/evidence-bundle.md +90 -0
  267. package/knowledge/exploratory-testing-field-guide.md +122 -0
  268. package/knowledge/failure-routing.md +28 -0
  269. package/knowledge/fixture-construction.md +56 -0
  270. package/knowledge/frontend-component-architecture.md +139 -0
  271. package/knowledge/gherkin-quality-review-dispatch.md +135 -0
  272. package/knowledge/index.json +6766 -0
  273. package/knowledge/internal-collaborator-doubling.md +101 -0
  274. package/knowledge/legacy-test-strategy.md +71 -0
  275. package/knowledge/long-run-waiting.md +66 -0
  276. package/knowledge/microservice-testing.md +71 -0
  277. package/knowledge/model-pricing.json +23 -0
  278. package/knowledge/mutation-score-formulas.md +60 -0
  279. package/knowledge/object-calisthenics.md +147 -0
  280. package/knowledge/oracle-provenance.md +94 -0
  281. package/knowledge/orchestrator-script-implementation.md +185 -0
  282. package/knowledge/owasp-detection.md +148 -0
  283. package/knowledge/plan-review-rubric.md +56 -0
  284. package/knowledge/proxy-connectivity.md +62 -0
  285. package/knowledge/reactive-effect-patterns.md +73 -0
  286. package/knowledge/recon-inventory-excludes.txt +32 -0
  287. package/knowledge/references/bdd-value-guide.md +61 -0
  288. package/knowledge/references/csharp-http-client-testing.md +264 -0
  289. package/knowledge/release-strategies.md +74 -0
  290. package/knowledge/report-output-location.md +117 -0
  291. package/knowledge/report-pdf-integration.md +63 -0
  292. package/knowledge/report-print.css +129 -0
  293. package/knowledge/report-template.md +114 -0
  294. package/knowledge/report-to-pdf.md +69 -0
  295. package/knowledge/request-processing-flow.md +63 -0
  296. package/knowledge/result-verification.md +52 -0
  297. package/knowledge/review-agent-output-contract.md +121 -0
  298. package/knowledge/review-lens-classification.md +113 -0
  299. package/knowledge/review-rubric.md +62 -0
  300. package/knowledge/review-template.md +104 -0
  301. package/knowledge/rule-fixtures/A02.insecure-random-js/negative.js +1 -0
  302. package/knowledge/rule-fixtures/A02.insecure-random-js/positive.js +1 -0
  303. package/knowledge/rule-fixtures/A02.weak-hashing-md5/negative.py +1 -0
  304. package/knowledge/rule-fixtures/A02.weak-hashing-md5/positive.py +1 -0
  305. package/knowledge/rule-fixtures/A03.command-injection/negative.js +1 -0
  306. package/knowledge/rule-fixtures/A03.command-injection/positive.js +1 -0
  307. package/knowledge/rule-fixtures/A03.sql-injection/negative.js +1 -0
  308. package/knowledge/rule-fixtures/A03.sql-injection/positive.js +1 -0
  309. package/knowledge/rule-fixtures/A03.xss-innerhtml/negative.js +1 -0
  310. package/knowledge/rule-fixtures/A03.xss-innerhtml/positive.js +1 -0
  311. package/knowledge/rule-fixtures/A05.cors-wildcard/negative.js +1 -0
  312. package/knowledge/rule-fixtures/A05.cors-wildcard/positive.js +1 -0
  313. package/knowledge/rule-fixtures/A05.default-credentials/negative.js +1 -0
  314. package/knowledge/rule-fixtures/A05.default-credentials/positive.js +1 -0
  315. package/knowledge/rule-fixtures/A07.jwt-alg-none/negative.js +1 -0
  316. package/knowledge/rule-fixtures/A07.jwt-alg-none/positive.js +1 -0
  317. package/knowledge/rule-fixtures/A08.binary-formatter/negative.cs +1 -0
  318. package/knowledge/rule-fixtures/A08.binary-formatter/positive.cs +1 -0
  319. package/knowledge/rule-fixtures/A08.js-eval/negative.js +1 -0
  320. package/knowledge/rule-fixtures/A08.js-eval/positive.js +1 -0
  321. package/knowledge/rule-fixtures/A08.object-input-stream/negative.java +1 -0
  322. package/knowledge/rule-fixtures/A08.object-input-stream/positive.java +1 -0
  323. package/knowledge/schemas/disposition-register-v1.json +65 -0
  324. package/knowledge/schemas/recon-envelope-v1.json +198 -0
  325. package/knowledge/schemas/unified-finding-v1.json +72 -0
  326. package/knowledge/security-primitives-contract.md +301 -0
  327. package/knowledge/security-review-rule-map.yaml +107 -0
  328. package/knowledge/skills-registry.md +72 -0
  329. package/knowledge/task-size-classifier.md +103 -0
  330. package/knowledge/telemetry-schema.md +881 -0
  331. package/knowledge/test-automation-maturity.md +56 -0
  332. package/knowledge/test-automation-principles.md +71 -0
  333. package/knowledge/test-cadence-tradeoffs.md +68 -0
  334. package/knowledge/test-doubles.md +105 -0
  335. package/knowledge/test-file-indicators.md +22 -0
  336. package/knowledge/test-layer-gates.md +35 -0
  337. package/knowledge/test-matrix-examples/django-batch.md +24 -0
  338. package/knowledge/test-matrix-examples/dotnet-grpc-fronting-api.md +90 -0
  339. package/knowledge/test-matrix-examples/dotnet-http-consumer.md +131 -0
  340. package/knowledge/test-matrix-examples/react-node-spa.md +24 -0
  341. package/knowledge/test-matrix-examples/spring-boot-service.md +25 -0
  342. package/knowledge/test-matrix-examples/ssr-htmx.md +24 -0
  343. package/knowledge/test-organization.md +70 -0
  344. package/knowledge/test-pyramid.md +84 -0
  345. package/knowledge/test-refactoring.md +67 -0
  346. package/knowledge/test-review-division-of-labor.md +85 -0
  347. package/knowledge/test-smells.md +80 -0
  348. package/knowledge/test-stack-profiles/bdd-frameworks.md +235 -0
  349. package/knowledge/test-stack-profiles/django.md +13 -0
  350. package/knowledge/test-stack-profiles/dotnet.md +18 -0
  351. package/knowledge/test-stack-profiles/go.md +16 -0
  352. package/knowledge/test-stack-profiles/node.md +16 -0
  353. package/knowledge/test-stack-profiles/react.md +12 -0
  354. package/knowledge/test-stack-profiles/spring-boot.md +16 -0
  355. package/knowledge/test-stack-profiles/ssr-htmx.md +14 -0
  356. package/knowledge/test-stack-profiles/vue.md +12 -0
  357. package/knowledge/test-strategy.md +70 -0
  358. package/knowledge/testability-patterns.md +240 -0
  359. package/knowledge/testing-quadrants.md +44 -0
  360. package/knowledge/testing-techniques/approval.md +15 -0
  361. package/knowledge/testing-techniques/chaos.md +17 -0
  362. package/knowledge/testing-techniques/fuzz.md +15 -0
  363. package/knowledge/testing-techniques/property-based.md +15 -0
  364. package/knowledge/testing-techniques/schema-validation.md +15 -0
  365. package/knowledge/testing-techniques/screenshot.md +15 -0
  366. package/knowledge/three-phase-workflow.md +198 -0
  367. package/knowledge/value-patterns.md +55 -0
  368. package/knowledge/verification-mode.md +116 -0
  369. package/knowledge/virtual-service-libraries.md +75 -0
  370. package/knowledge/wave-consolidation-guidance.md +21 -0
  371. package/overrides/agents/Explore.md +15 -0
  372. package/overrides/agents/general-purpose.md +10 -0
  373. package/overrides/notes/autoship.md +6 -0
  374. package/overrides/notes/issues-from-assessment.md +3 -0
  375. package/overrides/notes/issues-from-plan.md +3 -0
  376. package/overrides/notes/mutation-night-watch.md +3 -0
  377. package/overrides/notes/mutation-testing.md +3 -0
  378. package/overrides/notes/pr.md +7 -0
  379. package/overrides/notes/project-init.md +6 -0
  380. package/overrides/notes/setup.md +13 -0
  381. package/overrides/notes/specs.md +3 -0
  382. package/overrides/skills/headless-run/SKILL.md +45 -0
  383. package/overrides/skills/upgrade/SKILL.md +30 -0
  384. package/overrides/skills/version/SKILL.md +25 -0
  385. package/package.json +36 -0
  386. package/scripts/authoring_digest.py +93 -0
  387. package/scripts/autoship_discover.py +121 -0
  388. package/scripts/autoship_group.py +409 -0
  389. package/scripts/autoship_proposals.py +494 -0
  390. package/scripts/autoship_queue.py +291 -0
  391. package/scripts/autoship_reclaim.py +495 -0
  392. package/scripts/build_jobs.py +108 -0
  393. package/scripts/build_rollback_point.py +240 -0
  394. package/scripts/build_slice_scope.py +157 -0
  395. package/scripts/build_wave.py +109 -0
  396. package/scripts/build_wave_reconcile.py +252 -0
  397. package/scripts/build_worktree_baseref.py +113 -0
  398. package/scripts/check_agent_scope.py +117 -0
  399. package/scripts/check_agent_tool_mapping.py +213 -0
  400. package/scripts/check_review_agent_mcp_tools.py +317 -0
  401. package/scripts/check_security_assessment_mcp_tools.py +165 -0
  402. package/scripts/checkpoint_abort.py +502 -0
  403. package/scripts/claude_setup_review.py +438 -0
  404. package/scripts/codebase_recon.py +556 -0
  405. package/scripts/coverage_config.py +623 -0
  406. package/scripts/coverage_delta_steering.py +330 -0
  407. package/scripts/coverage_discovery_dotnet.py +315 -0
  408. package/scripts/coverage_discovery_java.py +742 -0
  409. package/scripts/coverage_discovery_js.py +546 -0
  410. package/scripts/coverage_gap_ranking.py +556 -0
  411. package/scripts/coverage_readiness.py +455 -0
  412. package/scripts/coverage_report_parse.py +521 -0
  413. package/scripts/detect_bdd_convention.py +252 -0
  414. package/scripts/eval_ablation.py +376 -0
  415. package/scripts/gherkin_analysis_coverage_gate.py +306 -0
  416. package/scripts/gherkin_cross_feature_duplicate_titles_gate.py +173 -0
  417. package/scripts/gherkin_effectiveness_rollup.py +238 -0
  418. package/scripts/gherkin_failure_path_gate.py +206 -0
  419. package/scripts/gherkin_feature_merge.py +720 -0
  420. package/scripts/gherkin_stub_gate.py +163 -0
  421. package/scripts/gherkin_stub_merge.py +479 -0
  422. package/scripts/git_origin_host.py +88 -0
  423. package/scripts/install-java-static-analysis.py +110 -0
  424. package/scripts/issue_deps.py +74 -0
  425. package/scripts/lib/_bdd_markers.py +28 -0
  426. package/scripts/lib/_gherkin_text.py +93 -0
  427. package/scripts/lib/_vendored_tree.py +70 -0
  428. package/scripts/lib/autoship_state.py +397 -0
  429. package/scripts/lib/claude_md_guard.py +226 -0
  430. package/scripts/lib/deterministic_recon.py +446 -0
  431. package/scripts/lib/mcp_tool_grants.py +211 -0
  432. package/scripts/lib/plan_parse.py +386 -0
  433. package/scripts/lib/review_result.py +84 -0
  434. package/scripts/lib/review_roster.py +86 -0
  435. package/scripts/lib/session_log/__init__.py +34 -0
  436. package/scripts/lib/session_log/__pycache__/__init__.cpython-314.pyc +0 -0
  437. package/scripts/lib/session_log/__pycache__/records.cpython-314.pyc +0 -0
  438. package/scripts/lib/session_log/classify.py +231 -0
  439. package/scripts/lib/session_log/corrections.py +194 -0
  440. package/scripts/lib/session_log/discovery.py +108 -0
  441. package/scripts/lib/session_log/records.py +218 -0
  442. package/scripts/lib/session_log/redact.py +76 -0
  443. package/scripts/lib/session_log/signals.py +373 -0
  444. package/scripts/lib/session_report_downstream.py +614 -0
  445. package/scripts/lib/session_report_maintainer.py +1273 -0
  446. package/scripts/lib/session_report_shared.py +262 -0
  447. package/scripts/lib/settings_hook_guard.py +157 -0
  448. package/scripts/lib/slug.py +33 -0
  449. package/scripts/lib/stub_extractors/__init__.py +82 -0
  450. package/scripts/lib/stub_extractors/_common.py +328 -0
  451. package/scripts/lib/stub_extractors/csharp.py +19 -0
  452. package/scripts/lib/stub_extractors/go.py +173 -0
  453. package/scripts/lib/stub_extractors/java.py +18 -0
  454. package/scripts/lib/stub_extractors/jsts.py +126 -0
  455. package/scripts/mutation_stack_sections.py +149 -0
  456. package/scripts/mutation_yield_steering.py +345 -0
  457. package/scripts/orchestrator.py +895 -0
  458. package/scripts/plan_gherkin_export.py +227 -0
  459. package/scripts/plan_waves.py +208 -0
  460. package/scripts/pr_close_keyword_lint.py +108 -0
  461. package/scripts/progress_guardian.py +888 -0
  462. package/scripts/recon_inventory.py +273 -0
  463. package/scripts/review_findings_log.py +93 -0
  464. package/scripts/run_invariants.py +124 -0
  465. package/scripts/select_lenses.py +640 -0
  466. package/scripts/session_report.py +486 -0
  467. package/scripts/set_autocompact_env.py +221 -0
  468. package/scripts/ship_resume_guard.py +135 -0
  469. package/scripts/ship_review_gate.py +63 -0
  470. package/scripts/specs_convention_marker.py +103 -0
  471. package/scripts/test_improve_resume.py +277 -0
  472. package/scripts/test_review_mechanics.py +958 -0
  473. package/scripts/token_efficiency_review.py +322 -0
  474. package/scripts/verdict_scope.py +285 -0
  475. package/scripts/verify_gherkin_quality_critic_isolation.py +296 -0
  476. package/scripts/verify_tier.py +157 -0
  477. package/skills/adr-tools/SKILL.md +118 -0
  478. package/skills/agent-readiness/SKILL.md +105 -0
  479. package/skills/agent-readiness/ai_friendly_analyzers.py +326 -0
  480. package/skills/agent-readiness/scanner.py +441 -0
  481. package/skills/agent-readiness/scorecard.yaml +88 -0
  482. package/skills/api-design/SKILL.md +115 -0
  483. package/skills/apply-fixes/SKILL.md +171 -0
  484. package/skills/apply-test-doubles/SKILL.md +321 -0
  485. package/skills/artifact-lifecycle/SKILL.md +127 -0
  486. package/skills/autoship/SKILL.md +1124 -0
  487. package/skills/benchmark/SKILL.md +105 -0
  488. package/skills/branch-workflow/SKILL.md +89 -0
  489. package/skills/browse/SKILL.md +184 -0
  490. package/skills/browser-testing/SKILL.md +62 -0
  491. package/skills/browser-testing/references/playwright-patterns.md +216 -0
  492. package/skills/build/SKILL.md +422 -0
  493. package/skills/build/references/static-self-heal.md +245 -0
  494. package/skills/careful/SKILL.md +72 -0
  495. package/skills/cd-test-architecture/SKILL.md +371 -0
  496. package/skills/ci-debugging/SKILL.md +105 -0
  497. package/skills/co-evolution-audit/SKILL.md +269 -0
  498. package/skills/code-review/SKILL.md +1015 -0
  499. package/skills/code-review/examples/aggregated-sample.json +56 -0
  500. package/skills/code-review/examples/sample-report.md +41 -0
  501. package/skills/code-review/output-format.md +478 -0
  502. package/skills/code-review/scripts/activation.py +86 -0
  503. package/skills/code-review/scripts/change_impact.py +357 -0
  504. package/skills/code-review/scripts/change_shape.py +372 -0
  505. package/skills/code-review/scripts/change_size.py +212 -0
  506. package/skills/code-review/scripts/changed_file_list.py +141 -0
  507. package/skills/code-review/scripts/closing_pass.py +187 -0
  508. package/skills/code-review/scripts/consolidate.py +277 -0
  509. package/skills/code-review/scripts/contract_failure_report.py +185 -0
  510. package/skills/code-review/scripts/dispatch_reconcile.py +66 -0
  511. package/skills/code-review/scripts/dispatch_waves.py +164 -0
  512. package/skills/code-review/scripts/finding_signature.py +446 -0
  513. package/skills/code-review/scripts/ledger.py +283 -0
  514. package/skills/code-review/scripts/partition.py +169 -0
  515. package/skills/code-review/scripts/render_tiered_findings.py +274 -0
  516. package/skills/code-review/scripts/repo_invariants.py +1066 -0
  517. package/skills/code-review/scripts/review_context_pack.py +306 -0
  518. package/skills/code-review/scripts/review_round_log.py +345 -0
  519. package/skills/code-review/scripts/review_value_coverage.py +297 -0
  520. package/skills/code-review/scripts/validate_review_output.py +467 -0
  521. package/skills/code-review/sliced-mode.md +205 -0
  522. package/skills/competitive-analysis/SKILL.md +191 -0
  523. package/skills/context-loading-protocol/SKILL.md +157 -0
  524. package/skills/continue/SKILL.md +90 -0
  525. package/skills/cost-report/SKILL.md +178 -0
  526. package/skills/coverage-baseline/SKILL.md +335 -0
  527. package/skills/coverage-baseline/references/multi-project-discovery.md +202 -0
  528. package/skills/coverage-delta/SKILL.md +181 -0
  529. package/skills/coverage-delta/references/mutation-gate.md +70 -0
  530. package/skills/design-doc/SKILL.md +95 -0
  531. package/skills/design-interrogation/SKILL.md +89 -0
  532. package/skills/design-it-twice/SKILL.md +91 -0
  533. package/skills/docker-image-audit/SKILL.md +108 -0
  534. package/skills/docker-image-audit/references/install-guide.md +64 -0
  535. package/skills/docker-image-audit/references/report-template.md +73 -0
  536. package/skills/docker-image-create/SKILL.md +185 -0
  537. package/skills/domain-analysis/SKILL.md +183 -0
  538. package/skills/domain-driven-design/SKILL.md +194 -0
  539. package/skills/exploratory-testing/SKILL.md +108 -0
  540. package/skills/explore/SKILL.md +51 -0
  541. package/skills/farley-score/SKILL.md +165 -0
  542. package/skills/feature-file-validation/SKILL.md +78 -0
  543. package/skills/feature-file-validation/references/validation-rules.md +115 -0
  544. package/skills/feedback-learning/SKILL.md +414 -0
  545. package/skills/fix/SKILL.md +450 -0
  546. package/skills/freeze/SKILL.md +68 -0
  547. package/skills/frontend-architecture/SKILL.md +113 -0
  548. package/skills/gherkin-derive/SKILL.md +630 -0
  549. package/skills/gherkin-public/SKILL.md +266 -0
  550. package/skills/governance-compliance/SKILL.md +150 -0
  551. package/skills/guard/SKILL.md +75 -0
  552. package/skills/handoff/SKILL.md +139 -0
  553. package/skills/handoff/references/summary-templates.md +242 -0
  554. package/skills/harness-audit/SKILL.md +751 -0
  555. package/skills/harness-audit/scripts/lesson_validate.py +386 -0
  556. package/skills/harness-audit/scripts/redundancy_criterion.py +188 -0
  557. package/skills/headless-run/SKILL.md +45 -0
  558. package/skills/headless-run/scripts/isolated_dispatch.py +381 -0
  559. package/skills/help/SKILL.md +72 -0
  560. package/skills/hexagonal-architecture/SKILL.md +85 -0
  561. package/skills/human-oversight-protocol/SKILL.md +224 -0
  562. package/skills/issues-from-assessment/SKILL.md +223 -0
  563. package/skills/issues-from-plan/SKILL.md +133 -0
  564. package/skills/legacy-code/SKILL.md +132 -0
  565. package/skills/mermaid-diagramming/SKILL.md +120 -0
  566. package/skills/mutation-night-watch/SKILL.md +154 -0
  567. package/skills/mutation-night-watch/references/scheduling.md +135 -0
  568. package/skills/mutation-testing/SKILL.md +396 -0
  569. package/skills/mutation-testing/references/languages/csharp-stryker-net.md +676 -0
  570. package/skills/mutation-testing/references/languages/go-go-mutesting.md +95 -0
  571. package/skills/mutation-testing/references/languages/java-pitest.md +77 -0
  572. package/skills/mutation-testing/references/languages/javascript-stryker.md +188 -0
  573. package/skills/mutation-testing/references/languages/python-mutmut.md +97 -0
  574. package/skills/mutation-testing/references/time-estimation.md +34 -0
  575. package/skills/mutation-testing/references/tool-detection.md +15 -0
  576. package/skills/mutation-testing/references/workflow-callers.md +23 -0
  577. package/skills/mutation-testing/scripts/__pycache__/xunit_v3_feature_detector.cpython-314.pyc +0 -0
  578. package/skills/mutation-testing/scripts/csharp_stryker_net_slice_runner.py +635 -0
  579. package/skills/mutation-testing/scripts/csharp_stryker_net_status_loop.py +525 -0
  580. package/skills/mutation-testing/scripts/csharp_stryker_net_wrapper.py +681 -0
  581. package/skills/mutation-testing/scripts/mutation_baseline_reuse.py +292 -0
  582. package/skills/mutation-testing/scripts/mutation_exclude_policy.py +268 -0
  583. package/skills/mutation-testing/scripts/mutation_feasibility_gate.py +463 -0
  584. package/skills/mutation-testing/scripts/mutation_kill_headless.py +331 -0
  585. package/skills/mutation-testing/scripts/mutation_kill_insert.py +199 -0
  586. package/skills/mutation-testing/scripts/mutation_kill_insert_python.py +150 -0
  587. package/skills/mutation-testing/scripts/mutation_kill_loop.py +869 -0
  588. package/skills/mutation-testing/scripts/mutation_kill_loop_python.py +949 -0
  589. package/skills/mutation-testing/scripts/mutation_kill_retry.py +592 -0
  590. package/skills/mutation-testing/scripts/mutation_kill_shared.py +620 -0
  591. package/skills/mutation-testing/scripts/mutation_nightwatch.py +462 -0
  592. package/skills/mutation-testing/scripts/mutation_nightwatch_stacks.py +425 -0
  593. package/skills/mutation-testing/scripts/mutation_report.py +743 -0
  594. package/skills/mutation-testing/scripts/mutation_report_cli.py +175 -0
  595. package/skills/mutation-testing/scripts/mutation_safety_gate.py +69 -0
  596. package/skills/mutation-testing/scripts/stryker_shard_pipeline.py +847 -0
  597. package/skills/mutation-testing/scripts/stryker_shard_setup.py +440 -0
  598. package/skills/mutation-testing/scripts/stryker_timeout_retry.py +142 -0
  599. package/skills/mutation-testing/scripts/xunit_v3_feature_detector.py +341 -0
  600. package/skills/performance-benchmark/SKILL.md +174 -0
  601. package/skills/performance-benchmark/examples/report-format.md +43 -0
  602. package/skills/performance-benchmark/references/benchmark-script.md +169 -0
  603. package/skills/performance-metrics/SKILL.md +265 -0
  604. package/skills/plan/SKILL.md +199 -0
  605. package/skills/plan/references/gherkin-persistence.md +43 -0
  606. package/skills/plan/references/plan-template.md +182 -0
  607. package/skills/pr/SKILL.md +289 -0
  608. package/skills/pr/scripts/gate_retry_state.py +368 -0
  609. package/skills/project-init/README.md +141 -0
  610. package/skills/project-init/SKILL.md +1197 -0
  611. package/skills/project-init/evals/evals.json +200 -0
  612. package/skills/project-init/references/capability-tools.md +55 -0
  613. package/skills/project-init/references/configs.md +221 -0
  614. package/skills/property-based-testing/SKILL.md +121 -0
  615. package/skills/property-based-testing/fixtures/invariant_fixture.py +15 -0
  616. package/skills/property-based-testing/fixtures/js-roundtrip/README.md +42 -0
  617. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/LICENSE +21 -0
  618. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/README.md +263 -0
  619. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/lib/cjs/fast-check.d.ts +5165 -0
  620. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/lib/cjs/fast-check.js +12147 -0
  621. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/lib/cjs/package.json +3 -0
  622. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/lib/cjs/types57/fast-check.d.ts +5165 -0
  623. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/lib/fast-check.d.ts +5165 -0
  624. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/lib/fast-check.js +12011 -0
  625. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/lib/rolldown-runtime-D7D4PA-g.js +13 -0
  626. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/lib/types57/fast-check.d.ts +5165 -0
  627. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/package.json +94 -0
  628. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/LICENSE +21 -0
  629. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/README.md +168 -0
  630. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/RandomGenerator-DcXj09Ch.d.ts +14 -0
  631. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformBigInt.d.ts +15 -0
  632. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformBigInt.js +38 -0
  633. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformFloat32.d.ts +15 -0
  634. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformFloat32.js +18 -0
  635. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformFloat64.d.ts +15 -0
  636. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformFloat64.js +22 -0
  637. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformInt.d.ts +15 -0
  638. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformInt.js +134 -0
  639. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/RandomGenerator-DcXj09Ch.d.ts +14 -0
  640. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformBigInt.d.ts +15 -0
  641. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformBigInt.js +37 -0
  642. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformFloat32.d.ts +15 -0
  643. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformFloat32.js +17 -0
  644. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformFloat64.d.ts +15 -0
  645. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformFloat64.js +21 -0
  646. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformInt.d.ts +15 -0
  647. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformInt.js +133 -0
  648. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/congruential32.d.ts +7 -0
  649. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/congruential32.js +44 -0
  650. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/mersenne.d.ts +7 -0
  651. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/mersenne.js +90 -0
  652. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/xoroshiro128plus.d.ts +7 -0
  653. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/xoroshiro128plus.js +80 -0
  654. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/xorshift128plus.d.ts +7 -0
  655. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/xorshift128plus.js +78 -0
  656. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/package.json +3 -0
  657. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/types/JumpableRandomGenerator.d.ts +16 -0
  658. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/types/JumpableRandomGenerator.js +0 -0
  659. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/types/RandomGenerator.d.ts +2 -0
  660. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/types/RandomGenerator.js +0 -0
  661. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/utils/generateN.d.ts +6 -0
  662. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/utils/generateN.js +8 -0
  663. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/utils/purify.d.ts +12 -0
  664. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/utils/purify.js +9 -0
  665. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/utils/skipN.d.ts +6 -0
  666. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/utils/skipN.js +6 -0
  667. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/congruential32.d.ts +7 -0
  668. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/congruential32.js +46 -0
  669. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/mersenne.d.ts +7 -0
  670. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/mersenne.js +92 -0
  671. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/xoroshiro128plus.d.ts +7 -0
  672. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/xoroshiro128plus.js +82 -0
  673. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/xorshift128plus.d.ts +7 -0
  674. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/xorshift128plus.js +80 -0
  675. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/types/JumpableRandomGenerator.d.ts +16 -0
  676. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/types/JumpableRandomGenerator.js +0 -0
  677. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/types/RandomGenerator.d.ts +2 -0
  678. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/types/RandomGenerator.js +0 -0
  679. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/utils/generateN.d.ts +6 -0
  680. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/utils/generateN.js +9 -0
  681. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/utils/purify.d.ts +12 -0
  682. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/utils/purify.js +10 -0
  683. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/utils/skipN.d.ts +6 -0
  684. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/utils/skipN.js +7 -0
  685. package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/package.json +133 -0
  686. package/skills/property-based-testing/fixtures/js-roundtrip/package-lock.json +1179 -0
  687. package/skills/property-based-testing/fixtures/js-roundtrip/package.json +14 -0
  688. package/skills/property-based-testing/fixtures/js-roundtrip/roundtrip.js +29 -0
  689. package/skills/property-based-testing/fixtures/js-roundtrip/roundtrip.properties.test.js +16 -0
  690. package/skills/property-based-testing/fixtures/no_property_fixture.py +10 -0
  691. package/skills/property-based-testing/fixtures/roundtrip_fixture.py +16 -0
  692. package/skills/property-based-testing/references/languages/javascript.md +54 -0
  693. package/skills/property-based-testing/scripts/detect_and_dispatch.py +80 -0
  694. package/skills/property-based-testing/scripts/hypothesis_scaffold.py +276 -0
  695. package/skills/proxy-resilience/SKILL.md +84 -0
  696. package/skills/quality-gate-pipeline/SKILL.md +184 -0
  697. package/skills/quality-targets-converge/SKILL.md +254 -0
  698. package/skills/repo-review/SKILL.md +159 -0
  699. package/skills/report-pdf/SKILL.md +66 -0
  700. package/skills/review/SKILL.md +47 -0
  701. package/skills/review-agent/SKILL.md +152 -0
  702. package/skills/review-summary/SKILL.md +73 -0
  703. package/skills/run-report/SKILL.md +70 -0
  704. package/skills/semantic-duplication-scan/SKILL.md +337 -0
  705. package/skills/semantic-scan/SKILL.md +53 -0
  706. package/skills/semgrep-analyze/SKILL.md +139 -0
  707. package/skills/setup/SKILL.md +1122 -0
  708. package/skills/ship/SKILL.md +240 -0
  709. package/skills/source-verification/SKILL.md +210 -0
  710. package/skills/source-verification/scripts/claim_extractor.py +155 -0
  711. package/skills/specs/.size-baseline.json +4 -0
  712. package/skills/specs/SKILL.md +243 -0
  713. package/skills/specs/references/completeness-checklist.md +83 -0
  714. package/skills/specs/references/extraction.md +58 -0
  715. package/skills/specs/references/glossary.md +59 -0
  716. package/skills/specs/references/persistence.md +115 -0
  717. package/skills/specs/references/predictability-check.md +77 -0
  718. package/skills/static-analysis-integration/SKILL.md +235 -0
  719. package/skills/static-analysis-integration/adapters/_envelope.py +26 -0
  720. package/skills/static-analysis-integration/adapters/jscpd-adapter.py +66 -0
  721. package/skills/static-analysis-integration/adapters/lizard-adapter.py +81 -0
  722. package/skills/static-analysis-integration/adapters/mypy-adapter.py +50 -0
  723. package/skills/static-analysis-integration/adapters/mypy-src-layout.py +93 -0
  724. package/skills/static-analysis-integration/adapters/security-review-adapter.py +212 -0
  725. package/skills/static-analysis-integration/maintenance.md +23 -0
  726. package/skills/static-analysis-integration/references/language-setup.md +228 -0
  727. package/skills/static-analysis-integration/references/sarif-parser.md +124 -0
  728. package/skills/static-analysis-integration/references/security-review-adapter.md +118 -0
  729. package/skills/static-analysis-integration/references/tool-configs.md +617 -0
  730. package/skills/static-analysis-integration/rulesets/pmd-quickstart.xml +24 -0
  731. package/skills/stryker-xunit-v2-shim/SKILL.md +274 -0
  732. package/skills/stryker-xunit-v2-shim/references/shim-howto.md +256 -0
  733. package/skills/stryker-xunit-v2-shim/scripts/generate_shim.py +143 -0
  734. package/skills/systematic-debugging/SKILL.md +130 -0
  735. package/skills/telemetry/SKILL.md +75 -0
  736. package/skills/test-audit-disable/SKILL.md +129 -0
  737. package/skills/test-design/SKILL.md +177 -0
  738. package/skills/test-design/scripts/__pycache__/internal_double_detector.cpython-314.pyc +0 -0
  739. package/skills/test-design/scripts/internal_double_detector.py +631 -0
  740. package/skills/test-design-advisor/SKILL.md +166 -0
  741. package/skills/test-driven-development/SKILL.md +169 -0
  742. package/skills/test-health/SKILL.md +262 -0
  743. package/skills/test-improve/SKILL.md +239 -0
  744. package/skills/test-improve/references/phase-0-approach-contract.md +228 -0
  745. package/skills/test-improve/references/phase-1-analyze.md +131 -0
  746. package/skills/test-improve/references/phase-2-baseline.md +121 -0
  747. package/skills/test-improve/references/phase-3-derive-gherkin.md +53 -0
  748. package/skills/test-improve/references/phase-4-plan-fixes.md +34 -0
  749. package/skills/test-improve/references/phase-5-improve.md +215 -0
  750. package/skills/test-improve/references/phase-6-refactor-decision.md +45 -0
  751. package/skills/test-improve/references/phase-7-refactor.md +44 -0
  752. package/skills/test-improve/references/phase-8-validate.md +66 -0
  753. package/skills/test-improve/references/phase-9-close-out-prompt.md +11 -0
  754. package/skills/test-improve/references/phase-9-report.md +62 -0
  755. package/skills/test-improve/references/review-loop.md +92 -0
  756. package/skills/test-improve/templates/executive-summary.md +123 -0
  757. package/skills/threat-modeling/SKILL.md +108 -0
  758. package/skills/triage/SKILL.md +211 -0
  759. package/skills/ubiquitous-language/SKILL.md +192 -0
  760. package/skills/ubiquitous-language/scripts/collect_domain_signals.py +300 -0
  761. package/skills/unfreeze/SKILL.md +37 -0
  762. package/skills/upgrade/SKILL.md +31 -0
  763. package/skills/upgrade/scripts/check_version_drift.py +113 -0
  764. package/skills/upgrade/scripts/enable_autoupdate.py +149 -0
  765. package/skills/version/SKILL.md +25 -0
  766. package/sync/__pycache__/sync_upstream.cpython-314.pyc +0 -0
  767. package/sync/sync_upstream.py +293 -0
  768. package/templates/ACCEPTED-RISKS.md.tmpl +46 -0
  769. package/templates/agents/agent-template.md +151 -0
  770. package/templates/agents/angular-testing.md +66 -0
  771. package/templates/agents/csharp-quality.md +63 -0
  772. package/templates/agents/esm-enforcer.md +52 -0
  773. package/templates/agents/front-end-testing.md +65 -0
  774. package/templates/agents/go-quality.md +65 -0
  775. package/templates/agents/python-quality.md +62 -0
  776. package/templates/agents/react-testing.md +61 -0
  777. package/templates/agents/ts-enforcer.md +60 -0
  778. package/templates/agents/twelve-factor-audit.md +49 -0
  779. package/tools/entropy-check.py +250 -0
  780. package/tools/model-hash-verify.py +213 -0
@@ -0,0 +1,266 @@
1
+ ---
2
+ name: gherkin-public
3
+ description: >-
4
+ Author Gherkin scenarios for the entire public interface of a repository
5
+ — every API endpoint, UI screen, batch-job entry point, library export,
6
+ and event type — at the observable boundary, not internal steps. The
7
+ scenarios become the executable specification of intended behavior before
8
+ any test or production-code change lands. After the operator approves the
9
+ scenarios at the Phase-2 gate, this skill also creates the Phase-4 and
10
+ Phase-5 `[Component tests]` Stories that will bind their test code to
11
+ specific scenario names — so the component tests are written from the
12
+ approved Gherkin, not from the assessment.
13
+ argument-hint: "<repo-path> [--repo-slug <slug>] [--parent <issue-url>] [--create-stories]"
14
+ user-invocable: true
15
+ allowed-tools: Read, Glob, Grep, Bash, Write
16
+ ---
17
+
18
+ # Gherkin Public
19
+
20
+ Role: worker. Standalone Gherkin authoring skill. Reads the component map produced by `/cd-test-architecture` and writes `.feature` files at the **public boundary** of each component — the surface an external caller actually depends on. Internal steps are out of scope here; scenarios describe observable outputs.
21
+
22
+ You have been invoked with the `/gherkin-public` command.
23
+
24
+ ## Parse Arguments
25
+
26
+ Arguments: $ARGUMENTS
27
+
28
+ - Positional: `<repo-path>` — the repo under modernization.
29
+ - `--repo-slug <slug>` — namespace under `.claude/memory/<workflow>/`. Defaults to the last path segment of `<repo-path>`.
30
+
31
+ If `<repo-path>` is absent, ask the operator.
32
+
33
+ ## Steps
34
+
35
+ ### 1. Load the component map
36
+
37
+ Read `.claude/memory/<workflow>/<slug>/phase-1.md` for the components & patterns table. If it's missing, tell the operator Phase 1 has not run and stop.
38
+
39
+ ### 2. Pick the output directory
40
+
41
+ - Prefer `features/<workflow>/` if `<repo>/features/` already exists (matches the repo's existing Gherkin layout).
42
+ - Otherwise write to `<repo>/specs/<workflow>/`.
43
+ - Create the directory if missing.
44
+
45
+ ### 3. Author scenarios per public surface
46
+
47
+ For each component in the map, generate one `.feature` file per public surface using the pattern's template. Every scenario MUST cover at least one success and one failure path. Every scenario MUST be observable at the boundary — no scenario describes an internal call.
48
+
49
+ **Grounding scenarios in real behavior.** The component map names each surface but not its actual branches or error-handling depth. Prefer CodeGraph/Repowise over raw `Grep` to inspect a surface's real failure conditions before writing its failure scenario, rather than inferring one from the surface name alone — see [`knowledge/codegraph-vs-graphify.md`](../../knowledge/codegraph-vs-graphify.md) for tool selection and the fallback contract.
50
+
51
+ **Titles must be specific enough to identify the surface without relying on the `Feature:` header for context (issue #1526).** A `Scenario:` title read in isolation — in a CI report, a BDD runner's scenario list, or a coverage dashboard — must be recognizable as belonging to its specific surface, not a generic category label that could describe any endpoint (e.g. `returns error for invalid input`, `handles success case`). Prefer wording that names the concrete condition or resource involved (e.g. `rejects the request when the id path parameter is non-numeric`, `returns the created order with a 201 and Location header`) over a bare category name. A title that is merely a paraphrase of the surface name (the same words as the `Feature:` line, reworded) fails this rule.
52
+
53
+ **API Provider** (one `.feature` per endpoint):
54
+
55
+ ```gherkin
56
+ Feature: <method> <path>
57
+ As an external API consumer
58
+ I want <documented behavior>
59
+ So that <user value>
60
+
61
+ Scenario: <success-path-summary>
62
+ Given <request shape + auth context>
63
+ When the client calls <method> <path>
64
+ Then the response status is <code>
65
+ And the body conforms to <schema reference>
66
+
67
+ Scenario: <failure-mode-summary, per the assessment's failure-modes list>
68
+ Given <invalid request>
69
+ When the client calls <method> <path>
70
+ Then the response status is <code>
71
+ And the error body includes <field>
72
+ ```
73
+
74
+ **User Interface** (one `.feature` per user-facing flow):
75
+
76
+ ```gherkin
77
+ Feature: <flow name>
78
+ As a <user role>
79
+ I want <task>
80
+ So that <outcome>
81
+
82
+ Scenario: <happy path>
83
+ Given <starting screen + preconditions>
84
+ When the user <observable action sequence>
85
+ Then the user sees <observable outcome>
86
+ And the URL is <route> (or app state is <state>)
87
+
88
+ Scenario: <validation / error path>
89
+ Given <invalid input>
90
+ When the user submits
91
+ Then the user sees <error message>
92
+ And no destructive change has occurred
93
+ ```
94
+
95
+ **Batch / Scheduled Job** (one `.feature` per job; the entry point is the surface):
96
+
97
+ ```gherkin
98
+ Feature: <job name> — scheduled entry point
99
+
100
+ Scenario: <success path — full input → expected outputs>
101
+ Given the input source contains <fixture rows / messages>
102
+ When the job is triggered at its scheduled entry point
103
+ Then the job exits with code 0
104
+ And the output sink contains <expected rows / files / events>
105
+ And the run-metrics show <count> processed
106
+
107
+ Scenario: <partial-failure path>
108
+ Given the input source contains <N valid + M invalid rows>
109
+ When the job is triggered
110
+ Then the job exits with code <non-zero per the contract, or 0 with reported errors>
111
+ And the dead-letter sink contains the M invalid rows
112
+ And no valid row was dropped
113
+ ```
114
+
115
+ **CLI / Library** (one `.feature` per command or exported function):
116
+
117
+ ```gherkin
118
+ Feature: <command-or-function>
119
+
120
+ Scenario: <documented success>
121
+ Given <preconditions / stdin / args>
122
+ When the caller invokes <cmd-or-fn> with <args>
123
+ Then the exit code is <n> (or the return value is <shape>)
124
+ And stdout contains <pattern>
125
+
126
+ Scenario: <documented error>
127
+ Given <invalid input>
128
+ When the caller invokes <cmd-or-fn>
129
+ Then the exit code is <non-zero>
130
+ And stderr contains <message>
131
+ ```
132
+
133
+ **API / Event Consumer** (one `.feature` per outbound call or emitted event):
134
+
135
+ ```gherkin
136
+ Feature: <component> emits <event-type>
137
+
138
+ Scenario: <triggering input → expected emission>
139
+ Given <inbound trigger>
140
+ When the component processes it
141
+ Then an event of type <type> is emitted to <sink>
142
+ And the event body matches <schema>
143
+ ```
144
+
145
+ **Event Producer / Stateful Service** — combine the API Provider and Event Consumer templates as appropriate.
146
+
147
+ ### 4. Cite the assessment
148
+
149
+ In every `.feature` file's header, include:
150
+
151
+ ```
152
+ # Source: .claude/memory/<workflow>/<slug>/phase-1.md
153
+ # Component: <name>
154
+ # Pattern: <pattern>
155
+ # Public surface: <surface-id>
156
+ ```
157
+
158
+ This lets the operator trace each scenario back to a component row at the Phase-2 human sign-off (Step 6), and lets `/feature-file-validation` — which `/code-review` invokes automatically whenever `.feature` or step-definition files are in the changeset — verify each scenario has matching test automation once the bound Stories are built.
159
+
160
+ ### 4b. Adversarial Gherkin Quality Review
161
+
162
+ Dispatch the adversarial review against Step 3's authored `.feature` files
163
+ unconditionally — this skill has no `none` mode, so every completed Step 3
164
+ authors at least one `.feature` file, and no operator opt-in is required.
165
+ This runs **before** Step 5 (Persist phase-2 progress) and before the Step 6
166
+ human sign-off, so the operator sees the dual-agent findings alongside the
167
+ scenario inventory at the sign-off decision point.
168
+
169
+ Follow `knowledge/gherkin-quality-review-dispatch.md` for the shared dispatch,
170
+ aggregation, failure-handling, and zero-findings mechanics — this step states
171
+ only what's specific to `/gherkin-public`: each of the two
172
+ `gherkin-quality-critic` instances receives, for every surface reviewed, that
173
+ surface's `.feature` file content plus its Step 4 header (`# Source:`,
174
+ `# Component:`, `# Pattern:`, `# Public surface:`). The resulting
175
+ `agreed`/`single-source` buckets feed Step 8's two new report sections.
176
+
177
+ ### 5. Persist phase-2 progress
178
+
179
+ Write `.claude/memory/<workflow>/<slug>/phase-2.md` with:
180
+
181
+ - Number of `.feature` files written + their paths.
182
+ - Surface coverage per component (one row per component: surfaces touched / surfaces total).
183
+ - Any components for which the operator must hand-author scenarios (e.g. heavy UI flows the worker could not derive from the map alone) — call these out explicitly.
184
+ - The scenario inventory: per component, the full list of `<feature-file>::<scenario-name>` pairs.
185
+
186
+ ### 6. STOP for human sign-off
187
+
188
+ This is the Gherkin-review human gate the calling orchestrator (when one is used) enforces. Print the scenario inventory and wait. Do NOT proceed to Step 7 (Story creation) until the operator signs off on the scenarios. The Gherkin is the executable spec — Stories that bind to it must not be created from un-reviewed scenarios.
189
+
190
+ ### 7. Create `[Component tests]` Stories bound to the approved scenarios
191
+
192
+ Once the operator has approved the scenarios (orchestrator passes `--create-stories` or `/gherkin-public` is re-invoked after approval), create one `[Component tests]` Story per (component, surface) pair via the resolved tracker CLI from Phase 0:
193
+
194
+ - **Title:** `[Component tests] <component> · <surface-id>` (e.g. `[Component tests] orders-api · POST /orders`).
195
+ - **Phase tag:** `Phase-4` when the surface is fully reachable at existing seams (per the seam-reachability table in `phase-1.md`); `Phase-5` when one or more scenarios require a `[Refactor-for-testability]` Story.
196
+ - **Predecessor links:**
197
+ - `[Baseline]` for the same component (from Phase 1) — baseline before tests.
198
+ - For Phase-5 Stories, also the matching `[Refactor-for-testability]` Story for any scenario that requires the refactor.
199
+ - **Body — Acceptance Criteria (this is the binding):**
200
+
201
+ ```markdown
202
+ ## Approved Gherkin scenarios (binding contract)
203
+
204
+ All scenarios below MUST have a passing test in this Story. Each test:
205
+ - cites the source `.feature` file + scenario name in its name or a leading comment;
206
+ - exercises the scenario via the public surface (no internal-step assertions);
207
+ - runs deterministically with no off-machine dependencies (airplane test);
208
+ - lands at the **component** layer per the MinimumCD taxonomy.
209
+
210
+ Source: `features/<workflow>/<surface>.feature`
211
+
212
+ - [ ] `Scenario: <success-path-summary>`
213
+ - [ ] `Scenario: <failure-mode-summary>`
214
+ - [ ] `Scenario: <…>`
215
+
216
+ ## Testing approach
217
+
218
+ Binding mode: `<bdd-runner | xunit-with-annotations>` (from Phase 0).
219
+
220
+ - `bdd-runner` — generate step definitions for the scenarios above using the project's BDD runner (cucumber-js / pytest-bdd / behave / cucumber-jvm / SpecFlow / godog). Step definitions go under the project's existing step-defs directory.
221
+ - `xunit-with-annotations` — write one xUnit-style test method per scenario. The test method name SHALL mirror the scenario name (e.g. `Scenario: rejects invalid total` → `test_rejects_invalid_total()` / `RejectsInvalidTotal()` / etc.). The Given / When / Then become structured comments at the top of each test body, citing the feature file path.
222
+
223
+ ## Doubles
224
+
225
+ <In-memory doubles for third-party dependencies + local containers / loopback for team-owned infrastructure. No off-machine calls.>
226
+ ```
227
+
228
+ Record the **scenario → Story-id** map in `.claude/memory/<workflow>/<slug>/gherkin-bindings.json`:
229
+
230
+ ```json
231
+ {
232
+ "features/<workflow>/orders-post.feature::accepts valid order": 311,
233
+ "features/<workflow>/orders-post.feature::rejects invalid total": 311,
234
+ "features/<workflow>/orders-get.feature::returns existing order": 312,
235
+ …
236
+ }
237
+ ```
238
+
239
+ Append the Story creations to `phase-2.md` (one row per Story: title, phase tag, scenario count, tracker-id, predecessors). The map lets the operator confirm at the Phase-2 human sign-off that every Scenario has a Story citing it, and lets `/quality-targets-converge` check for an existing binding before proposing a new component-test Story for a coverage gap it finds later.
240
+
241
+ ### 8. Report
242
+
243
+ Print:
244
+
245
+ - Output directory used.
246
+ - N `.feature` files written.
247
+ - Any components flagged for hand-authoring.
248
+ - N `[Component tests]` Stories created with scenario-binding count per Story.
249
+ - The phase-2 progress file path and the `gherkin-bindings.json` path.
250
+
251
+ **Print Step 4b's two Gherkin quality sections — "Agreed Gherkin quality
252
+ findings" and "Single-source (unconfirmed) Gherkin quality findings" —
253
+ distinct from the hand-authoring-flagged-components callout above:** follow
254
+ `knowledge/gherkin-quality-review-dispatch.md`'s Report section format for the
255
+ exact per-finding line format, the zero-findings sentence, and the
256
+ failure-handling wording.
257
+
258
+ ## Notes
259
+
260
+ - This skill runs in **two passes**, separated by the Phase-2 human gate:
261
+ 1. First pass (Steps 1–6) authors the `.feature` files and stops for sign-off.
262
+ 2. Second pass (Step 7), invoked by the orchestrator with `--create-stories` after the operator approves, creates the `[Component tests]` Stories bound to the approved scenarios. Splitting the passes ensures the Stories never reference un-reviewed scenarios.
263
+ - The Stories produced here become the binding contract `/build` consumes in Phase 4 and Phase 5. Each Story's body cites the exact scenarios its tests must satisfy — the component tests are written **from the approved Gherkin**, not from the assessment.
264
+ - `gherkin-bindings.json` is the inverse map (scenario → Story). The operator uses it at the Phase-2 human sign-off to confirm every Scenario in every `.feature` has a Story citing it; `/quality-targets-converge` consults it before proposing a new component-test Story for a coverage gap (see its "Gherkin binding for proposed component tests" step); and `/feature-file-validation` — run automatically by `/code-review` whenever `.feature` files are in the changeset — verifies each `[Component tests]` Story's submitted test code actually references its bound scenarios.
265
+ - For UI patterns where the worker cannot infer the flow from the assessment alone, emit a stub `.feature` with the required header and a `# TODO: hand-author scenarios here` block — better to surface the gap than to invent steps. Stub `.feature` files do NOT generate Stories until the operator fills them in.
266
+ - **Depth-audit finding (issue #1450): no behavior change here.** `/gherkin-derive` was made to mandatorily analyze controllers, handlers, services, domain logic, workflows, validation rules, error handling, and business processes in depth, because it derives scenarios directly from code with no prior analysis pass. This skill does not: Step 1 reads a pre-built component map (`/cd-test-architecture` Phase 1) rather than discovering surfaces itself, so the in-depth analysis this skill's scenarios rely on already happened upstream, in Phase 1 — transplanting `/gherkin-derive`'s directive here would either duplicate that upstream work or silently mask a gap that actually belongs to `/cd-test-architecture`'s own analysis depth (out of this issue's scope; flagged as a possible follow-up for a human to open separately).
@@ -0,0 +1,150 @@
1
+ ---
2
+ name: governance-compliance
3
+ description: Audit logging, quality gates, and ethics procedures for the agent team. Use for periodic compliance reviews, when logging task completion events, or when an ethical concern arises that requires human escalation.
4
+ role: worker
5
+ user-invocable: true
6
+ ---
7
+
8
+ # Governance & Compliance
9
+
10
+ ## Overview
11
+
12
+ Requirements and procedures for audit logging, multi-layer quality assurance, and ethical operation of the agent team. Ensures all agent activity is traceable, quality is validated at multiple levels, and ethical principles are maintained.
13
+
14
+ ## Constraints
15
+
16
+ - The audit changelog is append-only; never modify or delete existing entries
17
+ - Never log credentials, API keys, or PII in `.claude/metrics/` or `.claude/memory/` files
18
+ - All agent decisions must be explainable on request — no black-box outputs
19
+ - Ethical concerns are never auto-resolved; always escalate to the human
20
+
21
+ ## Audit & Transparency
22
+
23
+ ### What Must Be Logged
24
+
25
+ | Event | Log Location | Retention |
26
+ | --- | --- | --- |
27
+ | Task start/completion | `.claude/metrics/{date}-task-log.jsonl` | 90 days |
28
+ | Configuration change | `.claude/metrics/config-changelog.jsonl` | Indefinite |
29
+ | Human approval/override | `.claude/metrics/config-changelog.jsonl` — `proposed`/`evidence_shown`/`risks_surfaced` required (schema: [human-oversight-protocol § Audit trail](../human-oversight-protocol/SKILL.md#audit-trail)) | Indefinite |
30
+ | Hallucination detection | Task log entry (`hallucination_detected` flag) | 90 days |
31
+ | Context summarization | `.claude/memory/{date}-{task-slug}.md` | 90 days (30 active + 60 archive) |
32
+
33
+ ### Audit Trail Principles
34
+
35
+ - **Append-only**: Log entries are never modified or deleted
36
+ - **Timestamped**: Every entry has an ISO 8601 timestamp
37
+ - **Attributed**: Every entry identifies which agent acted and who approved
38
+ - **Complete**: No decision-making gap should exist between log entries
39
+ - **Reconstructable**: For every `approval`/`override` gate-decision entry, the
40
+ decision, the proposal, the evidence, and the surfaced risks must all be
41
+ recoverable from the entry alone — see [human-oversight-protocol § Audit trail](../human-oversight-protocol/SKILL.md#audit-trail)
42
+ for the field schema. Entries predating this schema (no `proposed`/`evidence_shown`/
43
+ `risks_surfaced`) remain valid — never migrated — and are not reconstructable
44
+ to this standard; treat them as historical, not as a compliance gap.
45
+
46
+ ### Compliance Queries
47
+
48
+ To answer "why did the system do X?", trace through:
49
+
50
+ 1. Task log: which agents were involved
51
+ 2. Config changelog: what configuration was active at the time
52
+ 3. Memory summaries: what context the agents were working with
53
+
54
+ For a gate decision specifically ("what was this approval/override based on?"),
55
+ also check gate-record completeness: does the `approval`/`override` entry carry
56
+ `proposed`, `evidence_shown`, and `risks_surfaced`? An entry missing all three is
57
+ either a pre-schema entry (acceptable) or a write site that skipped the schema
58
+ (a gap — see human-oversight-protocol's Audit trail for the required write
59
+ sites).
60
+
61
+ ## Quality Assurance
62
+
63
+ ### Multi-Layer Validation
64
+
65
+ Quality is enforced at four progressive layers:
66
+
67
+ #### Layer 1: Agent Self-Validation
68
+
69
+ - Every agent applies the [Quality Gate Pipeline](../quality-gate-pipeline/SKILL.md) before delivering output
70
+ - Confidence scoring on all major claims
71
+ - Tool-based verification for factual claims (file paths, APIs, data)
72
+
73
+ #### Layer 2: QA Agent Validation
74
+
75
+ When applicable (code generation, data analysis, architecture changes):
76
+
77
+ - QA agent reviews output against acceptance criteria
78
+ - Automated test generation and execution for code
79
+ - Consistency checks against existing codebase
80
+
81
+ #### Layer 3: Human Spot-Check
82
+
83
+ - User reviews delivered output
84
+ - Feedback captured via accept/reject/amend
85
+ - Patterns in rejections feed back through [Feedback & Learning](../feedback-learning/SKILL.md)
86
+
87
+ #### Layer 4: Post-Hoc Monitoring
88
+
89
+ - Orchestrator reviews task metrics during learning loop
90
+ - Identifies trends: rising rework rate, hallucination frequency, cost outliers
91
+ - Triggers configuration amendments when patterns emerge (minimum 3 occurrences)
92
+
93
+ ### Quality Gates
94
+
95
+ No task output is delivered until it passes applicable quality gates:
96
+
97
+ | Task Type | Required Gates |
98
+ | --- | --- |
99
+ | Code implementation | Self-validation + QA review (if available) |
100
+ | Architecture design | Self-validation + human approval |
101
+ | Documentation | Self-validation + terminology consistency check |
102
+ | Bug fix | Self-validation + regression test |
103
+ | Data analysis | Self-validation + statistical validation |
104
+
105
+ ## Ethics & Responsibility
106
+
107
+ ### Core Principles
108
+
109
+ 1. **Human accountability**: Humans are ultimately responsible for all outputs. Agents assist and recommend; humans decide and own.
110
+ 2. **Explainability**: Every agent decision must be explainable. No "black box" outputs. When asked why, the agent must provide rationale.
111
+ 3. **Bias awareness**: Agents must flag when their output may be influenced by training biases, especially in:
112
+ - Technology recommendations (may favor popular over appropriate)
113
+ - Estimation (may anchor to common patterns)
114
+ - Design decisions (may default to familiar architectures)
115
+ 4. **Privacy**: Agents must not log, store, or transmit sensitive data (credentials, PII, API keys) in metrics or memory files.
116
+ 5. **Proportionality**: Agent autonomy should match the risk level of the task. Higher risk = more human oversight.
117
+
118
+ ### Sensitive Data Handling
119
+
120
+ | Data Type | Rule |
121
+ | --- | --- |
122
+ | Credentials, API keys | Never log, never store in .claude/memory/ or .claude/metrics/ |
123
+ | PII (names, emails, etc.) | Do not include in metrics entries or summaries |
124
+ | Business-sensitive data | Minimize in summaries; use references to source files instead |
125
+ | Source code | May be included in summaries when relevant to task continuity |
126
+
127
+ ### When Ethical Concerns Arise
128
+
129
+ 1. Agent identifies the concern and pauses
130
+ 2. Flags to Orchestrator with: what the concern is, why it matters, what the options are
131
+ 3. Orchestrator escalates to human (always - ethical concerns are never auto-resolved)
132
+ 4. Human decides
133
+ 5. Decision is logged with full rationale
134
+
135
+ ## Output
136
+
137
+ Compliance checklist results (pass/fail per item) and/or new audit log entries written to `.claude/metrics/`. Be concise — report failures and entries written; omit passing items.
138
+
139
+ ## Compliance Checklist
140
+
141
+ For periodic review (monthly recommended):
142
+
143
+ - [ ] All tasks in the review period have corresponding log entries
144
+ - [ ] No gaps in the config changelog
145
+ - [ ] Gate-record completeness: `approval`/`override` entries from this period carry `proposed`/`evidence_shown`/`risks_surfaced` (pre-schema entries are exempt, not counted as gaps)
146
+ - [ ] Memory summaries exist for long-running tasks
147
+ - [ ] No sensitive data present in .claude/metrics/ or .claude/memory/ files
148
+ - [ ] Hallucination rate reviewed qualitatively (no sensor yet — see CLAUDE.md "Claims discipline")
149
+ - [ ] Rework rate trend is stable or improving
150
+ - [ ] All human overrides have been reviewed for systemic issues
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: guard
3
+ description: >-
4
+ Activate both careful mode and freeze mode together. Blocks destructive
5
+ commands and scope-locks editing to the specified pattern. Use for
6
+ production-critical debugging sessions.
7
+ argument-hint: "<glob-pattern>"
8
+ user-invocable: true
9
+ allowed-tools: Write, Read
10
+ ---
11
+
12
+ # Guard
13
+
14
+ Role: worker. Combined safety mode: careful + freeze.
15
+
16
+ You have been invoked with the `/guard` command.
17
+
18
+ ## Worker constraints
19
+
20
+ 1. Compose /careful + /freeze; introduce no new blocking behavior.
21
+ 2. Do not edit source.
22
+ 3. **Be concise.** Confirm both modes in one line each.
23
+
24
+ ## Parse Arguments
25
+
26
+ Arguments: $ARGUMENTS
27
+
28
+ - Positional: `<glob-pattern>` (required) — glob pattern for files that ARE allowed to be edited
29
+
30
+ If no pattern is provided, display usage and exit:
31
+ > Usage: `/guard <glob-pattern>`
32
+ > Example: `/guard src/auth/**` — blocks destructive commands AND limits edits to `src/auth/`.
33
+ > Use `/careful off` and `/unfreeze` separately to disable, or pass `off` to disable both.
34
+
35
+ If argument is `off`:
36
+
37
+ 1. Remove `.claude/hooks/careful-state.json` and `.claude/hooks/freeze-state.json`
38
+ 2. Display: "Guard mode OFF. All safety restrictions lifted."
39
+
40
+ ## Steps
41
+
42
+ ### 1. Enable careful mode
43
+
44
+ Write to `.claude/hooks/careful-state.json` (repo-scoped — see the `/careful`
45
+ skill's Notes for why this is not `hooks/careful-state.json`; issue #1900):
46
+
47
+ ```json
48
+ {
49
+ "active": true,
50
+ "enabled_at": "<ISO timestamp>"
51
+ }
52
+ ```
53
+
54
+ ### 2. Enable freeze mode
55
+
56
+ Write to `.claude/hooks/freeze-state.json` (repo-scoped — see the `/freeze`
57
+ skill's Notes for why this is not `hooks/freeze-state.json`; issue #1890):
58
+
59
+ ```json
60
+ {
61
+ "active": true,
62
+ "allowed_patterns": ["<glob-pattern>"],
63
+ "frozen_at": "<ISO timestamp>"
64
+ }
65
+ ```
66
+
67
+ ### 3. Confirm
68
+
69
+ Display:
70
+ > Guard mode ON.
71
+ >
72
+ > - Destructive commands: BLOCKED
73
+ > - File editing: Locked to `<pattern>`
74
+ >
75
+ > Use `/guard off` to disable both, or `/careful off` / `/unfreeze` individually.
@@ -0,0 +1,139 @@
1
+ ---
2
+ name: handoff
3
+ description: Compress or split off context for another session to pick up. Use to compress conversation history when context utilization approaches 40% (continue mode), or to split off a distinguishable out-of-scope side-task to an independent session (fork mode) — write a structured artifact for the other session and free the current one.
4
+ role: orchestrator
5
+ user-invocable: true
6
+ ---
7
+
8
+ # Handoff
9
+
10
+ One skill, two modes, for getting structured context to another session instead of replaying history:
11
+
12
+ - **Continue mode** — compress *this* task's history so the *same* task can keep going past the context ceiling, in a fresh window.
13
+ - **Fork mode** — split off a distinguishable, out-of-scope side-task into an *independent* session (a parallel sibling, or a child that later hands learnings back), without diluting or compacting the current session's context.
14
+
15
+ Both modes apply the same Three Gates (below) to decide what to keep, compress, and discard — that logic is written once and shared by both modes.
16
+
17
+ ## Mode Selection
18
+
19
+ Keyed off whether a **stated purpose** exists for an independent/fresh session:
20
+
21
+ | Signal | Mode |
22
+ | --- | --- |
23
+ | No stated purpose — continuing the current task past the ceiling | **Continue** (default, unchanged behavior) |
24
+ | A stated purpose for a distinguishable, out-of-scope side-task | **Fork** |
25
+ | Ambiguous — unclear whether this is the same task or a split-off | Ask: "Continue this task in a fresh window, or split off unrelated work to an independent session?" |
26
+
27
+ ## Constraints
28
+
29
+ - Summaries/handoff artifacts replace conversation history; never reload prior turns
30
+ - Never include credentials, PII, or other sensitive data in written output — see Redaction below
31
+ - Output must be sufficient for the receiving session to start without replaying history
32
+
33
+ ## The Three Gates
34
+
35
+ Apply in order to all context older than the last 3-5 turns, in both modes:
36
+
37
+ ### 1. Forget Gate -- Discard
38
+
39
+ - Exploratory dead ends and rejected approaches
40
+ - Verbose tool outputs where only the conclusion matters
41
+ - Superseded decisions
42
+ - Debugging steps for resolved issues
43
+
44
+ ### 2. Input Gate -- Preserve
45
+
46
+ - Current task definition and acceptance criteria
47
+ - Active architectural decisions and rationale
48
+ - Unresolved questions or blockers
49
+ - File paths and line numbers being worked on
50
+ - User preferences and feedback from this session
51
+
52
+ ### 3. Output Gate -- Keep Verbatim
53
+
54
+ - Last 3-5 conversation turns
55
+ - Code actively being modified
56
+ - Error messages being debugged
57
+ - Current agent persona and skill guidelines (if loaded)
58
+
59
+ ## Redaction
60
+
61
+ Before writing any output in either mode, redact secrets, API keys, tokens, and PII from the content. Fork-mode output leaves the repo-adjacent trust boundary (an OS temp dir another session reads), so redaction is mandatory there. Continue-mode output stays under `.claude/memory/` inside the repo, but apply the same redaction pass for consistency — a secret that shouldn't be in conversation history shouldn't be in a committed-adjacent file either.
62
+
63
+ ## Continue Mode
64
+
65
+ Compress conversation history to keep context utilization below 40% while continuing the *same* task in a fresh window.
66
+
67
+ ### When to Summarize
68
+
69
+ `/handoff` is manual: nothing forces or blocks on it. Reach for it when a
70
+ deliberate, structured summary beats the harness's generic compaction:
71
+
72
+ - before a long phase ends, so the next phase starts from a reviewable
73
+ `.claude/memory/` file rather than replayed history;
74
+ - when you notice the session is heavy (many file reads accumulated, turn
75
+ count above about 40, degraded output quality) and want to choose what
76
+ survives;
77
+ - before a planned break in the work.
78
+
79
+ The harness compacts on its own at the percentage `/dev-team:setup` configures
80
+ (default 40%); a `/handoff` summary written first is the structured
81
+ alternative to that generic summary.
82
+
83
+ **Measuring utilization**: `utilization = (input + cache_read + cache_creation) / model_context_window`, from the most recent assistant-message usage in the session transcript.
84
+
85
+ **Why 40%, not a higher number**: see [Context Loading Protocol → Why 40%](../context-loading-protocol/SKILL.md#why-40).
86
+
87
+ ### Writing Summaries
88
+
89
+ - **Destination**: `.claude/memory/{date}-{task-slug}.md`
90
+ - **Scope**: full relevant history for the task
91
+ - **Requires**: nothing extra — the task is already known
92
+
93
+ Write the summary using the Task Summary template in `references/summary-templates.md`.
94
+
95
+ ### Phase Progress Files
96
+
97
+ Each phase produces a progress file that onboards the next phase's agent without replaying history. Write the progress file using the appropriate phase template (Research, Plan, or Implementation) from `references/summary-templates.md`.
98
+
99
+ ### Using Summaries in New Conversations
100
+
101
+ 1. Read the most recent summary from `.claude/memory/`
102
+ 2. Load only **Key Context for Continuation** into active context
103
+ 3. Load referenced files on demand, not upfront
104
+ 4. Do NOT reload full conversation history -- the summary replaces it
105
+
106
+ ### Cleanup (Time-Based)
107
+
108
+ 1. Archive summaries older than 30 days to `.claude/memory/archive/`
109
+ 2. Delete archived summaries older than 90 days
110
+ 3. Consolidate multiple summaries for the same task into one
111
+
112
+ ## Fork Mode
113
+
114
+ Split off a distinguishable, out-of-scope side-task into an independent session — a sibling running in parallel, or a child (e.g. a prototype session) that later hands learnings back — without diluting or compacting the current session.
115
+
116
+ ### Requires a Stated Purpose
117
+
118
+ Fork mode always needs a one-line purpose describing the side-task. If the user hasn't stated one, ask for it before writing anything — an unpurposed fork artifact can't be scoped correctly by the Forget/Input/Output gates above.
119
+
120
+ ### Writing the Fork Artifact
121
+
122
+ - **Destination**: the OS temp dir (e.g. `$TMPDIR` or the platform default), never `.claude/memory/` — the artifact is disposable and not part of the repo's durable history
123
+ - **Scope**: just the slice of context relevant to the stated purpose, not the full session history
124
+ - **Naming**: `{tmpdir}/handoff-{purpose-slug}-{date}.md`
125
+
126
+ Use the **Fork Handoff** template in `references/summary-templates.md`, which adds these sections beyond the Task Summary:
127
+
128
+ - **Suggested Skills** — skills the receiving session likely needs loaded for the stated purpose, so it doesn't have to rediscover them.
129
+ - **Pointers, not duplication** — link to or cite content that already exists in other artifacts (files, prior summaries, design docs) instead of copying it into the fork doc. The fork doc should compose with existing artifacts, not fork a second copy of them.
130
+ - **Hand-back** (when the fork will report results back to this session) — what the parent session needs from the child when it's done: a short result summary and pointers to what changed, in a shape the parent can merge without replaying the child's history.
131
+
132
+ ### Cleanup (Event-Based, Never Time-Based)
133
+
134
+ Fork-mode artifacts are deleted **on consumption**, not on a schedule:
135
+
136
+ - The receiving session merges its result back into the parent — delete the fork artifact once the merge is confirmed.
137
+ - The parent session reads a hand-back doc from a completed child — delete the hand-back doc once it has been read.
138
+
139
+ Never apply the continue-mode 30/90-day time-based cleanup to fork-mode output — an unconsumed fork artifact should persist until it's actually picked up, and a consumed one should not linger waiting for a sweep.