원클릭으로
daemon-operations
Use for daemon service health checks, runtime diagnostics, restart procedures, and burn-in monitoring
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use for daemon service health checks, runtime diagnostics, restart procedures, and burn-in monitoring
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when deploying pigeon code changes across all machines after merging to main
Use when you need to understand worker architecture, endpoint flow, and command routing behavior before making changes
Use when you need to understand daemon route flow, storage model, worker connectivity, and command injection architecture before making changes
Use when you need to understand the OpenCode plugin event lifecycle, session state transitions, and daemon API contracts
Use when developing or refactoring OpenCode plugin handlers, tests, and daemon integration payloads
Use when you need to understand the swarm IPC subsystem — tables, routes, the per-target arbiter, the session→directory registry, and the wire envelope — before changing it
| name | daemon-operations |
| description | Use for daemon service health checks, runtime diagnostics, restart procedures, and burn-in monitoring |
Use this skill for day-to-day daemon ops and post-deploy checks.
pigeon-daemon.servicepackages/daemon/src/index.tssystemctl status pigeon-daemon.service --no-pager
curl -s http://127.0.0.1:4731/health
systemctl status opencode-serve.service --no-pager
curl -s http://127.0.0.1:4096/global/health
Expected:
{"ok":true,"service":"pigeon-daemon"}{"healthy":true,...}journalctl -u pigeon-daemon.service -n 100 --no-pager
journalctl -u opencode-serve.service -n 100 --no-pager
Look for:
[poller] tick error: or [poller] poll failed:[poller] dispatch error (skipping ack)[poller] registerSessionsession started sessionId=... directory=...session terminated sessionId=...session compacted commandId=... sessionId=...enable commandId=... server=... session=... or disable commandId=...set commandId=... model=... session=...[reaper] reaped stale session ... or [reaper] cleaned N expired session records[command-ingest] removing dead session sessionId=... (connection error)[command-ingest] wizard advanced to step NFailed to fetch media from R2 in command-ingest logsuploadMedia errors appear in daemon stderrsudo systemctl restart pigeon-daemon.service
systemctl status pigeon-daemon.service --no-pager
# If opencode serve needs restart:
sudo systemctl restart opencode-serve.service
systemctl status opencode-serve.service --no-pager
If media isn't arriving in Telegram or OpenCode:
npx wrangler r2 bucket list should show pigeon-media.env.MEDIA (pigeon-media)./media/upload auth if media never appears in Telegram.cleanupExpiredMedia is sufficient.Run health + one route smoke call:
curl -s -X POST -H "Content-Type: application/json" http://127.0.0.1:4731/session-start --data '{"session_id":"ops-smoke","notify":false}'
curl -s -X DELETE http://127.0.0.1:4731/sessions/ops-smoke