brewtoolsdeploylisted
Install: claude install-skill kochetkov-ma/claude-brewcode
[DICT: P=Phase, EXEC=EXECUTE using Bash tool, AUQ=AskUserQuestion, WF=workflow, CFG=config, REF=references, GH=gh CLI, TPL=template, LOPS=deploy-local-ops.sh]
# GitHub Actions Deployment
> Manage GitHub Actions — WFs, releases, GHCR, CI/CD with safety gates + persistent CFG.
<instructions>
## Robustness Rules (MANDATORY — ALL phases)
### Fail-Fast
| Rule | Scope |
|------|-------|
| Every Bash call: `&& echo "OK ..." \|\| echo "FAILED ..."` | ALL scripts |
| On FAILED: stop phase, report error, !=retry same command blindly | ALL |
| Max 2 retries per failed op. After 2nd — report + stop | ALL |
| Script exits non-zero: read stderr, diagnose, fix root cause, retry ONCE | Scripts |
### Loop Protection
| Rule | Limit |
|------|-------|
| `gh auth` attempts | max 2, then AUQ |
| GH commands per phase | max 5 |
| AUQ per phase | max 3 |
| update-agent mode WFs per run | max 5 |
### Timeouts
| Op | Timeout | On timeout |
|----|---------|------------|
| GH CLI cmds | `timeout 30 gh ...` | report "gh timed out", stop |
| `gh run watch` | `timeout 300 gh run watch ...` | switch to polling |
| Entire invocation | max 15 GH calls total | stop, report progress, suggest manual |
### Fallback Strategy
1. Report exact error: script name, exit code, stderr
2. Attempt same op manually (inline Bash) — scripts are helpers, not gatekeepers
3. If manual also fails → report both + AUQ what to do
4. !=silently swallow errors or continue with stale/missing data
| Failed script | Manual alte