Skip to content
Back to skills

Dispatch

ASecurity

Dispatch one drydock spec for execution. Use when asked "/drydock:dispatch <id>", "dispatch <id>", "run that spec", or after an unblock when immediate re-dispatch is wanted instead of waiting for the orchestrator tick.

  • 5 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 26, 2026
ai-agentsgogit

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add phspagiari/drydock --skill dispatch --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dispatch?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Dispatch
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/phspagiari-dispatch/badge)](https://www.skillsdirectory.com/skills/phspagiari-dispatch)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: dispatch
description: Dispatch one drydock spec for execution. Use when asked "/drydock:dispatch <id>", "dispatch <id>", "run that spec", or after an unblock when immediate re-dispatch is wanted instead of waiting for the orchestrator tick.
---

# /drydock:dispatch — execute one spec

> **PLUGIN_HOME**: resolve once per invocation as `realpath <this skill's
> base dir>/../..` (the plugin package root — `contracts/`, `board/`,
> `templates/` are its siblings). **STATE_HOME**: `~/.drydock`, or
> `$DRYDOCK_STATE_HOME` if set — the queue, deliverables, archive.

Manual, single-spec version of the orchestrator's dispatch step. The contract
is `<PLUGIN_HOME>/contracts/DISPATCH.md` — re-read it every invocation; this
skill only adds argument handling on top.

## Argument

- `<id>` given → that spec in `<STATE_HOME>/specs/inbox/<id>/`.
- No id and exactly one spec in inbox → that one, after naming it.
- No id and several → list them (id, title, age) and ask which. Never pick.

## Procedure

1. If 2+ executions are already in `<STATE_HOME>/specs/active/`, say so and
   get explicit go-ahead before adding a third (the orchestrator's
   concurrency cap applies to humans too).
2. Run the `<PLUGIN_HOME>/contracts/DISPATCH.md` preflight, fail closed.
   A `marker:` or `chain:` line from `queue_rules.py check` →
   `<STATE_HOME>/specs/blocked/<id>/` +
   `QUESTION.md`, commit in `<STATE_HOME>` (never pushed), report — do not
   execute.
3. Move to `<STATE_HOME>/specs/active/<id>/`, commit `dispatch: <id> -> active`.
4. Worktree per DISPATCH.md, branch `<namespace>/drydock-<id>` (namespace
   from `<STATE_HOME>/config`) off the target repo's default branch, from a
   freshly fetched base — **unless the spec declares `branch:`**, and then
   the worktree is created on that existing branch (`git worktree add <path>
   <branch>`, no `-b`) per DISPATCH step 7, once step 5's staleness proof has
   passed at preflight.
5. Launch the executor as an independent background session:
   `cd <worktree> && claude --bg --model <model> --permission-mode
   <permission-mode> "<DISPATCH step-8 prompt>"` — model from the routing
   table, permission mode from `<STATE_HOME>/config`, both in
   `<PLUGIN_HOME>/contracts/ORCHESTRATOR.md`. DISPATCH step 8 picks the
   prompt from RUN.md as it stood before this dispatch: for a new item that
   is the plan phase (8a), with `phase: plan` written into RUN.md's header
   in the same single write as `base_sha:`.
   The gate (8b) and the implement phase (8c) are driven by the
   orchestrator's ticks, not by this skill — without an orchestrator
   running, a manually dispatched item stops at `PLAN.md`.
6. Verify the session actually started (ListAgents / `claude agents` /
   process), then report one line: id, model, worktree, and where to watch
   (`claude agents`, `/drydock:board`).

Do NOT wait for the execution to finish — dispatch-and-return. Completion
lands on the board and in notifications (or the orchestrator's next tick
verifies it).

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.