원클릭으로
deploy
Deploy backend (Cloud Run), frontend (static/Cloud Run), or mobile (EAS). Use when publishing changes to production.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Deploy backend (Cloud Run), frontend (static/Cloud Run), or mobile (EAS). Use when publishing changes to production.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Check for drift between spec.md, plan.md, tasks.md, and the actual code. Reports the gaps; does not fix them.
Run a category-specific quality pass (security / performance / accessibility / i18n / privacy / observability) against the current plan and code.
Surface [NEEDS CLARIFICATION] markers in spec.md (or plan.md) to the user, one at a time, and edit the file with the answers.
Bootstrap or amend constitution.md (framework, preset, or project). Inspects existing project context first; enforces the amendment process: issue first, one article per PR, reviewer non-author.
Print the pipeline quick-reference — a one-screen summary of every /aia:* command and its hand-offs, prefixed by a state-aware "Próximo passo" line.
Execute an approved plan + tasks list by dispatching one fresh subagent per task and applying two-stage review (spec compliance, then code quality) before moving on.
| name | deploy |
| description | Deploy backend (Cloud Run), frontend (static/Cloud Run), or mobile (EAS). Use when publishing changes to production. |
| disable-model-invocation | true |
| allowed-tools | Bash, Read, Grep |
| argument-hint | [backend|frontend|mobile-android|mobile-ios|ota] [--skip-checks] |
Deploy the application to production. Runs pre-flight checks unless --skip-checks is passed.
/deploy backend — Deploy Django backend to GCP Cloud Run/deploy frontend — Deploy React frontend (build + deploy)/deploy mobile-android — Build + submit Android AAB to Google Play/deploy mobile-ios — Build iOS on EAS cloud + submit to TestFlight/deploy ota — Publish OTA JS update to production channel (mobile, JS-only changes)cd backend && git status # Must be clean (no uncommitted changes)
python manage.py showmigrations | grep "\[ \]" # Must be empty
python manage.py migrate --check # Must pass
IMAGE="<region>-docker.pkg.dev/<project>/<repo>/backend:latest"
docker build -t $IMAGE backend/
docker push $IMAGE
gcloud run deploy backend \
--image $IMAGE \
--region <region> \
--platform managed
# Run migrations on Cloud SQL
gcloud run jobs execute migrate-job --region <region>
# Verify health
curl https://<backend-url>/api/health/
Note: gcloud auth requires interactive browser login. Flag this early if not already authenticated.
cd frontend && npm run build
# Verify no TypeScript errors in build output
IMAGE="<region>-docker.pkg.dev/<project>/<repo>/frontend:latest"
docker build -t $IMAGE frontend/
docker push $IMAGE
gcloud run deploy frontend --image $IMAGE --region <region>
cd <mobile-dir>
# Verify versions are synced
cat app.json | grep -A3 '"android"'
cat android/app/build.gradle | grep versionCode
# Uses bump-version skill if available
# Or manually update app.json + android/app/build.gradle
cd <mobile-dir> && eas build --platform android --profile production --local
# Timeout: ~10 minutes. Run in background.
eas submit --platform android --latest
cd <mobile-dir> && eas build --platform ios --profile production --non-interactive
# Runs ~15-20 min in EAS cloud. Monitor:
eas build:list --platform ios --limit 1
eas submit --platform ios --latest --non-interactive
Only for TypeScript/JavaScript changes. Native changes (new packages, AndroidManifest, Info.plist) require full build.
cd <mobile-dir> && eas update --branch production --message "<description of changes>"
# Verify:
eas update:list --branch production --limit 1
Workers must be restarted after deploying new task code:
docker compose restart celery
# Or in production, trigger worker restart in your orchestration system
# Revert to previous Cloud Run revision
gcloud run revisions list --service backend --region <region>
gcloud run services update-traffic backend --to-revisions=<previous-revision>=100