From claude-commands
Provides reference for rotating GCP Cloud Run preview server pool used to deploy PR branches. Includes URL pattern, health endpoint, and smoke test commands.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-commands:pr-preview-serversThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Reference for the rotating preview server pool used to deploy PR branches.
Reference for the rotating preview server pool used to deploy PR branches.
mvp-site-app-s1 through mvp-site-app-s10)mvp-site-appworldarchitecture-aius-central1$PROJECT_ROOT/**, Dockerfile, requirements.txt, etc..github/workflows/pr-preview.yml.github/scripts/pr-server-pool.shhttps://mvp-site-app-s{N}-{hash}-uc.a.run.app
Where {N} is 1–10 and {hash} is Cloud Run's stable unique URL segment.
From GitHub CLI (fastest):
gh pr view <PR_NUMBER> --json comments --jq '.comments[].body' | grep -o 'https://mvp-site-app-s[^ ]*'
From PR comments in the UI:
Look for the bot comment that says "Preview deployed to: https://..."
From Cloud Run directly:
gcloud run services describe mvp-site-app-s{N} \
--project=worldarchitecture-ai \
--region=us-central1 \
--format='value(status.url)'
The preview server is deployed with:
FLASK_ENV=productionENVIRONMENT=previewGEMINI_API_KEY, CEREBRAS_API_KEY, OPENROUTER_API_KEYTESTING_AUTH_BYPASS=true — real Firebase auth is required for protected endpointsGET /health
→ 200 {"status": "healthy", "service": "worldarchitect-ai", "timestamp": "..."}
Note: /health does not expose the ENVIRONMENT env var. Confirmed 2026-02-20.
Use the standalone smoke test (no local server startup needed):
# Test the current PR's preview server
python3 testing_mcp/test_openclaw_gateway_url_preview.py
# Test a specific preview URL
python3 testing_mcp/test_openclaw_gateway_url_preview.py \
--server-url https://mvp-site-app-s10-i6xf2p72ka-uc.a.run.app
| Test | Why |
|---|---|
/health → 200 | Public health endpoint |
/settings HTML → 200, field present | Public HTML page |
POST /api/settings → 401 (not 404) | Route wired, auth enforced |
| Static assets | Public static files |
POST /api/settings with actual settings values (save to Firestore)GET /api/settings (read user settings)When all 10 slots are taken, the oldest assignment is evicted to make room. The evicted PR loses its preview URL. Check PR #N's comments for current status.
| PR | Server | URL |
|---|---|---|
| #5662 | s10 | https://mvp-site-app-s10-i6xf2p72ka-uc.a.run.app |
| #5857 | s2 | https://mvp-site-app-s2-i6xf2p72ka-uc.a.run.app |
Update this table as PRs are deployed. URL stays stable as long as the pool slot isn't evicted.
npx claudepluginhub jleechanorg/claude-commands --plugin claude-commandsProvides commands and URLs for managing GCP Cloud Run services (mvp-site-app-*) and deploying the Your Project repository across dev, staging, and production environments.
Deploys and manages Vercel preview URLs for git branches and PRs using CLI, API, and status polling. Useful for PR testing before production and sharing previews.
Interactively sets up GCP Cloud Build + Cloud Run infrastructure. Provisions APIs, Artifact Registry, service accounts, IAM, secrets, and triggers with security best practices.