@1aboveio/skills 0.10.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 (397) hide show
  1. package/LICENSE +3 -0
  2. package/README.md +90 -0
  3. package/bin/1aboveio-skills.mjs +18 -0
  4. package/package.json +28 -0
  5. package/runtime/skills/distribution/generated/recipes.json +1189 -0
  6. package/runtime/skills/distribution/scripts/bundles.mjs +280 -0
  7. package/runtime/skills/engineering/engineering-runtime/scripts/main-module.mjs +80 -0
  8. package/skills/backend/airflow-dag-develop/LICENSE +3 -0
  9. package/skills/backend/airflow-dag-develop/SKILL.md +111 -0
  10. package/skills/backend/app-debug/LICENSE +3 -0
  11. package/skills/backend/app-debug/SKILL.md +109 -0
  12. package/skills/backend/app-debug/references/common-errors.md +128 -0
  13. package/skills/backend/python-backend/LICENSE +3 -0
  14. package/skills/backend/python-backend/SKILL.md +326 -0
  15. package/skills/cicd-pipeline/cloud-build/LICENSE +3 -0
  16. package/skills/cicd-pipeline/cloud-build/SKILL.md +707 -0
  17. package/skills/cicd-pipeline/cloud-debug/LICENSE +3 -0
  18. package/skills/cicd-pipeline/cloud-debug/SKILL.md +316 -0
  19. package/skills/cicd-pipeline/cloud-debug/references/build-failures.md +238 -0
  20. package/skills/cicd-pipeline/cloud-debug/references/deploy-failures.md +376 -0
  21. package/skills/cicd-pipeline/cloud-debug/references/pipeline-failures.md +378 -0
  22. package/skills/cicd-pipeline/cloud-deploy/LICENSE +3 -0
  23. package/skills/cicd-pipeline/cloud-deploy/SKILL.md +229 -0
  24. package/skills/cicd-pipeline/cloud-deploy/references/config-templates.md +257 -0
  25. package/skills/cicd-pipeline/docker/LICENSE +3 -0
  26. package/skills/cicd-pipeline/docker/SKILL.md +126 -0
  27. package/skills/cicd-pipeline/google-cloud/LICENSE +3 -0
  28. package/skills/cicd-pipeline/google-cloud/SKILL.md +118 -0
  29. package/skills/cicd-pipeline/google-cloud/references/gcs.md +469 -0
  30. package/skills/cicd-pipeline/google-cloud/references/iam.md +451 -0
  31. package/skills/cicd-pipeline/google-cloud/references/project.md +349 -0
  32. package/skills/cicd-pipeline/google-cloud/references/secrets.md +336 -0
  33. package/skills/cicd-pipeline/google-cloud/references/vpc.md +312 -0
  34. package/skills/cicd-pipeline/google-cloud/scripts/create-sa.sh +36 -0
  35. package/skills/cicd-pipeline/google-cloud/scripts/gcp-config.sh +31 -0
  36. package/skills/cicd-pipeline/google-cloud/scripts/grant-iap.sh +41 -0
  37. package/skills/cicd-pipeline/google-cloud/scripts/setup-secrets.sh +48 -0
  38. package/skills/cicd-pipeline/mergify/LICENSE +3 -0
  39. package/skills/cicd-pipeline/mergify/SKILL.md +138 -0
  40. package/skills/cicd-pipeline/mergify/assets/templates/mergify.yml +237 -0
  41. package/skills/cicd-pipeline/mergify/assets/templates/ruleset.json +46 -0
  42. package/skills/cicd-pipeline/mergify/references/branch-protection.md +277 -0
  43. package/skills/cicd-pipeline/mergify/references/configuration.md +183 -0
  44. package/skills/cicd-pipeline/mergify/references/diagnosis.md +73 -0
  45. package/skills/cicd-pipeline/mergify/references/traps.md +78 -0
  46. package/skills/cicd-pipeline/mergify/references/watch-contract.md +218 -0
  47. package/skills/cicd-pipeline/mergify/scripts/audit-core.mjs +131 -0
  48. package/skills/cicd-pipeline/mergify/scripts/audit.mjs +4 -0
  49. package/skills/cicd-pipeline/mergify/scripts/watch-pr-delivery-core.mjs +663 -0
  50. package/skills/cicd-pipeline/mergify/scripts/watch-pr-delivery.mjs +4 -0
  51. package/skills/cicd-pipeline/podman/LICENSE +3 -0
  52. package/skills/cicd-pipeline/podman/SKILL.md +70 -0
  53. package/skills/cicd-pipeline/podman/agents/openai.yaml +4 -0
  54. package/skills/cicd-pipeline/podman/assets/templates/podman-compose-socket-directory.yml +6 -0
  55. package/skills/cicd-pipeline/podman/assets/templates/podman-service-override.conf +3 -0
  56. package/skills/cicd-pipeline/podman/references/compose-compatibility.md +70 -0
  57. package/skills/cicd-pipeline/podman/references/networking-and-ports.md +74 -0
  58. package/skills/cicd-pipeline/podman/references/rootless-services-and-sockets.md +156 -0
  59. package/skills/cicd-pipeline/podman/references/troubleshooting.md +98 -0
  60. package/skills/engineering/e2e-test/LICENSE +3 -0
  61. package/skills/engineering/e2e-test/SKILL.md +156 -0
  62. package/skills/engineering/e2e-test/assets/ci-gates.cloudbuild.yaml +272 -0
  63. package/skills/engineering/e2e-test/assets/ci-gates.github.yml +451 -0
  64. package/skills/engineering/e2e-test/assets/e2e-workflow.yml +282 -0
  65. package/skills/engineering/e2e-test/references/authoring/auth-flows.md +159 -0
  66. package/skills/engineering/e2e-test/references/authoring/playwright-config.md +71 -0
  67. package/skills/engineering/e2e-test/references/authoring/playwright-patterns.md +219 -0
  68. package/skills/engineering/e2e-test/references/authoring/test-skipping.md +44 -0
  69. package/skills/engineering/e2e-test/references/ci-integration.md +121 -0
  70. package/skills/engineering/e2e-test/references/ci-playwright-container.md +280 -0
  71. package/skills/engineering/e2e-test/references/debugging.md +36 -0
  72. package/skills/engineering/e2e-test/references/presentation-sweep.md +131 -0
  73. package/skills/engineering/e2e-test/references/reviewing.md +39 -0
  74. package/skills/engineering/e2e-test/references/route-discovery.md +50 -0
  75. package/skills/engineering/e2e-test/references/route-manifest.md +44 -0
  76. package/skills/engineering/e2e-test/scripts/detect-routes-fastapi.py +290 -0
  77. package/skills/engineering/e2e-test/scripts/detect-routes-nextjs.mjs +200 -0
  78. package/skills/engineering/e2e-test/scripts/post-visual-evidence.mjs +158 -0
  79. package/skills/engineering/e2e-test/scripts/presentation-checks.mjs +171 -0
  80. package/skills/engineering/e2e-test/scripts/presentation-perceivability.mjs +179 -0
  81. package/skills/engineering/e2e-test/scripts/presentation-reachability.mjs +154 -0
  82. package/skills/engineering/e2e-test/scripts/presentation-render-health.mjs +141 -0
  83. package/skills/engineering/e2e-test/scripts/presentation-sweep.mjs +148 -0
  84. package/skills/engineering/e2e-test/scripts/presentation-temporal.mjs +127 -0
  85. package/skills/engineering/e2e-test/scripts/presentation-visual.mjs +84 -0
  86. package/skills/engineering/e2e-test/scripts/project-route-manifest.mjs +75 -0
  87. package/skills/engineering/e2e-test/scripts/validate-manifest.mjs +106 -0
  88. package/skills/engineering/engineering-runtime/LICENSE +3 -0
  89. package/skills/engineering/engineering-runtime/SKILL.md +10 -0
  90. package/skills/engineering/engineering-runtime/agents/openai.yaml +6 -0
  91. package/skills/engineering/engineering-runtime/coherence/workflow.json +553 -0
  92. package/skills/engineering/engineering-runtime/scripts/exact-head-artifact.mjs +131 -0
  93. package/skills/engineering/engineering-runtime/scripts/head-check-set.mjs +398 -0
  94. package/skills/engineering/engineering-runtime/scripts/main-module.mjs +80 -0
  95. package/skills/engineering/engineering-runtime/scripts/mergify-yaml.mjs +11 -0
  96. package/skills/engineering/engineering-runtime/scripts/package-lock.json +43 -0
  97. package/skills/engineering/engineering-runtime/scripts/package.json +10 -0
  98. package/skills/engineering/engineering-runtime/scripts/required-check-plan.mjs +223 -0
  99. package/skills/engineering/engineering-runtime/scripts/workflow-coherence.mjs +576 -0
  100. package/skills/engineering/engineering-runtime/scripts/workflow-policy.mjs +166 -0
  101. package/skills/engineering/ensure-coverage/LICENSE +3 -0
  102. package/skills/engineering/ensure-coverage/SKILL.md +136 -0
  103. package/skills/engineering/ensure-coverage/evals/evals.json +125 -0
  104. package/skills/engineering/ensure-coverage/references/breadth/coverage-ledger.md +91 -0
  105. package/skills/engineering/ensure-coverage/references/breadth/inventory-contract.md +83 -0
  106. package/skills/engineering/ensure-coverage/references/breadth/surface-baseline.md +44 -0
  107. package/skills/engineering/ensure-coverage/references/breadth/surface-discovery.md +16 -0
  108. package/skills/engineering/ensure-coverage/references/depth/characterization.md +68 -0
  109. package/skills/engineering/ensure-coverage/references/depth/coverage.config.example.json +25 -0
  110. package/skills/engineering/ensure-coverage/references/depth/grading.md +35 -0
  111. package/skills/engineering/ensure-coverage/references/depth/mock-policy.md +87 -0
  112. package/skills/engineering/ensure-coverage/references/depth/test-smells.md +23 -0
  113. package/skills/engineering/ensure-coverage/references/enforcement/ci-contract.md +164 -0
  114. package/skills/engineering/ensure-coverage/references/enforcement/hooks.md +85 -0
  115. package/skills/engineering/ensure-coverage/references/examples/coverage-ledger.md +109 -0
  116. package/skills/engineering/ensure-coverage/references/examples/refund-flow.md +33 -0
  117. package/skills/engineering/ensure-coverage/references/presentation/axis.md +78 -0
  118. package/skills/engineering/ensure-coverage/references/presentation/runner-contract.md +74 -0
  119. package/skills/engineering/ensure-coverage/references/process/audit-mode.md +33 -0
  120. package/skills/engineering/ensure-coverage/references/process/output-template.md +139 -0
  121. package/skills/engineering/ensure-coverage/references/process/review-contract-template.md +119 -0
  122. package/skills/engineering/ensure-coverage/references/process/scope-class.md +178 -0
  123. package/skills/engineering/ensure-coverage/references/process/test-strategy.md +55 -0
  124. package/skills/engineering/ensure-coverage/schemas/coverage-config.schema.json +45 -0
  125. package/skills/engineering/ensure-coverage/schemas/coverage-file.schema.json +93 -0
  126. package/skills/engineering/ensure-coverage/scripts/adapters/nextjs-inventory.mjs +178 -0
  127. package/skills/engineering/ensure-coverage/scripts/check-quarantine-expiry.mjs +101 -0
  128. package/skills/engineering/ensure-coverage/scripts/ci-audit.mjs +358 -0
  129. package/skills/engineering/ensure-coverage/scripts/coverage-checklist.mjs +494 -0
  130. package/skills/engineering/ensure-coverage/scripts/coverage-ledger.mjs +663 -0
  131. package/skills/engineering/ensure-coverage/scripts/design-parity.mjs +591 -0
  132. package/skills/engineering/ensure-coverage/scripts/evidence-block.mjs +367 -0
  133. package/skills/engineering/ensure-coverage/scripts/lint-tests.mjs +269 -0
  134. package/skills/engineering/ensure-coverage/scripts/mock-policy-config.mjs +176 -0
  135. package/skills/engineering/ensure-coverage/scripts/package-lock.json +76 -0
  136. package/skills/engineering/ensure-coverage/scripts/package.json +19 -0
  137. package/skills/engineering/ensure-coverage/scripts/scope-class.mjs +554 -0
  138. package/skills/engineering/harness-runtime/LICENSE +3 -0
  139. package/skills/engineering/harness-runtime/SKILL.md +18 -0
  140. package/skills/engineering/harness-runtime/agents/openai.yaml +6 -0
  141. package/skills/engineering/harness-runtime/bin/discover-models.mjs +4 -0
  142. package/skills/engineering/harness-runtime/bin/model-catalog.mjs +4 -0
  143. package/skills/engineering/harness-runtime/contracts.md +15 -0
  144. package/skills/engineering/harness-runtime/discover-models.mjs +392 -0
  145. package/skills/engineering/harness-runtime/fixtures/native-question-schemas.json +33 -0
  146. package/skills/engineering/harness-runtime/fixtures/question-responses.json +54 -0
  147. package/skills/engineering/harness-runtime/index.mjs +767 -0
  148. package/skills/engineering/harness-runtime/model-catalog.mjs +787 -0
  149. package/skills/engineering/harness-runtime/native-question-contracts.md +37 -0
  150. package/skills/engineering/harness-runtime/references/model-catalog-seed.json +159 -0
  151. package/skills/engineering/harness-runtime/references/model-catalog.md +57 -0
  152. package/skills/engineering/implement-and-pr/LICENSE +3 -0
  153. package/skills/engineering/implement-and-pr/SKILL.md +176 -0
  154. package/skills/engineering/implement-and-pr/references/ci-iteration.md +10 -0
  155. package/skills/engineering/implement-and-pr/references/closeout.md +27 -0
  156. package/skills/engineering/implement-and-pr/references/contract-complete-fix-rounds.md +34 -0
  157. package/skills/engineering/implement-and-pr/references/evidence-rules.md +39 -0
  158. package/skills/engineering/implement-and-pr/references/incremental-plan.md +16 -0
  159. package/skills/engineering/implement-and-pr/references/self-review.md +23 -0
  160. package/skills/engineering/implement-and-pr/references/tdd-mode.md +18 -0
  161. package/skills/engineering/resolve-issues/LICENSE +3 -0
  162. package/skills/engineering/resolve-issues/SKILL.md +167 -0
  163. package/skills/engineering/resolve-issues/generated/workflow-repair-policy.json +448 -0
  164. package/skills/engineering/resolve-issues/references/breaker.md +82 -0
  165. package/skills/engineering/resolve-issues/references/deliverables.md +27 -0
  166. package/skills/engineering/resolve-issues/references/delivery.md +108 -0
  167. package/skills/engineering/resolve-issues/references/evidence-lane.md +21 -0
  168. package/skills/engineering/resolve-issues/references/exact-head-ci.md +287 -0
  169. package/skills/engineering/resolve-issues/references/fan-out.md +33 -0
  170. package/skills/engineering/resolve-issues/references/finalization.md +68 -0
  171. package/skills/engineering/resolve-issues/references/guarantees.md +10 -0
  172. package/skills/engineering/resolve-issues/references/high-risk.md +29 -0
  173. package/skills/engineering/resolve-issues/references/incidents/848/README.md +156 -0
  174. package/skills/engineering/resolve-issues/references/intake.md +86 -0
  175. package/skills/engineering/resolve-issues/references/integration-gate.md +53 -0
  176. package/skills/engineering/resolve-issues/references/interference.md +87 -0
  177. package/skills/engineering/resolve-issues/references/loop.md +134 -0
  178. package/skills/engineering/resolve-issues/references/model-catalog.md +9 -0
  179. package/skills/engineering/resolve-issues/references/postmortem.md +27 -0
  180. package/skills/engineering/resolve-issues/references/pre-flight-model-slots.md +41 -0
  181. package/skills/engineering/resolve-issues/references/pre-flight-recording-and-checkout.md +48 -0
  182. package/skills/engineering/resolve-issues/references/pre-flight.md +41 -0
  183. package/skills/engineering/resolve-issues/references/regression-checklist.md +26 -0
  184. package/skills/engineering/resolve-issues/references/run-state.md +288 -0
  185. package/skills/engineering/resolve-issues/references/sandboxed-testing.md +48 -0
  186. package/skills/engineering/resolve-issues/references/spawn-contract.md +96 -0
  187. package/skills/engineering/resolve-issues/references/terminal-evidence-journal.md +40 -0
  188. package/skills/engineering/resolve-issues/references/why.md +653 -0
  189. package/skills/engineering/resolve-issues/schemas/fix-round.schema.json +49 -0
  190. package/skills/engineering/resolve-issues/scripts/combine-and-verify.mjs +721 -0
  191. package/skills/engineering/resolve-issues/scripts/component-candidate.mjs +962 -0
  192. package/skills/engineering/resolve-issues/scripts/contract-revision.mjs +220 -0
  193. package/skills/engineering/resolve-issues/scripts/detect-delivery-mode.mjs +420 -0
  194. package/skills/engineering/resolve-issues/scripts/detect-target-branch.mjs +256 -0
  195. package/skills/engineering/resolve-issues/scripts/detect-workspace-mode.mjs +168 -0
  196. package/skills/engineering/resolve-issues/scripts/discover-models.mjs +9 -0
  197. package/skills/engineering/resolve-issues/scripts/doctrine.mjs +62 -0
  198. package/skills/engineering/resolve-issues/scripts/evidence-lifecycle-contract.mjs +191 -0
  199. package/skills/engineering/resolve-issues/scripts/exact-head-ci.mjs +413 -0
  200. package/skills/engineering/resolve-issues/scripts/exact-head-github-provider.mjs +332 -0
  201. package/skills/engineering/resolve-issues/scripts/finalize.mjs +488 -0
  202. package/skills/engineering/resolve-issues/scripts/fix-rounds.mjs +3307 -0
  203. package/skills/engineering/resolve-issues/scripts/fixtures/evidence-lifecycle-circular-1001.json +16 -0
  204. package/skills/engineering/resolve-issues/scripts/fixtures/evidence-lifecycle-valid-sequencing.json +51 -0
  205. package/skills/engineering/resolve-issues/scripts/fixtures/fmm-express-830-component-candidate.json +17 -0
  206. package/skills/engineering/resolve-issues/scripts/fixtures/head-check-set-1081.json +166 -0
  207. package/skills/engineering/resolve-issues/scripts/gate-value-series.mjs +92 -0
  208. package/skills/engineering/resolve-issues/scripts/guide-index.mjs +73 -0
  209. package/skills/engineering/resolve-issues/scripts/head-check-set.mjs +159 -0
  210. package/skills/engineering/resolve-issues/scripts/interference.mjs +427 -0
  211. package/skills/engineering/resolve-issues/scripts/model-catalog.mjs +9 -0
  212. package/skills/engineering/resolve-issues/scripts/next-operations.mjs +419 -0
  213. package/skills/engineering/resolve-issues/scripts/postmortem.mjs +909 -0
  214. package/skills/engineering/resolve-issues/scripts/preflight-questions.mjs +322 -0
  215. package/skills/engineering/resolve-issues/scripts/reconcile-contained-unit-prs.mjs +415 -0
  216. package/skills/engineering/resolve-issues/scripts/release-state-contract.mjs +697 -0
  217. package/skills/engineering/resolve-issues/scripts/report.mjs +494 -0
  218. package/skills/engineering/resolve-issues/scripts/required-check-plan.mjs +172 -0
  219. package/skills/engineering/resolve-issues/scripts/round-metadata.mjs +79 -0
  220. package/skills/engineering/resolve-issues/scripts/run-state-review6-cases.mjs +334 -0
  221. package/skills/engineering/resolve-issues/scripts/run-state.mjs +4784 -0
  222. package/skills/engineering/resolve-issues/scripts/sandbox-selftest.mjs +395 -0
  223. package/skills/engineering/resolve-issues/scripts/spawn-contract.mjs +290 -0
  224. package/skills/engineering/resolve-issues/scripts/terminal-dispositions.mjs +170 -0
  225. package/skills/engineering/resolve-issues/scripts/terminal-evidence-journal.mjs +293 -0
  226. package/skills/engineering/resolve-issues/scripts/unit-kind.mjs +197 -0
  227. package/skills/engineering/resolve-issues/scripts/unit-lifecycle.mjs +127 -0
  228. package/skills/engineering/resolve-issues/scripts/watch-delivery.mjs +893 -0
  229. package/skills/engineering/resolve-issues/scripts/workspaces.mjs +829 -0
  230. package/skills/engineering/resolve-issues/workflows/independent-review.workflow.js +290 -0
  231. package/skills/engineering/resolve-issues/workflows/prior-art-scan.workflow.js +80 -0
  232. package/skills/engineering/resolve-issues/workflows/workflow-smoke.mjs +102 -0
  233. package/skills/engineering/resolve-release/LICENSE +3 -0
  234. package/skills/engineering/resolve-release/SKILL.md +112 -0
  235. package/skills/engineering/resolve-release/references/assembly.md +137 -0
  236. package/skills/engineering/resolve-release/references/auto-when-green.md +56 -0
  237. package/skills/engineering/resolve-release/references/candidate.md +167 -0
  238. package/skills/engineering/resolve-release/references/exposure.md +178 -0
  239. package/skills/engineering/resolve-release/references/handoff.md +24 -0
  240. package/skills/engineering/resolve-release/references/postmortem.md +230 -0
  241. package/skills/engineering/resolve-release/references/preflight.md +207 -0
  242. package/skills/engineering/resolve-release/references/principles.md +94 -0
  243. package/skills/engineering/resolve-release/references/regression-checklist.md +36 -0
  244. package/skills/engineering/resolve-release/references/related-skills.md +12 -0
  245. package/skills/engineering/resolve-release/references/routing.md +149 -0
  246. package/skills/engineering/resolve-release/references/verified-sha-github-flow.md +285 -0
  247. package/skills/engineering/resolve-release/references/versioning.md +202 -0
  248. package/skills/engineering/resolve-release/references/why.md +53 -0
  249. package/skills/engineering/resolve-release/scripts/adapter-completion-artifact.mjs +389 -0
  250. package/skills/engineering/resolve-release/scripts/build-changes.mjs +209 -0
  251. package/skills/engineering/resolve-release/scripts/candidate-hygiene.mjs +407 -0
  252. package/skills/engineering/resolve-release/scripts/candidate-identity.mjs +904 -0
  253. package/skills/engineering/resolve-release/scripts/candidate-traffic.mjs +81 -0
  254. package/skills/engineering/resolve-release/scripts/checked-adapter-loader.mjs +612 -0
  255. package/skills/engineering/resolve-release/scripts/close-attempt.mjs +135 -0
  256. package/skills/engineering/resolve-release/scripts/closeout-release.mjs +161 -0
  257. package/skills/engineering/resolve-release/scripts/doctrine.mjs +106 -0
  258. package/skills/engineering/resolve-release/scripts/durable-processing.mjs +522 -0
  259. package/skills/engineering/resolve-release/scripts/ensure-target-green.mjs +659 -0
  260. package/skills/engineering/resolve-release/scripts/evidence-bundle.mjs +1014 -0
  261. package/skills/engineering/resolve-release/scripts/finalize-release.mjs +526 -0
  262. package/skills/engineering/resolve-release/scripts/fixtures/durable-processing-adapter.mjs +169 -0
  263. package/skills/engineering/resolve-release/scripts/green-gate.mjs +599 -0
  264. package/skills/engineering/resolve-release/scripts/isolated-adapter-evaluator.mjs +752 -0
  265. package/skills/engineering/resolve-release/scripts/metadata-pr-status.mjs +56 -0
  266. package/skills/engineering/resolve-release/scripts/metadata-sync.mjs +1538 -0
  267. package/skills/engineering/resolve-release/scripts/postmortem.mjs +381 -0
  268. package/skills/engineering/resolve-release/scripts/preflight-probes.mjs +498 -0
  269. package/skills/engineering/resolve-release/scripts/production-endpoints.mjs +326 -0
  270. package/skills/engineering/resolve-release/scripts/rc-circuit-breaker.mjs +272 -0
  271. package/skills/engineering/resolve-release/scripts/report.mjs +417 -0
  272. package/skills/engineering/resolve-release/scripts/reprobe-credentials.mjs +114 -0
  273. package/skills/engineering/resolve-release/scripts/revalidate-candidate.mjs +238 -0
  274. package/skills/engineering/resolve-release/scripts/review-packet.mjs +503 -0
  275. package/skills/engineering/resolve-release/scripts/rollback-floor.mjs +263 -0
  276. package/skills/engineering/resolve-release/scripts/version-assert.mjs +339 -0
  277. package/skills/engineering/resolve-release/scripts/version-postmortem.mjs +485 -0
  278. package/skills/engineering/resolve-release/scripts/version.mjs +1199 -0
  279. package/skills/engineering/resolve-release/scripts/watch-candidate-delivery.mjs +449 -0
  280. package/skills/engineering/resolve-release/vendor/ACORN-LICENSE +21 -0
  281. package/skills/engineering/resolve-release/vendor/README.md +60 -0
  282. package/skills/engineering/resolve-release/vendor/acorn.mjs +6233 -0
  283. package/skills/engineering/resolve-release/vendor/quickjs/core/LICENSE +21 -0
  284. package/skills/engineering/resolve-release/vendor/quickjs/core/README.md +341 -0
  285. package/skills/engineering/resolve-release/vendor/quickjs/core/README.template.md +70 -0
  286. package/skills/engineering/resolve-release/vendor/quickjs/core/dist/chunk-TAV5CUKK.mjs +2 -0
  287. package/skills/engineering/resolve-release/vendor/quickjs/core/dist/chunk-TAV5CUKK.mjs.map +1 -0
  288. package/skills/engineering/resolve-release/vendor/quickjs/core/dist/chunk-V2S4ZYJR.mjs +7 -0
  289. package/skills/engineering/resolve-release/vendor/quickjs/core/dist/chunk-V2S4ZYJR.mjs.map +1 -0
  290. package/skills/engineering/resolve-release/vendor/quickjs/core/dist/index.d.mts +2033 -0
  291. package/skills/engineering/resolve-release/vendor/quickjs/core/dist/index.d.ts +2033 -0
  292. package/skills/engineering/resolve-release/vendor/quickjs/core/dist/index.js +7 -0
  293. package/skills/engineering/resolve-release/vendor/quickjs/core/dist/index.js.map +1 -0
  294. package/skills/engineering/resolve-release/vendor/quickjs/core/dist/index.mjs +2 -0
  295. package/skills/engineering/resolve-release/vendor/quickjs/core/dist/index.mjs.map +1 -0
  296. package/skills/engineering/resolve-release/vendor/quickjs/core/dist/module-ES6BEMUI.mjs +2 -0
  297. package/skills/engineering/resolve-release/vendor/quickjs/core/dist/module-ES6BEMUI.mjs.map +1 -0
  298. package/skills/engineering/resolve-release/vendor/quickjs/core/dist/module-asyncify-2EFITU5U.mjs +2 -0
  299. package/skills/engineering/resolve-release/vendor/quickjs/core/dist/module-asyncify-2EFITU5U.mjs.map +1 -0
  300. package/skills/engineering/resolve-release/vendor/quickjs/core/package.json +49 -0
  301. package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/LICENSE +21 -0
  302. package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/README.md +5 -0
  303. package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/dist/index.d.mts +549 -0
  304. package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/dist/index.d.ts +549 -0
  305. package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/dist/index.js +2 -0
  306. package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/dist/index.js.map +1 -0
  307. package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/dist/index.mjs +2 -0
  308. package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/dist/index.mjs.map +1 -0
  309. package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/package.json +36 -0
  310. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/LICENSE +47 -0
  311. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/README.md +82 -0
  312. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.browser.d.ts +11 -0
  313. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.browser.mjs +22 -0
  314. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.cjs +21 -0
  315. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.cloudflare.cjs +21 -0
  316. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.cloudflare.d.ts +11 -0
  317. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.d.ts +11 -0
  318. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.mjs +25 -0
  319. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.wasm +0 -0
  320. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/ffi.d.mts +85 -0
  321. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/ffi.d.ts +85 -0
  322. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/ffi.js +2 -0
  323. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/ffi.js.map +1 -0
  324. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/ffi.mjs +2 -0
  325. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/ffi.mjs.map +1 -0
  326. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/index.d.mts +20 -0
  327. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/index.d.ts +20 -0
  328. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/index.js +2 -0
  329. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/index.js.map +1 -0
  330. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/index.mjs +2 -0
  331. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/index.mjs.map +1 -0
  332. package/skills/engineering/resolve-release/vendor/quickjs/release-sync/package.json +61 -0
  333. package/skills/engineering/review-pr/LICENSE +3 -0
  334. package/skills/engineering/review-pr/SKILL.md +123 -0
  335. package/skills/engineering/review-pr/references/adversarial-reviewer-prompt.md +42 -0
  336. package/skills/engineering/review-pr/references/code-correctness.md +5 -0
  337. package/skills/engineering/review-pr/references/contract-freshness.md +9 -0
  338. package/skills/engineering/review-pr/references/coordination.md +18 -0
  339. package/skills/engineering/review-pr/references/domain-hazards.md +123 -0
  340. package/skills/engineering/review-pr/references/finding-themes.md +7 -0
  341. package/skills/engineering/review-pr/references/github-posting.md +98 -0
  342. package/skills/engineering/review-pr/references/golden-path-smoke.md +5 -0
  343. package/skills/engineering/review-pr/references/incremental-output.md +16 -0
  344. package/skills/engineering/review-pr/references/inputs-and-discovery.md +31 -0
  345. package/skills/engineering/review-pr/references/output-format.md +99 -0
  346. package/skills/engineering/review-pr/references/over-mock-screen.md +7 -0
  347. package/skills/engineering/review-pr/references/promotion-prs.md +16 -0
  348. package/skills/engineering/review-pr/references/re-review.md +18 -0
  349. package/skills/engineering/review-pr/references/review-method.md +199 -0
  350. package/skills/engineering/review-pr/references/review-mode.md +30 -0
  351. package/skills/engineering/review-pr/references/review-posture.md +53 -0
  352. package/skills/engineering/review-pr/references/round1-depth.md +62 -0
  353. package/skills/engineering/review-pr/references/scripts.md +17 -0
  354. package/skills/engineering/review-pr/references/workflow.md +16 -0
  355. package/skills/engineering/review-pr/schemas/findings.schema.json +282 -0
  356. package/skills/engineering/review-pr/scripts/finding-contract.mjs +285 -0
  357. package/skills/engineering/review-pr/scripts/post-review.mjs +405 -0
  358. package/skills/engineering/review-pr/scripts/pr-context.mjs +207 -0
  359. package/skills/engineering/review-pr/scripts/scan-diff.mjs +365 -0
  360. package/skills/engineering/review-pr/scripts/theme-contract.mjs +57 -0
  361. package/skills/engineering/smoke/LICENSE +3 -0
  362. package/skills/engineering/smoke/SKILL.md +131 -0
  363. package/skills/engineering/smoke/assets/smoke.manifest.example.json +53 -0
  364. package/skills/engineering/smoke/references/manifest.md +192 -0
  365. package/skills/engineering/smoke/scripts/smoke.mjs +713 -0
  366. package/skills/fullstack/better-auth/LICENSE +3 -0
  367. package/skills/fullstack/better-auth/SKILL.md +601 -0
  368. package/skills/fullstack/better-auth/references/feishu-api.md +270 -0
  369. package/skills/fullstack/monorepo/LICENSE +3 -0
  370. package/skills/fullstack/monorepo/SKILL.md +465 -0
  371. package/skills/fullstack/nextjs-fullstack/LICENSE +3 -0
  372. package/skills/fullstack/nextjs-fullstack/SKILL.md +210 -0
  373. package/skills/fullstack/nextjs-fullstack/conventions.md +318 -0
  374. package/skills/fullstack/nextjs-fullstack/frontend-conventions.md +61 -0
  375. package/skills/fullstack/nextjs-fullstack/nextjs16.md +287 -0
  376. package/skills/fullstack/nextjs-fullstack/server-actions.md +409 -0
  377. package/skills/fullstack/prisma-setup/LICENSE +3 -0
  378. package/skills/fullstack/prisma-setup/SKILL.md +180 -0
  379. package/skills/fullstack/prisma-setup/nextjs.md +258 -0
  380. package/skills/fullstack/prisma-setup/turborepo.md +301 -0
  381. package/skills/fullstack/shadcn/LICENSE +3 -0
  382. package/skills/fullstack/shadcn/SKILL.md +119 -0
  383. package/skills/fullstack/shadcn/assets/shadcn-small.png +0 -0
  384. package/skills/fullstack/shadcn/assets/shadcn.png +0 -0
  385. package/skills/fullstack/shadcn/cli.md +411 -0
  386. package/skills/fullstack/shadcn/customization.md +224 -0
  387. package/skills/fullstack/shadcn/evals/evals.json +90 -0
  388. package/skills/fullstack/shadcn/mcp.md +101 -0
  389. package/skills/fullstack/shadcn/rules/base-vs-radix.md +323 -0
  390. package/skills/fullstack/shadcn/rules/component-selection.md +67 -0
  391. package/skills/fullstack/shadcn/rules/composition.md +195 -0
  392. package/skills/fullstack/shadcn/rules/data-table.md +201 -0
  393. package/skills/fullstack/shadcn/rules/forms.md +255 -0
  394. package/skills/fullstack/shadcn/rules/icons.md +103 -0
  395. package/skills/fullstack/shadcn/rules/styling.md +167 -0
  396. package/skills/fullstack/zod-v4/LICENSE +3 -0
  397. package/skills/fullstack/zod-v4/SKILL.md +287 -0
@@ -0,0 +1,448 @@
1
+ {
2
+ "members": [
3
+ {
4
+ "installName": "batch-grill-me",
5
+ "ownership": "dependency",
6
+ "sourcePath": "skills/in-progress/batch-grill-me",
7
+ "expectedSource": {
8
+ "id": "matt-pocock",
9
+ "type": "external",
10
+ "repository": "https://github.com/mattpocock/skills",
11
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
12
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
13
+ }
14
+ },
15
+ {
16
+ "installName": "code-review",
17
+ "ownership": "dependency",
18
+ "sourcePath": "skills/engineering/code-review",
19
+ "expectedSource": {
20
+ "id": "matt-pocock",
21
+ "type": "external",
22
+ "repository": "https://github.com/mattpocock/skills",
23
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
24
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
25
+ }
26
+ },
27
+ {
28
+ "installName": "codebase-design",
29
+ "ownership": "dependency",
30
+ "sourcePath": "skills/engineering/codebase-design",
31
+ "expectedSource": {
32
+ "id": "matt-pocock",
33
+ "type": "external",
34
+ "repository": "https://github.com/mattpocock/skills",
35
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
36
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
37
+ }
38
+ },
39
+ {
40
+ "installName": "diagnosing-bugs",
41
+ "ownership": "dependency",
42
+ "sourcePath": "skills/engineering/diagnosing-bugs",
43
+ "expectedSource": {
44
+ "id": "matt-pocock",
45
+ "type": "external",
46
+ "repository": "https://github.com/mattpocock/skills",
47
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
48
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
49
+ }
50
+ },
51
+ {
52
+ "installName": "domain-modeling",
53
+ "ownership": "dependency",
54
+ "sourcePath": "skills/engineering/domain-modeling",
55
+ "expectedSource": {
56
+ "id": "matt-pocock",
57
+ "type": "external",
58
+ "repository": "https://github.com/mattpocock/skills",
59
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
60
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
61
+ }
62
+ },
63
+ {
64
+ "installName": "grill-me",
65
+ "ownership": "dependency",
66
+ "sourcePath": "skills/productivity/grill-me",
67
+ "expectedSource": {
68
+ "id": "matt-pocock",
69
+ "type": "external",
70
+ "repository": "https://github.com/mattpocock/skills",
71
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
72
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
73
+ }
74
+ },
75
+ {
76
+ "installName": "grill-with-docs",
77
+ "ownership": "dependency",
78
+ "sourcePath": "skills/engineering/grill-with-docs",
79
+ "expectedSource": {
80
+ "id": "matt-pocock",
81
+ "type": "external",
82
+ "repository": "https://github.com/mattpocock/skills",
83
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
84
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
85
+ }
86
+ },
87
+ {
88
+ "installName": "grilling",
89
+ "ownership": "dependency",
90
+ "sourcePath": "skills/productivity/grilling",
91
+ "expectedSource": {
92
+ "id": "matt-pocock",
93
+ "type": "external",
94
+ "repository": "https://github.com/mattpocock/skills",
95
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
96
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
97
+ }
98
+ },
99
+ {
100
+ "installName": "handoff",
101
+ "ownership": "dependency",
102
+ "sourcePath": "skills/productivity/handoff",
103
+ "expectedSource": {
104
+ "id": "matt-pocock",
105
+ "type": "external",
106
+ "repository": "https://github.com/mattpocock/skills",
107
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
108
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
109
+ }
110
+ },
111
+ {
112
+ "installName": "improve-codebase-architecture",
113
+ "ownership": "dependency",
114
+ "sourcePath": "skills/engineering/improve-codebase-architecture",
115
+ "expectedSource": {
116
+ "id": "matt-pocock",
117
+ "type": "external",
118
+ "repository": "https://github.com/mattpocock/skills",
119
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
120
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
121
+ }
122
+ },
123
+ {
124
+ "installName": "prototype",
125
+ "ownership": "dependency",
126
+ "sourcePath": "skills/engineering/prototype",
127
+ "expectedSource": {
128
+ "id": "matt-pocock",
129
+ "type": "external",
130
+ "repository": "https://github.com/mattpocock/skills",
131
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
132
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
133
+ }
134
+ },
135
+ {
136
+ "installName": "research",
137
+ "ownership": "dependency",
138
+ "sourcePath": "skills/engineering/research",
139
+ "expectedSource": {
140
+ "id": "matt-pocock",
141
+ "type": "external",
142
+ "repository": "https://github.com/mattpocock/skills",
143
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
144
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
145
+ }
146
+ },
147
+ {
148
+ "installName": "resolving-merge-conflicts",
149
+ "ownership": "dependency",
150
+ "sourcePath": "skills/engineering/resolving-merge-conflicts",
151
+ "expectedSource": {
152
+ "id": "matt-pocock",
153
+ "type": "external",
154
+ "repository": "https://github.com/mattpocock/skills",
155
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
156
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
157
+ }
158
+ },
159
+ {
160
+ "installName": "setup-matt-pocock-skills",
161
+ "ownership": "dependency",
162
+ "sourcePath": "skills/engineering/setup-matt-pocock-skills",
163
+ "expectedSource": {
164
+ "id": "matt-pocock",
165
+ "type": "external",
166
+ "repository": "https://github.com/mattpocock/skills",
167
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
168
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
169
+ }
170
+ },
171
+ {
172
+ "installName": "tdd",
173
+ "ownership": "dependency",
174
+ "sourcePath": "skills/engineering/tdd",
175
+ "expectedSource": {
176
+ "id": "matt-pocock",
177
+ "type": "external",
178
+ "repository": "https://github.com/mattpocock/skills",
179
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
180
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
181
+ }
182
+ },
183
+ {
184
+ "installName": "to-spec",
185
+ "ownership": "dependency",
186
+ "sourcePath": "skills/engineering/to-spec",
187
+ "expectedSource": {
188
+ "id": "matt-pocock",
189
+ "type": "external",
190
+ "repository": "https://github.com/mattpocock/skills",
191
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
192
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
193
+ }
194
+ },
195
+ {
196
+ "installName": "to-tickets",
197
+ "ownership": "dependency",
198
+ "sourcePath": "skills/engineering/to-tickets",
199
+ "expectedSource": {
200
+ "id": "matt-pocock",
201
+ "type": "external",
202
+ "repository": "https://github.com/mattpocock/skills",
203
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
204
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
205
+ }
206
+ },
207
+ {
208
+ "installName": "triage",
209
+ "ownership": "dependency",
210
+ "sourcePath": "skills/engineering/triage",
211
+ "expectedSource": {
212
+ "id": "matt-pocock",
213
+ "type": "external",
214
+ "repository": "https://github.com/mattpocock/skills",
215
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
216
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
217
+ }
218
+ },
219
+ {
220
+ "installName": "wayfinder",
221
+ "ownership": "dependency",
222
+ "sourcePath": "skills/engineering/wayfinder",
223
+ "expectedSource": {
224
+ "id": "matt-pocock",
225
+ "type": "external",
226
+ "repository": "https://github.com/mattpocock/skills",
227
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
228
+ "reviewedTree": "04b0fcb78e3de7c58744fcba2528354cc64ab988"
229
+ }
230
+ },
231
+ {
232
+ "installName": "harness-runtime",
233
+ "ownership": "dependency",
234
+ "sourcePath": "skills/engineering/harness-runtime",
235
+ "expectedSource": {
236
+ "id": "first-party",
237
+ "type": "first-party",
238
+ "package": "@1aboveio/skills",
239
+ "version": "0.10.0"
240
+ }
241
+ },
242
+ {
243
+ "installName": "e2e-test",
244
+ "ownership": "owned",
245
+ "sourcePath": "skills/engineering/e2e-test",
246
+ "expectedSource": {
247
+ "id": "first-party",
248
+ "type": "first-party",
249
+ "package": "@1aboveio/skills",
250
+ "version": "0.10.0"
251
+ }
252
+ },
253
+ {
254
+ "installName": "ensure-coverage",
255
+ "ownership": "owned",
256
+ "sourcePath": "skills/engineering/ensure-coverage",
257
+ "expectedSource": {
258
+ "id": "first-party",
259
+ "type": "first-party",
260
+ "package": "@1aboveio/skills",
261
+ "version": "0.10.0"
262
+ }
263
+ },
264
+ {
265
+ "installName": "implement-and-pr",
266
+ "ownership": "owned",
267
+ "sourcePath": "skills/engineering/implement-and-pr",
268
+ "expectedSource": {
269
+ "id": "first-party",
270
+ "type": "first-party",
271
+ "package": "@1aboveio/skills",
272
+ "version": "0.10.0"
273
+ }
274
+ },
275
+ {
276
+ "installName": "resolve-issues",
277
+ "ownership": "owned",
278
+ "sourcePath": "skills/engineering/resolve-issues",
279
+ "expectedSource": {
280
+ "id": "first-party",
281
+ "type": "first-party",
282
+ "package": "@1aboveio/skills",
283
+ "version": "0.10.0"
284
+ }
285
+ },
286
+ {
287
+ "installName": "resolve-release",
288
+ "ownership": "owned",
289
+ "sourcePath": "skills/engineering/resolve-release",
290
+ "expectedSource": {
291
+ "id": "first-party",
292
+ "type": "first-party",
293
+ "package": "@1aboveio/skills",
294
+ "version": "0.10.0"
295
+ }
296
+ },
297
+ {
298
+ "installName": "review-pr",
299
+ "ownership": "owned",
300
+ "sourcePath": "skills/engineering/review-pr",
301
+ "expectedSource": {
302
+ "id": "first-party",
303
+ "type": "first-party",
304
+ "package": "@1aboveio/skills",
305
+ "version": "0.10.0"
306
+ }
307
+ },
308
+ {
309
+ "installName": "smoke",
310
+ "ownership": "owned",
311
+ "sourcePath": "skills/engineering/smoke",
312
+ "expectedSource": {
313
+ "id": "first-party",
314
+ "type": "first-party",
315
+ "package": "@1aboveio/skills",
316
+ "version": "0.10.0"
317
+ }
318
+ },
319
+ {
320
+ "installName": "engineering-runtime",
321
+ "ownership": "owned",
322
+ "sourcePath": "skills/engineering/engineering-runtime",
323
+ "expectedSource": {
324
+ "id": "first-party",
325
+ "type": "first-party",
326
+ "package": "@1aboveio/skills",
327
+ "version": "0.10.0"
328
+ }
329
+ }
330
+ ],
331
+ "dependencyClosures": [
332
+ {
333
+ "invokedSkill": "resolve-issues",
334
+ "members": [
335
+ "tdd",
336
+ "harness-runtime",
337
+ "e2e-test",
338
+ "ensure-coverage",
339
+ "implement-and-pr",
340
+ "resolve-issues",
341
+ "review-pr",
342
+ "smoke",
343
+ "engineering-runtime"
344
+ ],
345
+ "generatedIdentities": [
346
+ {
347
+ "member": "resolve-issues",
348
+ "path": "generated/workflow-repair-policy.json"
349
+ }
350
+ ]
351
+ },
352
+ {
353
+ "invokedSkill": "resolve-release",
354
+ "members": [
355
+ "harness-runtime",
356
+ "e2e-test",
357
+ "ensure-coverage",
358
+ "resolve-issues",
359
+ "resolve-release",
360
+ "review-pr",
361
+ "smoke",
362
+ "engineering-runtime"
363
+ ],
364
+ "generatedIdentities": [
365
+ {
366
+ "member": "resolve-issues",
367
+ "path": "generated/workflow-repair-policy.json"
368
+ }
369
+ ]
370
+ }
371
+ ],
372
+ "repairRecipe": {
373
+ "id": "engineering-workflow-dependency-first",
374
+ "generatedFrom": "skills/distribution/generated/recipes.json",
375
+ "groupId": "engineering-workflow",
376
+ "lifecycle": "install",
377
+ "renderTarget": "public-npm",
378
+ "stopOnFailure": true,
379
+ "steps": [
380
+ {
381
+ "sourceId": "matt-pocock",
382
+ "sourceType": "external",
383
+ "repository": "https://github.com/mattpocock/skills",
384
+ "revision": "ed37663cc5fbef691ddfecd080dff42f7e7e350d",
385
+ "installPath": null,
386
+ "members": [
387
+ "batch-grill-me",
388
+ "code-review",
389
+ "codebase-design",
390
+ "diagnosing-bugs",
391
+ "domain-modeling",
392
+ "grill-me",
393
+ "grill-with-docs",
394
+ "grilling",
395
+ "handoff",
396
+ "improve-codebase-architecture",
397
+ "prototype",
398
+ "research",
399
+ "resolving-merge-conflicts",
400
+ "setup-matt-pocock-skills",
401
+ "tdd",
402
+ "to-spec",
403
+ "to-tickets",
404
+ "triage",
405
+ "wayfinder"
406
+ ],
407
+ "commands": [
408
+ {
409
+ "transport": "https",
410
+ "command": "SKILLS_DOWNLOAD_MAX_BYTES=33554432 SKILLS_EXTRACT_MAX_FILES=4096 SKILLS_EXTRACT_MAX_BYTES=67108864 npx skills@1.5.22 add https://codeload.github.com/mattpocock/skills/tar.gz/ed37663cc5fbef691ddfecd080dff42f7e7e350d --global --agent universal claude-code --skill batch-grill-me code-review codebase-design diagnosing-bugs domain-modeling grill-me grill-with-docs grilling handoff improve-codebase-architecture prototype research resolving-merge-conflicts setup-matt-pocock-skills tdd to-spec to-tickets triage wayfinder"
411
+ }
412
+ ],
413
+ "onFailure": {
414
+ "action": "stop",
415
+ "message": "Source matt-pocock fetch failed; stop this recipe before running another source."
416
+ }
417
+ },
418
+ {
419
+ "sourceId": "first-party",
420
+ "sourceType": "first-party",
421
+ "package": "@1aboveio/skills",
422
+ "version": "0.10.0",
423
+ "installPath": null,
424
+ "members": [
425
+ "harness-runtime",
426
+ "e2e-test",
427
+ "ensure-coverage",
428
+ "implement-and-pr",
429
+ "resolve-issues",
430
+ "resolve-release",
431
+ "review-pr",
432
+ "smoke",
433
+ "engineering-runtime"
434
+ ],
435
+ "commands": [
436
+ {
437
+ "transport": "npm",
438
+ "command": "npx @1aboveio/skills@0.10.0 install --group engineering-workflow"
439
+ }
440
+ ],
441
+ "onFailure": {
442
+ "action": "stop",
443
+ "message": "Source first-party fetch failed; stop this recipe before running another source."
444
+ }
445
+ }
446
+ ]
447
+ }
448
+ }
@@ -0,0 +1,82 @@
1
+ # The circuit-breaker — the threshold, the mechanized diagnosis, and what the loop decides on its own
2
+
3
+ This is the full procedure behind SKILL.md's [circuit-breaker](loop.md#3--fix-then-loop). Read it when a unit stops converging. The breaker is the **only** stuck-unit escalation — there is deliberately no cheaper advisory rung above it, because a stuck unit needs a *decision* and another model's opinion defers one by a round rather than making it.
4
+
5
+ It does not lower the exit bar. A unit still ends only on guarantee 3's independent verdict against its final HEAD.
6
+
7
+ ## The threshold — the 3rd completed review round
8
+
9
+ Mechanized in [`run-state.mjs record-breaker-decision`](../scripts/run-state.mjs); the manifest records `units[].breaker.firedOn`, always `review-rounds`, so the shape stays explicit in the hand-off and in any later analysis.
10
+
11
+ - **3rd completed *review* round with no PASS verdict → `firedOn: review-rounds` — the code keeps failing review.** A producer/fix spawn that dies with zero code — no completed review — does **not** advance the breaker at all: only a *completed* review round counts.
12
+
13
+ The threshold and the breaker's existence rest on a founding incident: epic-848's unit #848 ran nine review rounds without converging, and its round-6 PASS was reversed by later rounds ([the distilled record](incidents/848/README.md#what-the-incident-established) — raw evidence lives in the repo-root `incidents/848/`, deliberately outside the distributed skill).
14
+
15
+ ### Why there is no second, produce-pass threshold (removed)
16
+
17
+ There used to be a second breaker (issue #382) that counted producer/fix *spawns* and fired at 3 with no passing review — the "the contract keeps changing" #376 shape, designed to fire *before* any review ran. It was removed. It counted passes AT SPAWN TIME (`record-produce-pass`, "in the same turn you spawn it"), so a spawn that died mid-flight with zero code still incremented the count. Passes 1–2 could produce nothing, no review could have run, and the count still reached 3 and false-fired "the contract keeps changing" — a real incident this session, recovered by a human `continue`. Counting at spawn time also contradicted [`spawn-contract.md`](spawn-contract.md)'s own rule that "a partial counts exactly as a missing one for every gate". The surviving review-rounds breaker counts only *completed* reviews, so a dead spawn can never inflate it. The dropped capability — firing before any review runs (#376) — is an accepted tradeoff. (Legacy manifests that recorded `firedOn: produce-passes` still validate on read-back; the code never writes that value again.)
18
+
19
+ ## The diagnosis is computed, not written
20
+
21
+ `run-state.mjs diagnose-breaker <slug> <unit>` reads `units[].rounds[].themeIds` and returns the signal, the recommended decision, the evidence, and the verbatim text. **Exit 0 = the loop may take this decision itself; exit 1 = this firing owes the human an answer.**
22
+
23
+ | Signal | What the round log shows | Recommendation |
24
+ |---|---|---|
25
+ | `recurring-theme` | one theme raised in ≥ `THEME_RECURRENCE_LIMIT` (3) rounds | `continue` **with a class-complete mandate** — then `split` if the theme survives it |
26
+ | `churning-themes` | ≥ 2× as many distinct themes as rounds that named one | `design` — the literal `/grill-with-docs` redirect |
27
+ | `converging` | themes turning over, none recurring | `continue` |
28
+ | `insufficient-data` | fewer than 2 rounds recorded a theme | none — the human decides |
29
+
30
+ **Why this is a script and not a paragraph.** The rule was prose until 2026-07-22, and an audit of 127 run manifests (522 units, 18 that fired, 27 firings) found the recurring-theme branch had **never once been taken**:
31
+
32
+ | Unit | Theme | Rounds naming it | Decision taken |
33
+ |---|---|---|---|
34
+ | #523 | `deploy-prod-auto-promote` | 5 of 5 | `continue`, `continue` |
35
+ | #400 | `help-usage-accuracy` | 3 of 4 | `continue` |
36
+ | #405 | `condition-c-prose-evidence` | 2 of 5 | `continue`, `continue` |
37
+
38
+ 19 of 27 decisions were `continue`. **Corrected 2026-07-26:** that audit also reported `split` "never on a real unit", and re-measuring 246 live manifests / 602 units shows otherwise — **continue 17 · design 6 · split 5 · descope 0**, with three further splits in epic-848 recorded only as blocker prose that never reached the breaker at all. `split` is the second most common explicit decision; `descope` really is zero. The stale half of that sentence was used to argue against automating `split` before anyone re-measured, which is the hazard of quoting an audit without re-running it. A rule an agent applies from memory mid-gate degrades to its cheapest branch — the same failure class as the paraphrased `/grill-with-docs` redirect and the relative-`skillsRoot` lookalike. The data that decides it was in the manifest the whole time, so the diagnosis is a computation, not a judgment.
39
+
40
+ Recurrence counts **rounds, not mentions** — a round listing eight themes is one round of evidence about each, and counting mentions would let a single scattergun review outvote a genuine streak.
41
+
42
+ ## The recurring-theme remedy — applied once, before a human is spent
43
+
44
+ A recurring theme does **not** go straight to a split. The doctrine already prescribes the fix (SKILL.md: *close the invariant class, not the counterexample*), and #523's five rounds were five *instance* fixes — the remedy was never applied. So the first firing on a recurring theme mandates it:
45
+
46
+ > One more round, class-complete on that theme: force full scope (withhold `lastReviewedSha`) and require the fix to name the invariant class it closes and the adjacent members it checked.
47
+
48
+ Recorded as `units[].breaker.classCompleteFor`. If the theme **survives** that round, the unit is mis-sized and the next firing takes the `split`/`descope` decision — the split is the loop's under `autonomy: autonomous` and the human's under `supervised`; a descope is the human's at every level.
49
+
50
+ The mandate is spent only when its authorized round **completes** — not when it is recorded. Reading its mere existence as "already tried" flips the diagnosis to `split` the instant it is written, so the class-complete round never runs and every recurring theme escalates straight to a human: worse than the prose version, on exactly the units this exists to keep moving.
51
+
52
+ ## What the loop decides on its own (`breakerAutonomy`)
53
+
54
+ Default **`auto`**; `run-state.mjs set <slug> breakerAutonomy ask` restores a stop on every firing (and `--autonomy ask` overrides it for one invocation). The split is by **reversibility, not convenience**:
55
+
56
+ - **`continue` — autonomous.** Spends one more bounded round. Cheap, reversible, ceiling-capped.
57
+ - **`design` — autonomous.** Routes to `/grill-with-docs`, which is *itself* a human interview, and `record-intake-reentry` already refuses it unless the contract SHA moved. Automating the decision does not remove the human; it stops asking permission to ask them.
58
+ - **`split` — the loop's under `autonomy: autonomous`, the human's under `supervised`.** A split *re-slices*; it does not ship less, which is what separates it from `descope`. It also fires precisely where the loop hurts most: a unit that survived three failing review rounds plus a class-complete mandate carries the largest diff and the longest finding list, so every further round costs the producer and the reviewer their scarcest resource. Splitting is the one remedy that shrinks the per-round load rather than adding to it — and that matters more the tighter the implementer's context is. Enforced in state, and the record carries its own authorization: `autoApplied: true` on a split is refused unless the same breaker entry stamps `autonomyAtDecision: "autonomous"`. Auto-applied or not, a split that **drops** a slice owes a `deferrals[]` entry with a tracking issue — without one it is a `descope` wearing another label, and `deferrals` already refuses an untracked entry.
59
+ - **`descope` — always the human's, at every level.** It is the one decision that delivers less than was asked, and the one failure that leaves no trace in the handoff: every other autonomous decision shows up as rounds spent, which is visible. Zero uses in 602 units. Enforced in state — `autoApplied: true` on a descope is a validation error however it is stamped.
60
+
61
+ `record-breaker-decision --auto` takes the computed decision; it **refuses** rather than falling back to a human-shaped write, because a silent fallback there would be the loop recording a decision nobody made. Every autonomous decision is stamped `autoApplied: true` + `signal`, so the handoff separates what the loop decided from what you did.
62
+
63
+ **The ceiling.** Autonomy removes the human stop that used to bound the loop, so `BREAKER_TOTAL_ROUND_CEILING` (**8**) replaces it: no auto-decision at or above it, ever. Observed round counts across the audited units were `1:23 2:14 3:10 4:5 5:3 8:1` — a unit reaching 8 has spent more rounds than any that ever converged. Past the ceiling the breaker is a hard stop-and-ask whatever the diagnosis says; the epic-848 grind is the failure this number makes unreachable. It binds the **autonomous** path only — a human deciding on round 9 has seen the round count and is making an informed call, which is exactly the state the breaker wanted to reach.
64
+
65
+ ## When it does reach a human
66
+
67
+ **Hand a diagnosis with a recommendation, never a neutral menu** — `diagnose-breaker` emits the text; pass it through rather than re-writing it (a paraphrase like *"do a design reset"* loses the `/grill-with-docs` redirect, which is the whole point). Then list the rest (split / design pass / descope / continue).
68
+
69
+ **A second consecutive NEEDS_CHANGES on the same theme is an input to the diagnosis, not a rung of its own.** It means the implementer is circling a blind spot *or the reviewer is over-blocking*, and you cannot tell which — you don't read the diff, and the reviewer grades its own bar. That ambiguity is why `THEME_RECURRENCE_LIMIT` is 3 and not 2. Carry it into the diagnosis explicitly; don't let it quietly become "the implementer is wrong."
70
+
71
+ **A decision that contradicts the computed recommendation warns, never fails.** The human may see what the round log cannot. But it is surfaced by `validate` — a *logging* gate that can hard-fail is one an orchestrator learns to stop calling, and this warning is what would have flagged #523/#400/#405 while they were still running.
72
+
73
+ ## Routing, enforced in state
74
+
75
+ - **`continue`** authorizes exactly one further round. Then the gate re-fires. Under `auto` this re-fire costs no interrupt, which is why the grant stays at 1: every firing re-runs the diagnosis against the newest round, so a unit that starts converging is re-read as converging.
76
+ - **`design` / `split` / `descope`** block every fix and review transition until `record-intake-reentry` marks the unit as having gone back through intake (re-entering from the top — scope, design, and risk gates included), which grants a fresh round budget.
77
+ - Rounds beyond what a decision authorizes are **invalid manifest state** — what catches a lean-lane unit that advances through `upsert-unit` and never touches a transition command.
78
+ - **A design decision is authorized by the artifact, not by the word — and a decision cannot be taken twice.** Both are mechanized in `record-intake-reentry`, because the failure looks like progress: the human decides, the loop re-enters, and the producer runs again against the *same* contract that fired the breaker. So (i) a `design` re-entry requires `units[].contractRevision.sha` to have **moved** since the firing (the breaker stamps `contractShaAtDecision`; re-entry compares against it), and (ii) a decision that already spent a re-entry on this unit cannot buy a second one — a repeat is a hand-back, and the human takes a *different* decision or the unit leaves the loop. The other decisions stay reachable, so this is a hand-back, never a dead end.
79
+
80
+ A stop-and-ask, never an auto-abandon.
81
+
82
+ (Named incidents: ten rounds re-deriving an unwritten contract; a first firing that handed a recommendation-free menu and paraphrased away the `/grill-with-docs` redirect; seven rounds over ~6.4 hours with no breaker state ever written, because prose cannot refuse a transition; epic-986 unit #996, which fired → `design` → re-entry → fired again on review-rounds → `design` → re-entry, both firings correctly diagnosing the same unwritten trust boundary, ~5 of the run's 7 hours on that one unit, with the archive recording both laps and refusing neither.)
@@ -0,0 +1,27 @@
1
+ # Deliverables: the shippable component, not the whole epic
2
+
3
+ How a passing unit becomes a delivered, merge-ready component. Previous:
4
+ [loop.md](loop.md). The queue mechanics this consumes live in
5
+ [delivery.md](delivery.md).
6
+
7
+ ## Deliverables: the shippable component, not the whole epic
8
+
9
+ Per-unit green proves each PR **in isolation**. The integration gate closes that blind spot, but the deliverable it produces is scoped to a **component**, not the epic. → [why](why.md#the-component-not-the-epic)
10
+
11
+ **A component is a maximal set of units that must merge together:** units bound by a **shared surface** (the integration-risk class — one slice's test asserts a button a sibling deleted) or by an **unmerged dependency edge** (a stacked unit references its dependency's symbols, so it can't merge before that dependency is in the target). Units in separate components have neither reason to be coupled — bundling them into one epic-wide PR is what lets a single stuck unit freeze finished ones.
12
+
13
+ **The integration gate runs per component, progressively and then terminally** — [references/integration-gate.md](integration-gate.md) via [`scripts/combine-and-verify.mjs`](../scripts/combine-and-verify.mjs). Every preliminary unit PASS updates the candidate so conflicts and integrated-test failures surface before the roster finishes. Once complete and clean, freeze the candidate; then run one terminal exact-head integrated CI + review + smoke and record its component-HEAD authorization. `ALIVE` plus that authorization and a combined PR (CI green on its own HEAD, `Closes #<n>` per unit, unit PRs drafted + cross-linked) is the component deliverable. Single-unit components use their unit PR but still freeze and terminally authorize the assembled target-based candidate.
14
+
15
+ **When smoke genuinely cannot run** — a repo with no bootable surface and no curated golden-path manifest (this skills repo is the standing example) — record `gates.smoke = 'not-applicable'` **with a `smokeNotApplicableReason`**; the reasoned N/A reaches `ALIVE`, an unreasoned one stays DEAD, and fabricating an `ALIVE` the app never earned is still forbidden. A **`no-surface` unit takes this same path** — not a skip, and no new machinery: the only difference is that its reason is **derived from the scope class** (`scope-class.mjs`'s `scopeSmokeReason`, carried as `smokeNotApplicableReason` in the classifier's JSON) rather than written per run. Guardrails in full: [integration-gate.md § step 4](integration-gate.md).
16
+
17
+ **A component is *independently shippable* when** its own bar is met — every unit merge-ready (CI-green + independent APPROVE on its HEAD), integration verdict `ALIVE` — **and every dependency it needs is already merged into the target.** Note the direction: a completed *upstream* component ships even while *downstream* dependents are stuck; a dependency never waits on its dependents.
18
+
19
+ **`merge-ready` is not an exit — it means a component member is awaiting delivery, and delivery is gated like every other transition.** Once every valid declared member reaches it, the component owes one **terminal outcome**: `merged`, or `handed-back` with `blockedOn` quoting the unsatisfied condition verbatim from the merge tool. Anything else is in-flight, and the handoff reports its members **undelivered, not done**. Record the authorized generation once with `run-state.mjs record-component-delivery-attempt|observation|outcome`; older manifests lacking a component record retain the legacy unit commands.
20
+
21
+ **Only ancestry is a result.** A merge tool's return code, a queue acknowledgement and an auto-merge flag are all *requests* — `merged` owes a `mergedSha` proved contained in the freshly-fetched `origin/<targetBranch>` by [`combine-and-verify.mjs delivered`](../scripts/combine-and-verify.mjs), and on a queue that SHA is the PR's **merge commit**, not its branch head. → [why](why.md#delivery-only-ancestry-is-a-result)
22
+
23
+ **The merge path is a pre-flight decision (`deliveryMode` **and** `queueProvider`), probed and never assumed** — [`detect-delivery-mode.mjs`](../scripts/detect-delivery-mode.mjs). The probe fails closed, and `record-component-delivery-attempt` refuses an action that does not belong to the run's mode or current terminally authorized component generation. **The mode picks the state machine; the provider picks the mechanics** — `queue` is two flows (Mergify, GitHub-native) differing in how you enqueue, where state is read, what a dequeue reason is called, and whether a nudge or an acknowledgement exists at all. Ask `run-state.mjs delivery-flow <slug>` for this run's flow and its exact commands rather than reading prose and picking; a queue whose provider is unsettled refuses to act rather than guessing.
24
+
25
+ **Merge only with the standing authorization (`mergeShippable`) and the authorized frozen component HEAD, only into `targetBranch`, never to production** — `combine-and-verify.mjs mergeable --component <id>` reads the combined PR's live `headRefOid` and fails closed unless it equals the current frozen candidate with terminal exact-head integrated evidence. Absent authorization the default holds: hand the component back merge-ready and merge nothing (guarantee 4). An epic is done when every component is either merged or handed back with its `ALIVE` verdict.
26
+
27
+ The mechanics — the two flows and how to ask which one you are in, the three-step enqueue (eligible · requested · acknowledged), the stall-bounded watch with its one nudge, the dequeue-reason routing table, and the merge gate's own checks: [references/delivery.md](delivery.md).