deploy-staging
Deploy latest code to staging, wait for CI/CD pipelines, and verify health. Use after committing changes that need to go live on staging.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Deploy latest code to staging, wait for CI/CD pipelines, and verify health. Use after committing changes that need to go live on staging.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Launch an AI playtester to play NeoMud via the WebSocket relay and report findings
Launch a QA tester to systematically find bugs, test edge cases, and audit game systems. Use when you want thorough bug-hunting beyond what playtesting covers.
Evaluate architecture decisions, propose infrastructure, assess scalability, and make technology recommendations across the full stack — from hardware to cloud to application. Use when planning new services, scaling existing ones, evaluating hosting/cloud options, designing data pipelines, or making build-vs-buy decisions.
Audit user data channels, PII handling, abuse vectors, and content moderation across NeoMud Platform and game servers. Zero-trust posture — all inputs are invalid until verified.
Evaluate UX flows, interactions, and conventions across NeoMud marketplace, game client, and maker. Brings real-world UX expertise from industry-leading games and platforms.
Launch a browser-based UAT tester for the NeoMud web marketplace and WASM game client via Playwright
| name | deploy-staging |
| description | Deploy latest code to staging, wait for CI/CD pipelines, and verify health. Use after committing changes that need to go live on staging. |
Check, trigger, and monitor staging deployments across both NeoMud repos. Verifies everything is healthy after deploy.
$ARGUMENTS
Check all active and recent deploy workflows across the NeoMud repo:
gh run list --limit 8 --json name,status,conclusion,headSha,createdAt \
--jq '.[] | select(.name | test("Deploy|deploy")) | "\(.name) | \(.status) \(.conclusion) | \(.headSha[0:7]) | \(.createdAt[11:16])"'
And the NeoMud-Platform repo:
cd /c/Users/lbarnes/IdeaProjects/NeoMud-Platform && \
gh run list --limit 5 --json name,status,conclusion,headSha \
--jq '.[] | select(.name | test("Deploy|deploy")) | "\(.name) | \(.status) \(.conclusion) | \(.headSha[0:7])"'
If any deploy workflows are in_progress, poll until completion:
RUNID=<id> && while true; do
STATUS=$(gh run view $RUNID --json status,conclusion --jq '.status + " " + .conclusion')
echo "$(date +%H:%M:%S) $STATUS"
if echo "$STATUS" | grep -q "completed"; then break; fi
sleep 20
done
If a deploy failed:
gh run view <id> --log-failed 2>&1 | tail -20ssh root@159.203.127.47 'chown -R neomud:neomud /srv/neomud-web-stage/ /srv/neomud-assets/'gh run rerun <id> --failedread:packages + repo scopesgh run rerun <id> --failedIf the deploy workflow doesn't auto-recreate containers:
ssh root@159.203.127.47 'su - neomud -c "cd ~/neomud-staging && docker compose pull && docker compose up -d --force-recreate"'
After deploy completes, verify all services:
# API health
curl -s https://stage-api.neomud.app/api/v1/health
# Web marketplace
curl -s -o /dev/null -w "web: %{http_code}\n" https://stage.neomud.app/
# Maker
curl -s -o /dev/null -w "maker: %{http_code}\n" https://stage-maker.neomud.app/
# Game server health
curl -s -o /dev/null -w "game: %{http_code}\n" https://stage.neomud.app/health
# Container status
ssh root@159.203.127.47 'docker ps --format "{{.Names}} {{.Status}}" | grep -E "stg|world"'
Check the deployed WASM has the latest code AND matches the local build:
# What does VPS neomud.js reference?
VPS_WASM=$(ssh root@159.203.127.47 'grep -o "[0-9a-f]\{20,\}\.wasm" /srv/neomud-web-stage/client/neomud.js')
echo "VPS references: $VPS_WASM"
# Does that file exist on VPS?
ssh root@159.203.127.47 "test -f /srv/neomud-web-stage/client/$VPS_WASM && echo 'EXISTS' || echo 'MISSING'"
# Does local build match?
LOCAL_WASM=$(grep -o '[0-9a-f]\{20,\}\.wasm' client/build/dist/wasmJs/productionExecutable/neomud.js 2>/dev/null)
echo "Local references: $LOCAL_WASM"
[ "$VPS_WASM" = "$LOCAL_WASM" ] && echo "✓ MATCH" || echo "✗ MISMATCH — VPS has stale code"
IMPORTANT: Never declare deployed unless VPS hash matches local build hash. Never manually SCP — fix the pipeline instead.
ssh root@159.203.127.47neomud/home/neomud/neomud-staging//srv/neomud-web-stage//srv/neomud-web-stage/client//srv/neomud-assets/