name: deploy-verify-watch description: >- Background-watch live-verify PRs: classify auth/multi-SPA/deploy changes, auto-dispatch Deploy Organization (or configured workflow) on each new head SHA, and wake the agent when the deploy finishes so a human can re-smoke before Approve/merge. Use when opening or pushing to PRs that need host verification, or when the user asks to watch deploy-verify.
Deploy verify watch (live smoke before land)
Some PRs cannot be trusted on CI alone. Auth handoffs, logout/redirect_uri,
cookie SSO, multi-SPA cutovers, and Deploy Org wiring need a real dev host
smoke after each push — before Approve/merge.
This skill closes the gap where PR Checks re-run on push but no deploy fires until a human asks in chat.
When a PR is "live-verify"
Arm this watcher when any of these are true (script --classify encodes the
same heuristics):
| Signal | Examples |
| ------ | -------- |
| Label | verify-live or live-verify |
| Paths | accounts-frontend, AccountsAuthRedirect, accounts-redirect, return-to, session-expiry, deploy-organization.yml, frontend-accounts-stack, frontend-app.ts |
| Title/body | redirect_uri, logout, cookie, SSO, Phase 0e, cutover, post-login, accounts.dev / admit.dev |
When unsure, arm anyway and/or add the verify-live label.
Hard rules
- After opening or pushing to a live-verify PR (or when the user asks), start
.claude/skills/deploy-verify-watch/scripts/watch-deploy-verify.shin the background with agentnotify_on_outputon^AGENT_LOOP_WAKE_deploy_verify. - Do not redirect watcher stdout away from the monitored terminal.
- Prefer
--dispatch-on-arm(or default--auto-dispatch) so the current head gets a deploy without waiting for another push. - On
deploy_green: tell the human the SHA/environment is ready to re-smoke; do not merge on green alone — Approve remains the merge proceed signal (pr-approve-watch). - On
deploy_failed: remediate (logs → fix → push). The watcher re-dispatches on the new SHA. - After any fix that invalidates a prior smoke, do not wait for chat — push and keep this watcher armed (auto-dispatch handles the redeploy).
- Pair with
pr-approve-watchfor Approve → triage → merge.
Launch template
# From workspace root (paths work after team-setup update-config)
bash .claude/skills/deploy-verify-watch/scripts/watch-deploy-verify.sh \
--interval 30 \
--activate ~/.config/rosetta/github-app-activate.sh \
--workflow "Deploy Organization" \
--environment dev \
--frontend \
--dispatch-on-arm \
--kickoff \
Rosetta-Foundation/rosetta_dev-scripts#1
Classify only:
bash .claude/skills/deploy-verify-watch/scripts/watch-deploy-verify.sh \
--classify Rosetta-Foundation/rosetta_dev-scripts#1
# exit 0 = needs live verify
Optional: --activate ~/.config/<workspace>/github-app-activate.sh for a
consumer workspace.
--no-auto-dispatch if you will dispatch manually but still want completion wakes.
On wake
eval "$(bash ~/.config/rosetta/github-app-activate.sh)"by default, or use the consumer workspace's~/.config/<workspace>/github-app-activate.sh.- Read the wake JSON (
reason,sha,runUrl,target). - Act by reason:
kickoff/deploy_dispatched/head_pushed: wait for deploy outcome unless remediation is already needed; do not ping the human to smoke yet.deploy_green: notify human — re-smoke on the live hosts for this SHA; link the Actions run. Keeppr-approve-watcharmed for Approve.deploy_failed:gh run view <id> --log-failed, fix, commit, push.pr_merged/pr_closed: brief report; drop this target.
- Never treat deploy green as permission to merge.
Anti-patterns
- Assuming PR Checks = deployed to
admit.dev/accounts.dev. - Waiting for the human to ask "is it redeployed?" after you pushed a fix.
- Merging on deploy green without Approve + review-comment triage.
- Swallowing wake sentinels by redirecting watcher stdout.
Architecte Docker Compose
DevOps
Concoit des configurations Docker Compose optimisees.
Rapport de Post-Mortem
DevOps
Rédige des rapports post-mortem d'incidents structurés et blameless.
Créateur de Runbooks
DevOps
Crée des runbooks opérationnels clairs pour les procédures DevOps courantes.