@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,3 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 1AboveIO
@@ -0,0 +1,316 @@
1
+ ---
2
+ name: cloud-debug
3
+ description: Debug Cloud Build and Cloud Deploy failures. Use when builds fail, deployments hang, health checks fail, or Cloud Deploy pipelines error. Accepts service name, build ID, region as parameters.
4
+ ---
5
+
6
+ # Cloud Build & Cloud Deploy Debug Skill
7
+
8
+ **Stack:** Cloud Build | Cloud Deploy | Cloud Run | Cloud Run Jobs | Secret Manager
9
+
10
+ ## Required Parameters
11
+
12
+ Gather these from user or infer from context:
13
+
14
+ | Parameter | Description | Example |
15
+ |-----------|-------------|---------|
16
+ | `REGION` | GCP region | us-central1 |
17
+ | `SERVICE` | Cloud Run service name | my-api |
18
+ | `BUILD_ID` | Cloud Build ID | abc123-def456 |
19
+ | `PIPELINE` | Cloud Deploy pipeline name | my-pipeline-prod |
20
+ | `RELEASE` | Release name | my-release-v1 |
21
+ | `ROLLOUT` | Rollout name | my-release-v1-to-prod-0001 |
22
+ | `JOB` | Cloud Run job name | my-job |
23
+ | `COMMIT_SHA` | Git commit hash (full or short) | abc123def or abc123def456... |
24
+
25
+ ---
26
+
27
+ ## Diagnostic Workflow
28
+
29
+ ```
30
+ User reports failure Track commit
31
+ | |
32
+ v v
33
+ +-------------------+ Get commit SHA
34
+ | What type of | |
35
+ | failure? | v
36
+ +-------------------+ Find build by SHA
37
+ | |
38
+ +----+----+------------+ v
39
+ v v v Monitor build
40
+ Build Deployment Pipeline |
41
+ | | | v
42
+ v v v Find release
43
+ Get Get Cloud Get release/ |
44
+ build ID Run service pipeline name v
45
+ | | | Monitor render
46
+ v v v |
47
+ Pull Pull Pull render/ v
48
+ build service rollout logs Monitor rollout
49
+ logs logs
50
+ ```
51
+
52
+ ---
53
+
54
+ ## Quick Diagnostics
55
+
56
+ ### 1. Build Failures
57
+
58
+ ```bash
59
+ # List recent failed builds
60
+ gcloud builds list --region=$REGION --filter="status=FAILURE" --limit=5
61
+
62
+ # Stream build logs
63
+ gcloud builds log $BUILD_ID --region=$REGION --stream
64
+
65
+ # Get detailed build info
66
+ gcloud builds describe $BUILD_ID --region=$REGION --format="yaml(steps,status,statusDetail)"
67
+
68
+ # Check build service account
69
+ gcloud builds describe $BUILD_ID --region=$REGION --format="value(serviceAccount)"
70
+
71
+ # List builds by trigger
72
+ gcloud builds list --region=$REGION --filter="substitutions.TRIGGER_NAME=$TRIGGER"
73
+ ```
74
+
75
+ Load [references/build-failures.md](references/build-failures.md) when diagnosing a build step failure — covers Dockerfile errors, dependency issues, and timeout patterns.
76
+
77
+ ### 2. Deployment Failures
78
+
79
+ ```bash
80
+ # Check service status
81
+ gcloud run services describe $SERVICE --region=$REGION
82
+
83
+ # Get service details including errors
84
+ gcloud run services describe $SERVICE --region=$REGION --format="yaml(status)"
85
+
86
+ # Tail service logs (real-time)
87
+ gcloud run services logs tail $SERVICE --region=$REGION
88
+
89
+ # Read recent service logs
90
+ gcloud run services logs read $SERVICE --region=$REGION --limit=50
91
+
92
+ # List revisions
93
+ gcloud run revisions list --service=$SERVICE --region=$REGION
94
+
95
+ # Get revision details
96
+ gcloud run revisions describe $REVISION --region=$REGION
97
+ ```
98
+
99
+ Load [references/deploy-failures.md](references/deploy-failures.md) when diagnosing deploy or rollout failures — covers health checks, startup probes, and revision scaling.
100
+
101
+ ### 3. Job Failures
102
+
103
+ ```bash
104
+ # List job executions
105
+ gcloud run jobs executions list --job=$JOB --region=$REGION
106
+
107
+ # Get execution logs
108
+ gcloud run jobs executions logs $EXECUTION --job=$JOB --region=$REGION
109
+
110
+ # Get execution details
111
+ gcloud run jobs executions describe $EXECUTION --job=$JOB --region=$REGION
112
+
113
+ # Execute job manually (for testing)
114
+ gcloud run jobs execute $JOB --region=$REGION --wait
115
+ ```
116
+
117
+ ### 4. Pipeline Failures
118
+
119
+ ```bash
120
+ # List pipelines
121
+ gcloud deploy delivery-pipelines list --region=$REGION
122
+
123
+ # List recent releases
124
+ gcloud deploy releases list --delivery-pipeline=$PIPELINE --region=$REGION --limit=5
125
+
126
+ # Check release render status
127
+ gcloud deploy releases describe $RELEASE --delivery-pipeline=$PIPELINE --region=$REGION --format="yaml(renderState,targetRenders)"
128
+
129
+ # List rollouts for a release
130
+ gcloud deploy rollouts list --release=$RELEASE --delivery-pipeline=$PIPELINE --region=$REGION
131
+
132
+ # Get rollout phase details
133
+ gcloud deploy rollouts describe $ROLLOUT --release=$RELEASE --delivery-pipeline=$PIPELINE --region=$REGION --format="yaml(phases)"
134
+
135
+ # List job runs (custom actions, verify, predeploy, postdeploy)
136
+ gcloud deploy job-runs list --rollout=$ROLLOUT --release=$RELEASE --delivery-pipeline=$PIPELINE --region=$REGION
137
+
138
+ # Get job run details
139
+ gcloud deploy job-runs describe $JOB_RUN --rollout=$ROLLOUT --release=$RELEASE --delivery-pipeline=$PIPELINE --region=$REGION
140
+ ```
141
+
142
+ Load [references/pipeline-failures.md](references/pipeline-failures.md) when diagnosing Cloud Deploy pipeline issues — covers promotion failures, verification errors, and target configuration.
143
+
144
+ ### 5. Track Commit Through Pipeline
145
+
146
+ Monitor the full pipeline (build → release → rollout) for a specific commit hash.
147
+
148
+ **Step 1: Find and Monitor Build**
149
+ ```bash
150
+ # Find the latest build for a commit
151
+ gcloud builds list --region=$REGION \
152
+ --filter="substitutions.COMMIT_SHA=$COMMIT_SHA OR substitutions.SHORT_SHA=$COMMIT_SHA" \
153
+ --limit=1 \
154
+ --format="value(id,status)"
155
+
156
+ # Monitor build until completion (poll every 15 seconds)
157
+ BUILD_ID=$(gcloud builds list --region=$REGION \
158
+ --filter="substitutions.COMMIT_SHA=$COMMIT_SHA" \
159
+ --limit=1 --format="value(id)")
160
+
161
+ while true; do
162
+ STATUS=$(gcloud builds describe $BUILD_ID --region=$REGION --format="value(status)")
163
+ echo "[$(date +%H:%M:%S)] Build $BUILD_ID: $STATUS"
164
+ case $STATUS in
165
+ SUCCESS) echo "✓ Build succeeded"; break ;;
166
+ FAILURE|TIMEOUT|CANCELLED|EXPIRED) echo "✗ Build failed: $STATUS"; exit 1 ;;
167
+ QUEUED|WORKING|PENDING) sleep 15 ;;
168
+ esac
169
+ done
170
+ ```
171
+
172
+ **Step 2: Find Cloud Deploy Release**
173
+ ```bash
174
+ # Get the release name from build substitutions or find by timing
175
+ gcloud deploy releases list \
176
+ --delivery-pipeline=$PIPELINE \
177
+ --region=$REGION \
178
+ --filter="createTime>$(date -u -d '5 minutes ago' +%Y-%m-%dT%H:%M:%SZ)" \
179
+ --limit=1 \
180
+ --format="value(name)"
181
+
182
+ # Or list recent releases to find the one created by build
183
+ gcloud deploy releases list \
184
+ --delivery-pipeline=$PIPELINE \
185
+ --region=$REGION \
186
+ --limit=5 \
187
+ --format="table(name,renderState,createTime)"
188
+ ```
189
+
190
+ **Step 3: Monitor Release Render**
191
+ ```bash
192
+ # Check release render status
193
+ while true; do
194
+ RENDER_STATE=$(gcloud deploy releases describe $RELEASE \
195
+ --delivery-pipeline=$PIPELINE \
196
+ --region=$REGION \
197
+ --format="value(renderState)")
198
+ echo "[$(date +%H:%M:%S)] Release render: $RENDER_STATE"
199
+ case $RENDER_STATE in
200
+ SUCCEEDED) echo "✓ Render succeeded"; break ;;
201
+ FAILED) echo "✗ Render failed"; exit 1 ;;
202
+ *) sleep 10 ;;
203
+ esac
204
+ done
205
+ ```
206
+
207
+ **Step 4: Monitor Rollout to Target**
208
+ ```bash
209
+ # Find the rollout for the release
210
+ ROLLOUT=$(gcloud deploy rollouts list \
211
+ --release=$RELEASE \
212
+ --delivery-pipeline=$PIPELINE \
213
+ --region=$REGION \
214
+ --limit=1 \
215
+ --format="value(name)")
216
+
217
+ # Monitor rollout status
218
+ while true; do
219
+ ROLLOUT_STATE=$(gcloud deploy rollouts describe $ROLLOUT \
220
+ --release=$RELEASE \
221
+ --delivery-pipeline=$PIPELINE \
222
+ --region=$REGION \
223
+ --format="value(state)")
224
+ echo "[$(date +%H:%M:%S)] Rollout $ROLLOUT: $ROLLOUT_STATE"
225
+ case $ROLLOUT_STATE in
226
+ SUCCEEDED) echo "✓ Deployment succeeded!"; break ;;
227
+ FAILED|CANCELLED) echo "✗ Deployment failed: $ROLLOUT_STATE"; exit 1 ;;
228
+ PENDING_APPROVAL) echo "⏸ Awaiting approval"; sleep 30 ;;
229
+ *) sleep 15 ;;
230
+ esac
231
+ done
232
+ ```
233
+
234
+ **Quick Alternative: Stream Build Logs**
235
+ ```bash
236
+ # Stream build logs (blocks until complete, shows real-time output)
237
+ gcloud builds log $BUILD_ID --region=$REGION --stream
238
+ ```
239
+
240
+ ---
241
+
242
+ ## Recovery Commands
243
+
244
+ ```bash
245
+ # Retry failed job in rollout
246
+ gcloud deploy rollouts retry-job $ROLLOUT \
247
+ --release=$RELEASE \
248
+ --delivery-pipeline=$PIPELINE \
249
+ --region=$REGION \
250
+ --job-id=$JOB_ID \
251
+ --phase-id=$PHASE_ID
252
+
253
+ # Approve rollout (for approval-gated targets)
254
+ gcloud deploy rollouts approve $ROLLOUT \
255
+ --release=$RELEASE \
256
+ --delivery-pipeline=$PIPELINE \
257
+ --region=$REGION
258
+
259
+ # Cancel a rollout
260
+ gcloud deploy rollouts cancel $ROLLOUT \
261
+ --release=$RELEASE \
262
+ --delivery-pipeline=$PIPELINE \
263
+ --region=$REGION
264
+ ```
265
+
266
+ ---
267
+
268
+ ## Secret Manager Diagnostics
269
+
270
+ ```bash
271
+ # List secrets
272
+ gcloud secrets list
273
+
274
+ # Verify secret exists and has versions
275
+ gcloud secrets versions list $SECRET_NAME
276
+
277
+ # Access secret value (debugging only)
278
+ gcloud secrets versions access latest --secret=$SECRET_NAME
279
+
280
+ # Check IAM permissions on secret
281
+ gcloud secrets get-iam-policy $SECRET_NAME
282
+ ```
283
+
284
+ ---
285
+
286
+ ## Closed-Loop Execution (Incident Handling)
287
+
288
+ - After any monitor/describe/log tail, always state `Next step:` and what you will do next.
289
+ - DONE criteria: root cause identified + fix applied + redeploy/verification completed + short clean-log window. If not achievable, escalate with captured evidence.
290
+ - Timebox streaming monitors to 5–10 minutes, then describe/pinpoint the failing step.
291
+ - On `FAILURE`, immediately capture: failing step, key error lines, and link/log pointers. Then loop: debug → fix → rerun → monitor.
292
+ - Escalation boundary: ask before risky ops (prod migrations/seeds, rollbacks, IAM/VPC/secrets changes, deletions).
293
+
294
+ Checklist template:
295
+ ```
296
+ [ ] Issue + scope
297
+ [ ] Last good / first bad
298
+ [ ] Monitor/describe run
299
+ [ ] Next step:
300
+ [ ] Root cause
301
+ [ ] Fix + redeploy/verify
302
+ [ ] Clean logs (short window)
303
+ [ ] Escalate w/ evidence (if needed)
304
+ ```
305
+
306
+ ---
307
+
308
+ ## Usage Pattern
309
+
310
+ 1. **Ask what failed** - Build? Deployment? Pipeline? Or track a commit?
311
+ 2. **Gather identifiers** - Region, service/build/pipeline name, or commit SHA
312
+ 3. **Run diagnostic commands** - Pull logs, describe resources
313
+ 4. **Analyze output** - Match against known failure patterns
314
+ 5. **Propose resolution** - Suggest fix based on pattern match
315
+
316
+ **Track commit mode**: Monitor full pipeline (build → release → rollout) for a commit hash until success or failure. Use when user pushes code and wants to track deployment progress.
@@ -0,0 +1,238 @@
1
+ # Cloud Build Failure Patterns
2
+
3
+ ## Common Failures
4
+
5
+ | Symptom | Likely Cause | Resolution |
6
+ |---------|--------------|------------|
7
+ | `docker build` fails with missing package | Missing system dependency | Add to `apt-get install` in Dockerfile |
8
+ | Tests pass locally but fail in CI | Missing env vars or secrets | Check `secretEnv` and `env` in cloudbuild.yaml |
9
+ | `permission denied` pushing to Artifact Registry | IAM misconfiguration | Grant `roles/artifactregistry.writer` to Cloud Build SA |
10
+ | Build timeout | Step takes too long | Increase `timeout` in cloudbuild.yaml or optimize step |
11
+ | Secret access denied | Missing IAM binding | Grant `roles/secretmanager.secretAccessor` to Cloud Build SA |
12
+ | `pnpm install` fails | Lockfile mismatch | Run `pnpm install` locally, commit lockfile |
13
+ | `npm ci` fails | package-lock.json out of sync | Run `npm install` locally, commit lockfile |
14
+ | `pip install` fails | Missing system libs | Add build dependencies to Dockerfile (libpq-dev, etc.) |
15
+
16
+ ---
17
+
18
+ ## Docker Build Failures
19
+
20
+ ### Missing System Dependencies
21
+
22
+ **Symptom:**
23
+ ```
24
+ E: Unable to locate package libldap2-dev
25
+ ```
26
+
27
+ **Fix:** Add missing packages to your Dockerfile or test step:
28
+ ```dockerfile
29
+ RUN apt-get update && apt-get install -y \
30
+ libldap2-dev \
31
+ libsasl2-dev \
32
+ libpq-dev
33
+ ```
34
+
35
+ ### Multi-stage Build Issues
36
+
37
+ **Symptom:**
38
+ ```
39
+ COPY failed: file not found in build context
40
+ ```
41
+
42
+ **Fix:** Ensure files are in the correct stage and context:
43
+ ```dockerfile
44
+ # Copy from builder stage
45
+ COPY --from=builder /app/dist ./dist
46
+ ```
47
+
48
+ ### Build Context Issues (Monorepo)
49
+
50
+ **Symptom:**
51
+ ```
52
+ COPY packages/lib ./packages/lib
53
+ COPY failed: file not found
54
+ ```
55
+
56
+ **Fix:** Set build context to repository root in cloudbuild.yaml:
57
+ ```yaml
58
+ - name: 'gcr.io/cloud-builders/docker'
59
+ args: ['build', '-t', '$_IMAGE', '-f', 'frontend/portal/Dockerfile', '.']
60
+ # Context is repo root (.), Dockerfile path is explicit
61
+ ```
62
+
63
+ ---
64
+
65
+ ## Test Failures
66
+
67
+ ### Missing Environment Variables
68
+
69
+ **Symptom:** Tests pass locally, fail in CI with undefined config errors.
70
+
71
+ **Fix:** Add required env vars to cloudbuild.yaml:
72
+ ```yaml
73
+ steps:
74
+ - id: 'test'
75
+ name: 'node:20'
76
+ env:
77
+ - 'NODE_ENV=test'
78
+ - 'DATABASE_URL=postgresql://localhost:5432/test'
79
+ ```
80
+
81
+ ### Missing Secrets
82
+
83
+ **Symptom:**
84
+ ```
85
+ Error: Secret not found or access denied
86
+ ```
87
+
88
+ **Fix:** Add `secretEnv` and `availableSecrets`:
89
+ ```yaml
90
+ steps:
91
+ - id: 'test'
92
+ name: 'node:20'
93
+ secretEnv: ['API_KEY']
94
+
95
+ availableSecrets:
96
+ secretManager:
97
+ - versionName: projects/$PROJECT_ID/secrets/api-key/versions/latest
98
+ env: 'API_KEY'
99
+ ```
100
+
101
+ ### Database Connection in Tests
102
+
103
+ **Symptom:** Integration tests fail with connection refused.
104
+
105
+ **Fix:** Use Cloud Build's Docker network or mock the database:
106
+ ```yaml
107
+ steps:
108
+ - id: 'start-postgres'
109
+ name: 'gcr.io/cloud-builders/docker'
110
+ args: ['run', '-d', '--name=postgres', '--network=cloudbuild',
111
+ '-e', 'POSTGRES_PASSWORD=test', 'postgres:15']
112
+
113
+ - id: 'wait-for-postgres'
114
+ name: 'gcr.io/cloud-builders/docker'
115
+ args: ['run', '--network=cloudbuild', 'postgres:15',
116
+ 'sh', '-c', 'until pg_isready -h postgres; do sleep 1; done']
117
+ ```
118
+
119
+ ---
120
+
121
+ ## Permission Issues
122
+
123
+ ### Artifact Registry Push Failed
124
+
125
+ **Symptom:**
126
+ ```
127
+ denied: Permission "artifactregistry.repositories.uploadArtifacts" denied
128
+ ```
129
+
130
+ **Fix:** Grant permissions to Cloud Build service account:
131
+ ```bash
132
+ # Get the Cloud Build SA
133
+ PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
134
+ SA="${PROJECT_NUMBER}@cloudbuild.gserviceaccount.com"
135
+
136
+ # Grant Artifact Registry Writer
137
+ gcloud artifacts repositories add-iam-policy-binding $REPO \
138
+ --location=$REGION \
139
+ --member="serviceAccount:$SA" \
140
+ --role="roles/artifactregistry.writer"
141
+ ```
142
+
143
+ ### Secret Access Denied
144
+
145
+ **Symptom:**
146
+ ```
147
+ Error: Permission denied on secret
148
+ ```
149
+
150
+ **Fix:** Grant Secret Manager access:
151
+ ```bash
152
+ gcloud secrets add-iam-policy-binding $SECRET_NAME \
153
+ --member="serviceAccount:$SA" \
154
+ --role="roles/secretmanager.secretAccessor"
155
+ ```
156
+
157
+ ---
158
+
159
+ ## Timeout Issues
160
+
161
+ ### Build Timeout vs Step Timeout
162
+
163
+ **Build timeout** - Total time for entire build (default: 10 minutes)
164
+ ```yaml
165
+ timeout: '1800s' # 30 minutes for entire build
166
+ ```
167
+
168
+ **Step timeout** - Time for individual step (default: unlimited within build timeout)
169
+ ```yaml
170
+ steps:
171
+ - id: 'long-step'
172
+ timeout: '600s' # 10 minutes for this step
173
+ ```
174
+
175
+ ### Common Timeout Causes
176
+
177
+ 1. **Slow dependency install** - Use cache or pre-built images
178
+ 2. **Large Docker image** - Use multi-stage builds, smaller base images
179
+ 3. **Slow tests** - Parallelize or skip slow tests in CI
180
+ 4. **Network issues** - Check VPC/firewall settings
181
+
182
+ ---
183
+
184
+ ## Substitution Issues
185
+
186
+ ### Variable Not Substituted
187
+
188
+ **Symptom:** `${SHORT_SHA}` appears literally in output.
189
+
190
+ **Fix:** Use correct syntax based on context:
191
+ ```yaml
192
+ # In step args - use $VAR
193
+ args: ['tag', 'image:$SHORT_SHA']
194
+
195
+ # In substitutions block - use ${VAR}
196
+ substitutions:
197
+ _TAG: '${SHORT_SHA}'
198
+
199
+ # In bash script - escape or use single quotes
200
+ args:
201
+ - '-c'
202
+ - 'echo "Building ${SHORT_SHA}"' # Works
203
+ - 'echo "Building $SHORT_SHA"' # Also works
204
+ ```
205
+
206
+ ### Custom Substitution Not Available
207
+
208
+ **Symptom:**
209
+ ```
210
+ substitution _MY_VAR is not defined
211
+ ```
212
+
213
+ **Fix:** Define in substitutions block or pass via trigger:
214
+ ```yaml
215
+ substitutions:
216
+ _MY_VAR: 'default-value'
217
+ ```
218
+
219
+ ---
220
+
221
+ ## Diagnostic Commands
222
+
223
+ ```bash
224
+ # Get detailed build info with step status
225
+ gcloud builds describe $BUILD_ID --region=$REGION \
226
+ --format="yaml(steps[].id,steps[].status,steps[].timing)"
227
+
228
+ # Check which step failed
229
+ gcloud builds describe $BUILD_ID --region=$REGION \
230
+ --format="table(steps[].id,steps[].status)"
231
+
232
+ # Get build logs for specific step
233
+ gcloud builds log $BUILD_ID --region=$REGION --stream 2>&1 | grep -A 50 "Step #X"
234
+
235
+ # List recent builds with trigger info
236
+ gcloud builds list --region=$REGION --limit=10 \
237
+ --format="table(id,status,substitutions.TRIGGER_NAME,createTime)"
238
+ ```