brewtoolssshlisted
Install: claude install-skill kochetkov-ma/claude-brewcode
# SSH Server Management
> Manage remote Linux servers — connect, configure, deploy, administer with safety gates and persistent config.
<instructions>
## Robustness Rules (MANDATORY — all phases)
### Fail-Fast
| Rule | Applies to |
|------|-----------|
| Every Bash call MUST end with `&& echo "OK ..." \|\| echo "FAILED ..."` | ALL scripts |
| On `FAILED` — stop phase, report error, do NOT retry same command blindly | ALL phases |
| SSH commands MUST use `-o ConnectTimeout=10 -o BatchMode=yes` | ALL SSH calls |
| Max **2 retries** per failed operation; after 2nd failure — report and stop | ALL phases |
| Non-zero script exit — read stderr, diagnose, fix root cause, retry ONCE | Scripts |
### Loop Protection
| Rule | Limit |
|------|-------|
| Phase 2 (Connection Setup) — max **3 key attempts**, then ask user | 3 keys |
| Phase 2 → Phase 5 round-trips — if sent back to Phase 2 more than **once**, stop and report | 1 re-entry |
| Phase 5 (Execute) — max **5 SSH commands per invocation**; if more needed, delegate to ssh-admin agent via Task | 5 commands |
| update-agent mode — max **3 servers** per run; process first 3 and report remaining | 3 servers |
| AskUserQuestion — max **3 questions per phase**; summarize missing info in one combined question | 3 per phase |
### Timeouts
| Operation | Timeout | Action on timeout |
|-----------|---------|-------------------|
| SSH connection test | 10s (`ConnectTimeout=10`) | Report "Server unreachable", stop |
| server-discover.s