Shipping and Launch
SkillCloud & infraPrepares production launches. Use when preparing to deploy to production. Use when you need a pre-launch checklist, when setting up monitoring, when planning a staged rollout, or when you need a rollback strategy.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Shipping and Launch skill
What this skill tells your AI
The instructions your AI receives, as published by jmxt3/gitscape.ai in .agents/skills/shipping-and-launch/SKILL.md and read by ahel’s review.
Overview
Every production deploy is a risk management exercise. Move fast by being deliberate: know what you're deploying, have a rollback plan, verify the system is healthy after deploy, and keep the blast radius small. The fastest way to ship is to have a clean rollback when things go wrong — not to avoid deploying.
When to Use
- Before any deployment to the Cloud Run production environment
- When deploying a feature that changes user-facing behavior
- When updating environment variables or secrets in GCP
- When rolling out a new API endpoint or removing an old one
Pre-Deploy Checklist
Run this before triggering any Cloud Build deploy:
Code Quality
- All tests pass locally:
pytest tests/ -v - No linting errors:
ruff check api/ - TypeScript compiles:
npx tsc --noEmit(inweb/) - No
TODO: before deploycomments remaining
Security
- No secrets committed to git:
git log --oneline -5— check commit messages - New environment variables are in GCP Secret Manager, not in
cloudbuild.yamlas plaintext -
.env.exampleupdated if new variables are required
Observability
- New endpoints have structured logging (start/complete/error)
- New endpoints log request_id for correlation
Documentation
-
README.mdupdated if user-visible behavior changed - New environment variables documented in
.env.example - ADR created if an architectural decision was made
Rollback Readiness
- Know the previous working Cloud Run revision:
gcloud run revisions list - Know the rollback command (see below)
Rollback Procedure
GitScape deploys to Cloud Run. Rolling back is instant:
# List revisions (most recent first)
gcloud run revisions list \
--service=gitscape-api \
--region=us-central1 \
--format="table(name,status.conditions[0].status,spec.containerConcurrency,metadata.creationTimestamp)"
# Rollback: send 100% traffic to the previous revision
gcloud run services update-traffic gitscape-api \
--to-revisions=PREVIOUS_REVISION_NAME=100 \
--region=us-central1
When to roll back:
- Error rate rises above 1% after deploy
- p95 latency exceeds 5 seconds
- Any Critical or High security finding is confirmed in production
- User-reported regressions in core functionality
Feature Flag Lifecycle
For high-risk features, deploy behind a feature flag:
# 1. Deploy with flag disabled (safe default)
FF_SKILL_HD_TIER = os.getenv("FF_SKILL_HD_TIER", "false").lower() == "true"
# 2. Enable in Cloud Run after confirming deploy is healthy
# gcloud run services update gitscape-api \
# --update-env-vars FF_SKILL_HD_TIER=true \
# --region=us-central1
# 3. Monitor for 30 minutes post-enable
# 4. Remove the flag once stable (no surprises for 7+ days)
Flag cleanup: Remove the flag code (and the env var) once the feature has been stable for at least 7 days.
Staged Rollout
For high-confidence changes, deploy to all traffic immediately. For risky changes, use Cloud Run traffic splitting:
# Send 10% of traffic to new revision
gcloud run services update-traffic gitscape-api \
--to-revisions=NEW_REVISION=10,CURRENT_REVISION=90 \
--region=us-central1
# Promote to 100% after monitoring
gcloud run services update-traffic gitscape-api \
--to-latest \
--region=us-central1
Post-Deploy Verification
After every deploy, verify within 10 minutes:
# 1. Check that the new revision is serving
gcloud run revisions describe $(gcloud run revisions list \
--service=gitscape-api --region=us-central1 \
--format="value(name)" --limit=1) \
--region=us-central1
# 2. Health check
curl https://api.gitscape.app/health
# 3. Smoke test: verify core functionality
curl -X POST https://api.gitscape.app/api/skills \
-H "Content-Type: application/json" \
-d '{"repo": "addyosmani/agent-skills"}'
# 4. Check Cloud Logging for errors
gcloud logging read \
'resource.type="cloud_run_revision" AND severity>=ERROR' \
--freshness=10m \
--limit=20
Green signals:
- Health check returns 200
- Smoke test returns a skill bundle
- No ERROR-level log lines in the 10 minutes post-deploy
Red signals (trigger rollback immediately):
- Health check fails
- Smoke test returns 5xx
- Error rate visible in Cloud Logging
Common Rationalizations
| Rationalization | Reality |
|---|---|
| "I'll skip the checklist this once — it's a small change" | The small change you skip the checklist for is the one that goes wrong. |
| "I don't need a rollback plan — I'm confident in the change" | Confidence is not a rollback plan. |
| "We can fix it forward if something goes wrong" | Fixing forward takes longer than rolling back. Have the rollback ready. |
Red Flags
- Deploying without running tests
- No knowledge of the previous working revision
- Secrets visible as plaintext in
cloudbuild.yaml - No post-deploy verification
- Feature flag deployed but never cleaned up
Verification
Before declaring a deploy successful:
- Pre-deploy checklist completed
- Cloud Build succeeded: no red steps
- Health check passes post-deploy
- Smoke test passes post-deploy
- No ERROR-level logs in the first 10 minutes
- Rollback command is known and tested (or not needed)
Signals
- GitHub stars
- 33
- Forks
- 3
- Last commit
- Jul 2026
Advanced
- Catalog kind
- skill
- Gateway key
shipping-and-launch-jmxt3- Source
- github.com/jmxt3/gitscape.ai