dispatch
Start polecat workers on queued tasks already on the graph, given task ids or a parent whose ready tasks should run. Writes no tasks. Exclude for turning an objective into tasks or changing a task's text (use /reify).
- License 许可
- MIT
- 最近更新
- 2026-11-13
- Stars
- ★ 5
- Forks
- 3
01 前言 Front Matter
- name
- dispatch
- description
- Start polecat workers on queued tasks already on the graph, given task ids or a parent whose ready tasks should run. Writes no tasks. Exclude for turning an objective into tasks or changing a task's text (use /reify).
03 SKILL.md 正文
/dispatch: start polecat workers on queued tasks
The task record is the whole message to the worker. Start it as written. The task dispatch pipeline is used for any durable deliverable -- including agent workflows, instruction updates, specifications, and code changes. Questions and lookups that can be answered in-turn are answered directly without queueing tasks. Never dispatch questions or lookups to workers.
A polecat is a short-running container: it gets in, does its task, and gets out cleanly. Follow-up lives on the task graph, where the workflow puts it, never in a worker waiting for it. Dispatched workers operate under the worker state-only invariant: a worker may only mutate that task's own state (checking off criteria, recording verifiable evidence, transitioning status). Workers never inspect or modify edges across other tasks, compute reverse dependencies, or mint follow-up verification tasks; unblocking and sequencing belong exclusively to the graph engine and dispatcher.
1. Check each task is ready
Read each task you were given; for a parent, read its children and take the ready ones.
A task is ready when its status is queued, it has no open needs edges or incomplete children, it fills the /reify task template (Goal, Acceptance, Instructions, Output), and its Instructions conclude with the composed workflow's release step. When all open children under a composite task (parent) reach done, the composite task does not automatically close if it contains substantive acceptance criteria; instead, it becomes ready for an explicit synthesis and sign-off pass managed by /reconcile.
- A QA follow-up stays queued until its primary task releases
done; once the primary task releasesdone, the QA follow-up'sneedsdependency is satisfied and it becomes ready for immediate dispatch. - A task that folds follow-ups into internal subtasks is ready when executable by the same agent in one session; only send to
/reifywhen work requires independent sessions, personas, or approval gates that must be cut into an epic with child tasks. - Send a task that is unready or underspecified to
/reifywith its id, because writing and rewriting tasks is that skill's job. Dispatch the rest. - Graph deduplication and premise check: Verify that no conflicting or overlapping open task exists (query
pkb_list_tasksfor active sibling tasks under the parent container) and that a premise-check PASS was recorded on reification before dispatching. If an unlinked sibling covers identical subsystem artifacts, halt and resolve the overlap. - Intake Contract: On receiving a direction or work brief, the receiving agent must record its own summary stating deliverables as a frozen
## Acceptancechecklist on a PKB task before work starts.
2. Start the workers
Start one polecat worker per ready task, in parallel, through the project's dispatch pathway. The worker's whole prompt is /ida:pull <task-id>, because the task carries everything else.
Workers queue asynchronously; callers are not notified when they start, and neither track nor report starts. Assume work proceeds unless an error comes back. A worker dispatch failure is a halt: report the task id and the failure verbatim.
3. Report and stop (fire-and-forget)
Dispatch is fire-and-forget: the worker records its result on the task graph. Once tasks are dispatched, output the dispatch report and end your turn immediately:
- Output one line per task: title, id, and that the task is queued for a worker, or the
/reifyhand-back and why. - Never wait for a worker to finish in the dispatch turn, never wait for or report worker starts, and never call or block on event-stream tools (such as
polecat_polecat_events), status checks, sleep loops, or timers.
4. Act on a completed worker (separate invocation or turn)
Worker outputs (status, completion_evidence, pr_url) return on the PKB task graph after the container exits. When a session is invoked in a separate turn or invocation to check or /reconcile a completed worker (or woken by an external completion notification):
- Done (
status=done,exit_code=0): Read the worker's report on the task record and check it perpremise-check. Read downstream tasks on the graph whoseneedsdependencies are now satisfied, and dispatch any that are ready. Trigger/verifyon the deliverable or/reconcileas needed. - Partial or Failed (
status=partialorstatus=failed, orexit_code!=0): Inspect the failure reason recorded on the task and container logs. If unfinished work remains, route the follow-up through/reifyor escalate per fail-fast.
04 同仓库更多 Skills
refresh-questions
Sweep and refresh open questions in the Telegram Mini App by closing questions that are answered elsewhere, superseded, or asking for completed actions, and ensuring active open questions carry recommendations and context. Use when asked to refresh questions, sweep stale questions, or keep the Mini App decision queue current. Exclude for asking new questions or routine chat replies.
refresh-questions
Sweep and refresh open questions in the Telegram Mini App by closing questions that are answered elsewhere, superseded, or asking for completed actions, and ensuring active open questions carry recommendations and context. Use when asked to refresh questions, sweep stale questions, or keep the Mini App decision queue current. Exclude for asking new questions or routine chat replies.
refresh-questions
Sweep and refresh open questions in the Telegram Mini App by closing questions that are answered elsewhere, superseded, or asking for completed actions, and ensuring active open questions carry recommendations and context. Use when asked to refresh questions, sweep stale questions, or keep the Mini App decision queue current. Exclude for asking new questions or routine chat replies.
refresh-questions
Sweep and refresh open questions in the Telegram Mini App by closing questions that are answered elsewhere, superseded, or asking for completed actions, and ensuring active open questions carry recommendations and context. Use when asked to refresh questions, sweep stale questions, or keep the Mini App decision queue current. Exclude for asking new questions or routine chat replies.
dispatch-queue
Show the user the tasks ready to dispatch, ranked with a recommendation on each, and start workers on the ones the user approves -- redirects to universal workflow template wf-dispatch-queue. Use for "what's ready", "what should we dispatch", or "dispatch the queue". Exclude for starting workers on named tasks without the user's choice (use dispatch) or graph truth maintenance (use reconcile).
dispatch-queue
Show the user the tasks ready to dispatch, ranked with a recommendation on each, and start workers on the ones the user approves -- redirects to universal workflow template wf-dispatch-queue. Use for "what's ready", "what should we dispatch", or "dispatch the queue". Exclude for starting workers on named tasks without the user's choice (use dispatch) or graph truth maintenance (use reconcile).