Dispatch Management

Manage ISCP dispatches for inter-agent communication. Supports list, read, fetch, reply, create, resolve, check, and status commands.

Sby Skills Guide Bot
ProductivityIntermediate
107/24/2026
Claude Code
#dispatch-management#inter-agent-communication#iscp#productivity

Recommended for


description: Manage dispatches — list, read, fetch, reply, create, resolve

<!-- Flag #62/#63: allowed-tools removed. Inherits Bash(*) from .claude/settings.json. Restricting to specific subcommand patterns at the skill level silently blocks agents on permission prompts the agent cannot see — see dispatch #171 for the devex incident that surfaced this trap. -->

Dispatch Management

Manage ISCP dispatches for inter-agent communication. Dispatches are indexed in the ISCP SQLite DB with payload files in git. All operations use integer dispatch IDs, not file paths.

Arguments

  • $ARGUMENTS: Subcommand and arguments. One of:
    • list — list dispatches addressed to current agent
    • list --all — list all dispatches across agents
    • list --status <s> — filter by status (unread, read, resolved)
    • list --type <t> — filter by type
    • read <id> — display dispatch payload and mark as read
    • fetch <id> — read-only peek (no status change)
    • reply <id> "message" — quick response to a dispatch
    • create --to <addr> --subject <text> — create a new dispatch
    • create --to <addr> --subject <text> --body <text> — create with inline content
    • resolve <id> — mark a dispatch as resolved
    • check — silent check for unread items (hook use)
    • status <id> — show full dispatch record

If empty, defaults to list.

Instructions

list

Run bash $CLAUDE_PROJECT_DIR/agency/tools/dispatch list $ARGUMENTS and display results.

read / fetch

  • read <id> — displays the dispatch and marks it as read. Use when you're committing to process it.
  • fetch <id> — displays the dispatch without changing status. Use to peek before deciding.

Run bash $CLAUDE_PROJECT_DIR/agency/tools/dispatch read <id> or fetch <id>. Summarize the content for the user.

reply

Quick response to an existing dispatch. Auto-resolves the recipient from the original sender, prefixes subject with "Re:", and sets the in_reply_to FK.

bash $CLAUDE_PROJECT_DIR/agency/tools/dispatch reply <id> "Your response message"

create

Create a new dispatch. The --to address must be fully qualified (repo/principal/agent).

bash $CLAUDE_PROJECT_DIR/agency/tools/dispatch create --to <addr> --subject <text> [--body <text>] [--type <type>] [--priority <p>]
  • Without --body: writes a template payload (warns about placeholders — edit before committing)
  • With --body: writes the message as payload content (no template)
  • Types: directive, seed, review, review-response, commit, master-updated, escalation, dispatch
  • Priority: normal (default), high, low

resolve

Mark a dispatch as resolved, optionally linking a response dispatch:

bash $CLAUDE_PROJECT_DIR/agency/tools/dispatch resolve <id> [--response <id>]

check

Silent check for unread items. Returns JSON {"systemMessage": "..."} when items are waiting, silent exit 0 when empty. Used by the iscp-check hook.

status

Show the full record for a dispatch including timestamps, read_by, and payload path:

bash $CLAUDE_PROJECT_DIR/agency/tools/dispatch status <id>

Dispatch Workflow

  1. Receive: dispatch list → see what's waiting
  2. Peek: dispatch fetch <id> → inspect without committing
  3. Read: dispatch read <id> → commit to processing, marks as read
  4. Reply: dispatch reply <id> "message" → quick acknowledgment or response
  5. Resolve: dispatch resolve <id> → mark as done

Payload Resolution

Dispatch payloads are resolved transparently across branches and worktrees. The resolution ladder: local worktree → main checkout → git show all branches → scan all worktree directories. You don't need to merge main to read a dispatch — just dispatch read <id>.

Related skills