@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.
- package/LICENSE +3 -0
- package/README.md +90 -0
- package/bin/1aboveio-skills.mjs +18 -0
- package/package.json +28 -0
- package/runtime/skills/distribution/generated/recipes.json +1189 -0
- package/runtime/skills/distribution/scripts/bundles.mjs +280 -0
- package/runtime/skills/engineering/engineering-runtime/scripts/main-module.mjs +80 -0
- package/skills/backend/airflow-dag-develop/LICENSE +3 -0
- package/skills/backend/airflow-dag-develop/SKILL.md +111 -0
- package/skills/backend/app-debug/LICENSE +3 -0
- package/skills/backend/app-debug/SKILL.md +109 -0
- package/skills/backend/app-debug/references/common-errors.md +128 -0
- package/skills/backend/python-backend/LICENSE +3 -0
- package/skills/backend/python-backend/SKILL.md +326 -0
- package/skills/cicd-pipeline/cloud-build/LICENSE +3 -0
- package/skills/cicd-pipeline/cloud-build/SKILL.md +707 -0
- package/skills/cicd-pipeline/cloud-debug/LICENSE +3 -0
- package/skills/cicd-pipeline/cloud-debug/SKILL.md +316 -0
- package/skills/cicd-pipeline/cloud-debug/references/build-failures.md +238 -0
- package/skills/cicd-pipeline/cloud-debug/references/deploy-failures.md +376 -0
- package/skills/cicd-pipeline/cloud-debug/references/pipeline-failures.md +378 -0
- package/skills/cicd-pipeline/cloud-deploy/LICENSE +3 -0
- package/skills/cicd-pipeline/cloud-deploy/SKILL.md +229 -0
- package/skills/cicd-pipeline/cloud-deploy/references/config-templates.md +257 -0
- package/skills/cicd-pipeline/docker/LICENSE +3 -0
- package/skills/cicd-pipeline/docker/SKILL.md +126 -0
- package/skills/cicd-pipeline/google-cloud/LICENSE +3 -0
- package/skills/cicd-pipeline/google-cloud/SKILL.md +118 -0
- package/skills/cicd-pipeline/google-cloud/references/gcs.md +469 -0
- package/skills/cicd-pipeline/google-cloud/references/iam.md +451 -0
- package/skills/cicd-pipeline/google-cloud/references/project.md +349 -0
- package/skills/cicd-pipeline/google-cloud/references/secrets.md +336 -0
- package/skills/cicd-pipeline/google-cloud/references/vpc.md +312 -0
- package/skills/cicd-pipeline/google-cloud/scripts/create-sa.sh +36 -0
- package/skills/cicd-pipeline/google-cloud/scripts/gcp-config.sh +31 -0
- package/skills/cicd-pipeline/google-cloud/scripts/grant-iap.sh +41 -0
- package/skills/cicd-pipeline/google-cloud/scripts/setup-secrets.sh +48 -0
- package/skills/cicd-pipeline/mergify/LICENSE +3 -0
- package/skills/cicd-pipeline/mergify/SKILL.md +138 -0
- package/skills/cicd-pipeline/mergify/assets/templates/mergify.yml +237 -0
- package/skills/cicd-pipeline/mergify/assets/templates/ruleset.json +46 -0
- package/skills/cicd-pipeline/mergify/references/branch-protection.md +277 -0
- package/skills/cicd-pipeline/mergify/references/configuration.md +183 -0
- package/skills/cicd-pipeline/mergify/references/diagnosis.md +73 -0
- package/skills/cicd-pipeline/mergify/references/traps.md +78 -0
- package/skills/cicd-pipeline/mergify/references/watch-contract.md +218 -0
- package/skills/cicd-pipeline/mergify/scripts/audit-core.mjs +131 -0
- package/skills/cicd-pipeline/mergify/scripts/audit.mjs +4 -0
- package/skills/cicd-pipeline/mergify/scripts/watch-pr-delivery-core.mjs +663 -0
- package/skills/cicd-pipeline/mergify/scripts/watch-pr-delivery.mjs +4 -0
- package/skills/cicd-pipeline/podman/LICENSE +3 -0
- package/skills/cicd-pipeline/podman/SKILL.md +70 -0
- package/skills/cicd-pipeline/podman/agents/openai.yaml +4 -0
- package/skills/cicd-pipeline/podman/assets/templates/podman-compose-socket-directory.yml +6 -0
- package/skills/cicd-pipeline/podman/assets/templates/podman-service-override.conf +3 -0
- package/skills/cicd-pipeline/podman/references/compose-compatibility.md +70 -0
- package/skills/cicd-pipeline/podman/references/networking-and-ports.md +74 -0
- package/skills/cicd-pipeline/podman/references/rootless-services-and-sockets.md +156 -0
- package/skills/cicd-pipeline/podman/references/troubleshooting.md +98 -0
- package/skills/engineering/e2e-test/LICENSE +3 -0
- package/skills/engineering/e2e-test/SKILL.md +156 -0
- package/skills/engineering/e2e-test/assets/ci-gates.cloudbuild.yaml +272 -0
- package/skills/engineering/e2e-test/assets/ci-gates.github.yml +451 -0
- package/skills/engineering/e2e-test/assets/e2e-workflow.yml +282 -0
- package/skills/engineering/e2e-test/references/authoring/auth-flows.md +159 -0
- package/skills/engineering/e2e-test/references/authoring/playwright-config.md +71 -0
- package/skills/engineering/e2e-test/references/authoring/playwright-patterns.md +219 -0
- package/skills/engineering/e2e-test/references/authoring/test-skipping.md +44 -0
- package/skills/engineering/e2e-test/references/ci-integration.md +121 -0
- package/skills/engineering/e2e-test/references/ci-playwright-container.md +280 -0
- package/skills/engineering/e2e-test/references/debugging.md +36 -0
- package/skills/engineering/e2e-test/references/presentation-sweep.md +131 -0
- package/skills/engineering/e2e-test/references/reviewing.md +39 -0
- package/skills/engineering/e2e-test/references/route-discovery.md +50 -0
- package/skills/engineering/e2e-test/references/route-manifest.md +44 -0
- package/skills/engineering/e2e-test/scripts/detect-routes-fastapi.py +290 -0
- package/skills/engineering/e2e-test/scripts/detect-routes-nextjs.mjs +200 -0
- package/skills/engineering/e2e-test/scripts/post-visual-evidence.mjs +158 -0
- package/skills/engineering/e2e-test/scripts/presentation-checks.mjs +171 -0
- package/skills/engineering/e2e-test/scripts/presentation-perceivability.mjs +179 -0
- package/skills/engineering/e2e-test/scripts/presentation-reachability.mjs +154 -0
- package/skills/engineering/e2e-test/scripts/presentation-render-health.mjs +141 -0
- package/skills/engineering/e2e-test/scripts/presentation-sweep.mjs +148 -0
- package/skills/engineering/e2e-test/scripts/presentation-temporal.mjs +127 -0
- package/skills/engineering/e2e-test/scripts/presentation-visual.mjs +84 -0
- package/skills/engineering/e2e-test/scripts/project-route-manifest.mjs +75 -0
- package/skills/engineering/e2e-test/scripts/validate-manifest.mjs +106 -0
- package/skills/engineering/engineering-runtime/LICENSE +3 -0
- package/skills/engineering/engineering-runtime/SKILL.md +10 -0
- package/skills/engineering/engineering-runtime/agents/openai.yaml +6 -0
- package/skills/engineering/engineering-runtime/coherence/workflow.json +553 -0
- package/skills/engineering/engineering-runtime/scripts/exact-head-artifact.mjs +131 -0
- package/skills/engineering/engineering-runtime/scripts/head-check-set.mjs +398 -0
- package/skills/engineering/engineering-runtime/scripts/main-module.mjs +80 -0
- package/skills/engineering/engineering-runtime/scripts/mergify-yaml.mjs +11 -0
- package/skills/engineering/engineering-runtime/scripts/package-lock.json +43 -0
- package/skills/engineering/engineering-runtime/scripts/package.json +10 -0
- package/skills/engineering/engineering-runtime/scripts/required-check-plan.mjs +223 -0
- package/skills/engineering/engineering-runtime/scripts/workflow-coherence.mjs +576 -0
- package/skills/engineering/engineering-runtime/scripts/workflow-policy.mjs +166 -0
- package/skills/engineering/ensure-coverage/LICENSE +3 -0
- package/skills/engineering/ensure-coverage/SKILL.md +136 -0
- package/skills/engineering/ensure-coverage/evals/evals.json +125 -0
- package/skills/engineering/ensure-coverage/references/breadth/coverage-ledger.md +91 -0
- package/skills/engineering/ensure-coverage/references/breadth/inventory-contract.md +83 -0
- package/skills/engineering/ensure-coverage/references/breadth/surface-baseline.md +44 -0
- package/skills/engineering/ensure-coverage/references/breadth/surface-discovery.md +16 -0
- package/skills/engineering/ensure-coverage/references/depth/characterization.md +68 -0
- package/skills/engineering/ensure-coverage/references/depth/coverage.config.example.json +25 -0
- package/skills/engineering/ensure-coverage/references/depth/grading.md +35 -0
- package/skills/engineering/ensure-coverage/references/depth/mock-policy.md +87 -0
- package/skills/engineering/ensure-coverage/references/depth/test-smells.md +23 -0
- package/skills/engineering/ensure-coverage/references/enforcement/ci-contract.md +164 -0
- package/skills/engineering/ensure-coverage/references/enforcement/hooks.md +85 -0
- package/skills/engineering/ensure-coverage/references/examples/coverage-ledger.md +109 -0
- package/skills/engineering/ensure-coverage/references/examples/refund-flow.md +33 -0
- package/skills/engineering/ensure-coverage/references/presentation/axis.md +78 -0
- package/skills/engineering/ensure-coverage/references/presentation/runner-contract.md +74 -0
- package/skills/engineering/ensure-coverage/references/process/audit-mode.md +33 -0
- package/skills/engineering/ensure-coverage/references/process/output-template.md +139 -0
- package/skills/engineering/ensure-coverage/references/process/review-contract-template.md +119 -0
- package/skills/engineering/ensure-coverage/references/process/scope-class.md +178 -0
- package/skills/engineering/ensure-coverage/references/process/test-strategy.md +55 -0
- package/skills/engineering/ensure-coverage/schemas/coverage-config.schema.json +45 -0
- package/skills/engineering/ensure-coverage/schemas/coverage-file.schema.json +93 -0
- package/skills/engineering/ensure-coverage/scripts/adapters/nextjs-inventory.mjs +178 -0
- package/skills/engineering/ensure-coverage/scripts/check-quarantine-expiry.mjs +101 -0
- package/skills/engineering/ensure-coverage/scripts/ci-audit.mjs +358 -0
- package/skills/engineering/ensure-coverage/scripts/coverage-checklist.mjs +494 -0
- package/skills/engineering/ensure-coverage/scripts/coverage-ledger.mjs +663 -0
- package/skills/engineering/ensure-coverage/scripts/design-parity.mjs +591 -0
- package/skills/engineering/ensure-coverage/scripts/evidence-block.mjs +367 -0
- package/skills/engineering/ensure-coverage/scripts/lint-tests.mjs +269 -0
- package/skills/engineering/ensure-coverage/scripts/mock-policy-config.mjs +176 -0
- package/skills/engineering/ensure-coverage/scripts/package-lock.json +76 -0
- package/skills/engineering/ensure-coverage/scripts/package.json +19 -0
- package/skills/engineering/ensure-coverage/scripts/scope-class.mjs +554 -0
- package/skills/engineering/harness-runtime/LICENSE +3 -0
- package/skills/engineering/harness-runtime/SKILL.md +18 -0
- package/skills/engineering/harness-runtime/agents/openai.yaml +6 -0
- package/skills/engineering/harness-runtime/bin/discover-models.mjs +4 -0
- package/skills/engineering/harness-runtime/bin/model-catalog.mjs +4 -0
- package/skills/engineering/harness-runtime/contracts.md +15 -0
- package/skills/engineering/harness-runtime/discover-models.mjs +392 -0
- package/skills/engineering/harness-runtime/fixtures/native-question-schemas.json +33 -0
- package/skills/engineering/harness-runtime/fixtures/question-responses.json +54 -0
- package/skills/engineering/harness-runtime/index.mjs +767 -0
- package/skills/engineering/harness-runtime/model-catalog.mjs +787 -0
- package/skills/engineering/harness-runtime/native-question-contracts.md +37 -0
- package/skills/engineering/harness-runtime/references/model-catalog-seed.json +159 -0
- package/skills/engineering/harness-runtime/references/model-catalog.md +57 -0
- package/skills/engineering/implement-and-pr/LICENSE +3 -0
- package/skills/engineering/implement-and-pr/SKILL.md +176 -0
- package/skills/engineering/implement-and-pr/references/ci-iteration.md +10 -0
- package/skills/engineering/implement-and-pr/references/closeout.md +27 -0
- package/skills/engineering/implement-and-pr/references/contract-complete-fix-rounds.md +34 -0
- package/skills/engineering/implement-and-pr/references/evidence-rules.md +39 -0
- package/skills/engineering/implement-and-pr/references/incremental-plan.md +16 -0
- package/skills/engineering/implement-and-pr/references/self-review.md +23 -0
- package/skills/engineering/implement-and-pr/references/tdd-mode.md +18 -0
- package/skills/engineering/resolve-issues/LICENSE +3 -0
- package/skills/engineering/resolve-issues/SKILL.md +167 -0
- package/skills/engineering/resolve-issues/generated/workflow-repair-policy.json +448 -0
- package/skills/engineering/resolve-issues/references/breaker.md +82 -0
- package/skills/engineering/resolve-issues/references/deliverables.md +27 -0
- package/skills/engineering/resolve-issues/references/delivery.md +108 -0
- package/skills/engineering/resolve-issues/references/evidence-lane.md +21 -0
- package/skills/engineering/resolve-issues/references/exact-head-ci.md +287 -0
- package/skills/engineering/resolve-issues/references/fan-out.md +33 -0
- package/skills/engineering/resolve-issues/references/finalization.md +68 -0
- package/skills/engineering/resolve-issues/references/guarantees.md +10 -0
- package/skills/engineering/resolve-issues/references/high-risk.md +29 -0
- package/skills/engineering/resolve-issues/references/incidents/848/README.md +156 -0
- package/skills/engineering/resolve-issues/references/intake.md +86 -0
- package/skills/engineering/resolve-issues/references/integration-gate.md +53 -0
- package/skills/engineering/resolve-issues/references/interference.md +87 -0
- package/skills/engineering/resolve-issues/references/loop.md +134 -0
- package/skills/engineering/resolve-issues/references/model-catalog.md +9 -0
- package/skills/engineering/resolve-issues/references/postmortem.md +27 -0
- package/skills/engineering/resolve-issues/references/pre-flight-model-slots.md +41 -0
- package/skills/engineering/resolve-issues/references/pre-flight-recording-and-checkout.md +48 -0
- package/skills/engineering/resolve-issues/references/pre-flight.md +41 -0
- package/skills/engineering/resolve-issues/references/regression-checklist.md +26 -0
- package/skills/engineering/resolve-issues/references/run-state.md +288 -0
- package/skills/engineering/resolve-issues/references/sandboxed-testing.md +48 -0
- package/skills/engineering/resolve-issues/references/spawn-contract.md +96 -0
- package/skills/engineering/resolve-issues/references/terminal-evidence-journal.md +40 -0
- package/skills/engineering/resolve-issues/references/why.md +653 -0
- package/skills/engineering/resolve-issues/schemas/fix-round.schema.json +49 -0
- package/skills/engineering/resolve-issues/scripts/combine-and-verify.mjs +721 -0
- package/skills/engineering/resolve-issues/scripts/component-candidate.mjs +962 -0
- package/skills/engineering/resolve-issues/scripts/contract-revision.mjs +220 -0
- package/skills/engineering/resolve-issues/scripts/detect-delivery-mode.mjs +420 -0
- package/skills/engineering/resolve-issues/scripts/detect-target-branch.mjs +256 -0
- package/skills/engineering/resolve-issues/scripts/detect-workspace-mode.mjs +168 -0
- package/skills/engineering/resolve-issues/scripts/discover-models.mjs +9 -0
- package/skills/engineering/resolve-issues/scripts/doctrine.mjs +62 -0
- package/skills/engineering/resolve-issues/scripts/evidence-lifecycle-contract.mjs +191 -0
- package/skills/engineering/resolve-issues/scripts/exact-head-ci.mjs +413 -0
- package/skills/engineering/resolve-issues/scripts/exact-head-github-provider.mjs +332 -0
- package/skills/engineering/resolve-issues/scripts/finalize.mjs +488 -0
- package/skills/engineering/resolve-issues/scripts/fix-rounds.mjs +3307 -0
- package/skills/engineering/resolve-issues/scripts/fixtures/evidence-lifecycle-circular-1001.json +16 -0
- package/skills/engineering/resolve-issues/scripts/fixtures/evidence-lifecycle-valid-sequencing.json +51 -0
- package/skills/engineering/resolve-issues/scripts/fixtures/fmm-express-830-component-candidate.json +17 -0
- package/skills/engineering/resolve-issues/scripts/fixtures/head-check-set-1081.json +166 -0
- package/skills/engineering/resolve-issues/scripts/gate-value-series.mjs +92 -0
- package/skills/engineering/resolve-issues/scripts/guide-index.mjs +73 -0
- package/skills/engineering/resolve-issues/scripts/head-check-set.mjs +159 -0
- package/skills/engineering/resolve-issues/scripts/interference.mjs +427 -0
- package/skills/engineering/resolve-issues/scripts/model-catalog.mjs +9 -0
- package/skills/engineering/resolve-issues/scripts/next-operations.mjs +419 -0
- package/skills/engineering/resolve-issues/scripts/postmortem.mjs +909 -0
- package/skills/engineering/resolve-issues/scripts/preflight-questions.mjs +322 -0
- package/skills/engineering/resolve-issues/scripts/reconcile-contained-unit-prs.mjs +415 -0
- package/skills/engineering/resolve-issues/scripts/release-state-contract.mjs +697 -0
- package/skills/engineering/resolve-issues/scripts/report.mjs +494 -0
- package/skills/engineering/resolve-issues/scripts/required-check-plan.mjs +172 -0
- package/skills/engineering/resolve-issues/scripts/round-metadata.mjs +79 -0
- package/skills/engineering/resolve-issues/scripts/run-state-review6-cases.mjs +334 -0
- package/skills/engineering/resolve-issues/scripts/run-state.mjs +4784 -0
- package/skills/engineering/resolve-issues/scripts/sandbox-selftest.mjs +395 -0
- package/skills/engineering/resolve-issues/scripts/spawn-contract.mjs +290 -0
- package/skills/engineering/resolve-issues/scripts/terminal-dispositions.mjs +170 -0
- package/skills/engineering/resolve-issues/scripts/terminal-evidence-journal.mjs +293 -0
- package/skills/engineering/resolve-issues/scripts/unit-kind.mjs +197 -0
- package/skills/engineering/resolve-issues/scripts/unit-lifecycle.mjs +127 -0
- package/skills/engineering/resolve-issues/scripts/watch-delivery.mjs +893 -0
- package/skills/engineering/resolve-issues/scripts/workspaces.mjs +829 -0
- package/skills/engineering/resolve-issues/workflows/independent-review.workflow.js +290 -0
- package/skills/engineering/resolve-issues/workflows/prior-art-scan.workflow.js +80 -0
- package/skills/engineering/resolve-issues/workflows/workflow-smoke.mjs +102 -0
- package/skills/engineering/resolve-release/LICENSE +3 -0
- package/skills/engineering/resolve-release/SKILL.md +112 -0
- package/skills/engineering/resolve-release/references/assembly.md +137 -0
- package/skills/engineering/resolve-release/references/auto-when-green.md +56 -0
- package/skills/engineering/resolve-release/references/candidate.md +167 -0
- package/skills/engineering/resolve-release/references/exposure.md +178 -0
- package/skills/engineering/resolve-release/references/handoff.md +24 -0
- package/skills/engineering/resolve-release/references/postmortem.md +230 -0
- package/skills/engineering/resolve-release/references/preflight.md +207 -0
- package/skills/engineering/resolve-release/references/principles.md +94 -0
- package/skills/engineering/resolve-release/references/regression-checklist.md +36 -0
- package/skills/engineering/resolve-release/references/related-skills.md +12 -0
- package/skills/engineering/resolve-release/references/routing.md +149 -0
- package/skills/engineering/resolve-release/references/verified-sha-github-flow.md +285 -0
- package/skills/engineering/resolve-release/references/versioning.md +202 -0
- package/skills/engineering/resolve-release/references/why.md +53 -0
- package/skills/engineering/resolve-release/scripts/adapter-completion-artifact.mjs +389 -0
- package/skills/engineering/resolve-release/scripts/build-changes.mjs +209 -0
- package/skills/engineering/resolve-release/scripts/candidate-hygiene.mjs +407 -0
- package/skills/engineering/resolve-release/scripts/candidate-identity.mjs +904 -0
- package/skills/engineering/resolve-release/scripts/candidate-traffic.mjs +81 -0
- package/skills/engineering/resolve-release/scripts/checked-adapter-loader.mjs +612 -0
- package/skills/engineering/resolve-release/scripts/close-attempt.mjs +135 -0
- package/skills/engineering/resolve-release/scripts/closeout-release.mjs +161 -0
- package/skills/engineering/resolve-release/scripts/doctrine.mjs +106 -0
- package/skills/engineering/resolve-release/scripts/durable-processing.mjs +522 -0
- package/skills/engineering/resolve-release/scripts/ensure-target-green.mjs +659 -0
- package/skills/engineering/resolve-release/scripts/evidence-bundle.mjs +1014 -0
- package/skills/engineering/resolve-release/scripts/finalize-release.mjs +526 -0
- package/skills/engineering/resolve-release/scripts/fixtures/durable-processing-adapter.mjs +169 -0
- package/skills/engineering/resolve-release/scripts/green-gate.mjs +599 -0
- package/skills/engineering/resolve-release/scripts/isolated-adapter-evaluator.mjs +752 -0
- package/skills/engineering/resolve-release/scripts/metadata-pr-status.mjs +56 -0
- package/skills/engineering/resolve-release/scripts/metadata-sync.mjs +1538 -0
- package/skills/engineering/resolve-release/scripts/postmortem.mjs +381 -0
- package/skills/engineering/resolve-release/scripts/preflight-probes.mjs +498 -0
- package/skills/engineering/resolve-release/scripts/production-endpoints.mjs +326 -0
- package/skills/engineering/resolve-release/scripts/rc-circuit-breaker.mjs +272 -0
- package/skills/engineering/resolve-release/scripts/report.mjs +417 -0
- package/skills/engineering/resolve-release/scripts/reprobe-credentials.mjs +114 -0
- package/skills/engineering/resolve-release/scripts/revalidate-candidate.mjs +238 -0
- package/skills/engineering/resolve-release/scripts/review-packet.mjs +503 -0
- package/skills/engineering/resolve-release/scripts/rollback-floor.mjs +263 -0
- package/skills/engineering/resolve-release/scripts/version-assert.mjs +339 -0
- package/skills/engineering/resolve-release/scripts/version-postmortem.mjs +485 -0
- package/skills/engineering/resolve-release/scripts/version.mjs +1199 -0
- package/skills/engineering/resolve-release/scripts/watch-candidate-delivery.mjs +449 -0
- package/skills/engineering/resolve-release/vendor/ACORN-LICENSE +21 -0
- package/skills/engineering/resolve-release/vendor/README.md +60 -0
- package/skills/engineering/resolve-release/vendor/acorn.mjs +6233 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/LICENSE +21 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/README.md +341 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/README.template.md +70 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/chunk-TAV5CUKK.mjs +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/chunk-TAV5CUKK.mjs.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/chunk-V2S4ZYJR.mjs +7 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/chunk-V2S4ZYJR.mjs.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/index.d.mts +2033 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/index.d.ts +2033 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/index.js +7 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/index.js.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/index.mjs +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/index.mjs.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/module-ES6BEMUI.mjs +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/module-ES6BEMUI.mjs.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/module-asyncify-2EFITU5U.mjs +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/module-asyncify-2EFITU5U.mjs.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/package.json +49 -0
- package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/LICENSE +21 -0
- package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/README.md +5 -0
- package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/dist/index.d.mts +549 -0
- package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/dist/index.d.ts +549 -0
- package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/dist/index.js +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/dist/index.js.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/dist/index.mjs +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/dist/index.mjs.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/package.json +36 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/LICENSE +47 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/README.md +82 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.browser.d.ts +11 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.browser.mjs +22 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.cjs +21 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.cloudflare.cjs +21 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.cloudflare.d.ts +11 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.d.ts +11 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.mjs +25 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.wasm +0 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/ffi.d.mts +85 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/ffi.d.ts +85 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/ffi.js +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/ffi.js.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/ffi.mjs +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/ffi.mjs.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/index.d.mts +20 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/index.d.ts +20 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/index.js +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/index.js.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/index.mjs +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/index.mjs.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/package.json +61 -0
- package/skills/engineering/review-pr/LICENSE +3 -0
- package/skills/engineering/review-pr/SKILL.md +123 -0
- package/skills/engineering/review-pr/references/adversarial-reviewer-prompt.md +42 -0
- package/skills/engineering/review-pr/references/code-correctness.md +5 -0
- package/skills/engineering/review-pr/references/contract-freshness.md +9 -0
- package/skills/engineering/review-pr/references/coordination.md +18 -0
- package/skills/engineering/review-pr/references/domain-hazards.md +123 -0
- package/skills/engineering/review-pr/references/finding-themes.md +7 -0
- package/skills/engineering/review-pr/references/github-posting.md +98 -0
- package/skills/engineering/review-pr/references/golden-path-smoke.md +5 -0
- package/skills/engineering/review-pr/references/incremental-output.md +16 -0
- package/skills/engineering/review-pr/references/inputs-and-discovery.md +31 -0
- package/skills/engineering/review-pr/references/output-format.md +99 -0
- package/skills/engineering/review-pr/references/over-mock-screen.md +7 -0
- package/skills/engineering/review-pr/references/promotion-prs.md +16 -0
- package/skills/engineering/review-pr/references/re-review.md +18 -0
- package/skills/engineering/review-pr/references/review-method.md +199 -0
- package/skills/engineering/review-pr/references/review-mode.md +30 -0
- package/skills/engineering/review-pr/references/review-posture.md +53 -0
- package/skills/engineering/review-pr/references/round1-depth.md +62 -0
- package/skills/engineering/review-pr/references/scripts.md +17 -0
- package/skills/engineering/review-pr/references/workflow.md +16 -0
- package/skills/engineering/review-pr/schemas/findings.schema.json +282 -0
- package/skills/engineering/review-pr/scripts/finding-contract.mjs +285 -0
- package/skills/engineering/review-pr/scripts/post-review.mjs +405 -0
- package/skills/engineering/review-pr/scripts/pr-context.mjs +207 -0
- package/skills/engineering/review-pr/scripts/scan-diff.mjs +365 -0
- package/skills/engineering/review-pr/scripts/theme-contract.mjs +57 -0
- package/skills/engineering/smoke/LICENSE +3 -0
- package/skills/engineering/smoke/SKILL.md +131 -0
- package/skills/engineering/smoke/assets/smoke.manifest.example.json +53 -0
- package/skills/engineering/smoke/references/manifest.md +192 -0
- package/skills/engineering/smoke/scripts/smoke.mjs +713 -0
- package/skills/fullstack/better-auth/LICENSE +3 -0
- package/skills/fullstack/better-auth/SKILL.md +601 -0
- package/skills/fullstack/better-auth/references/feishu-api.md +270 -0
- package/skills/fullstack/monorepo/LICENSE +3 -0
- package/skills/fullstack/monorepo/SKILL.md +465 -0
- package/skills/fullstack/nextjs-fullstack/LICENSE +3 -0
- package/skills/fullstack/nextjs-fullstack/SKILL.md +210 -0
- package/skills/fullstack/nextjs-fullstack/conventions.md +318 -0
- package/skills/fullstack/nextjs-fullstack/frontend-conventions.md +61 -0
- package/skills/fullstack/nextjs-fullstack/nextjs16.md +287 -0
- package/skills/fullstack/nextjs-fullstack/server-actions.md +409 -0
- package/skills/fullstack/prisma-setup/LICENSE +3 -0
- package/skills/fullstack/prisma-setup/SKILL.md +180 -0
- package/skills/fullstack/prisma-setup/nextjs.md +258 -0
- package/skills/fullstack/prisma-setup/turborepo.md +301 -0
- package/skills/fullstack/shadcn/LICENSE +3 -0
- package/skills/fullstack/shadcn/SKILL.md +119 -0
- package/skills/fullstack/shadcn/assets/shadcn-small.png +0 -0
- package/skills/fullstack/shadcn/assets/shadcn.png +0 -0
- package/skills/fullstack/shadcn/cli.md +411 -0
- package/skills/fullstack/shadcn/customization.md +224 -0
- package/skills/fullstack/shadcn/evals/evals.json +90 -0
- package/skills/fullstack/shadcn/mcp.md +101 -0
- package/skills/fullstack/shadcn/rules/base-vs-radix.md +323 -0
- package/skills/fullstack/shadcn/rules/component-selection.md +67 -0
- package/skills/fullstack/shadcn/rules/composition.md +195 -0
- package/skills/fullstack/shadcn/rules/data-table.md +201 -0
- package/skills/fullstack/shadcn/rules/forms.md +255 -0
- package/skills/fullstack/shadcn/rules/icons.md +103 -0
- package/skills/fullstack/shadcn/rules/styling.md +167 -0
- package/skills/fullstack/zod-v4/LICENSE +3 -0
- package/skills/fullstack/zod-v4/SKILL.md +287 -0
|
@@ -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
|
+
```
|