autoship-discord-commands
Read Discord for operator commands and execute against AutoShip state
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Read Discord for operator commands and execute against AutoShip state
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
Delegate GitHub issue-to-PR orchestration to the AutoShip OpenCode plugin.
Implementer role — writes code to implement features or fixes
AutoShip orchestration for OpenCode-only workers
Display current AutoShip orchestration status — running agents, quota bars, progress, token usage
Interactive setup wizard for AutoShip on OpenCode — model selection, tool detection, concurrency tuning
Post-completion verification pipeline for OpenCode — review, simplify, re-verify, PR creation, CI monitoring, cleanup
| name | autoship-discord-commands |
| description | Read Discord for operator commands and execute against AutoShip state |
| platform | opencode |
| tools | ["Read","Write","Bash","Skill"] |
Poll Discord for operator commands and execute against state.
if [ -f .autoship/discord-last-seen.json ]; then
LAST_SEEN=$(jq -r '.last_seen_id // ""' .autoship/discord-last-seen.json)
else
LAST_SEEN=""
fi
mcp__discord__fetch_messages(since: "<LAST_SEEN>")
Check .autoship/discord-auth.json:
{
"allowed_user_ids": ["123456789012345678"],
"allowed_role_ids": ["987654321098765432"]
}
Fail closed if auth file missing.
| Pattern | Command |
|---|---|
work on #N | Force-dispatch issue N |
skip #N | Exclude issue N |
pause | Halt dispatch loop |
resume | Restart dispatch loop |
status | Post status summary |
work on #N — Force DispatchEVENT='{"type":"force_dispatch","issue":"'"$ISSUE_NUM"'","priority":1,"source":"discord","queued_at":"'"$(date -u +%Y-%m-%dT%H:%M:%SZ)"'"}'
jq --argjson evt "$EVENT" '. += [$evt]' .autoship/event-queue.json > .autoship/event-queue.tmp && mv .autoship/event-queue.tmp .autoship/event-queue.json
Reply: "Dispatching #N — added to front of queue."
skip #N — Exclude Issuejq --arg n "$ISSUE_NUM" '.excluded_issues += [$n] | .excluded_issues |= unique' .autoship/state.json > .autoship/state.tmp && mv .autoship/state.tmp .autoship/state.json
Reply: "Skipped #N — excluded from future dispatch."
pause — Halt Dispatchjq '.paused = true' .autoship/state.json > .autoship/state.tmp && mv .autoship/state.tmp .autoship/state.json
Reply: "Paused. N agent(s) still running."
resume — Restartjq '.paused = false' .autoship/state.json > .autoship/state.tmp && mv .autoship/state.tmp .autoship/state.json
Reply: "Resumed. Dispatch restarting from phase N."
status — Post SummaryPhase: $(jq -r '.plan.current_phase // "1"' .autoship/state.json)
Paused: $(jq -r '.paused // false' .autoship/state.json)
Agents: $(jq '[.issues[] | select(.state == "running")] | length' .autoship/state.json) running
Reply with formatted block.
cat <<EOF > .autoship/discord-last-seen.json
{
"last_seen_id": "$NEWEST_MSG_ID",
"last_poll": "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
}
EOF
discord-commands: processed N command(s) — [list]