Skip to content
Back to skills

Dispatch

ASecurity

Read subtask.md checkbox state and route to next skill. The ONLY routing point in the execution loop. Called after autoworker:checkpoint, autoworker:gate-check, autoworker:subtask-update, autoworker:subtask-plan, or when resuming after context loss. When lost, call autoworker:dispatch.

  • 17 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 26, 2026
tools

Works with

  • terminal

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add phj128/autoworker --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/phj128-dispatch/badge)](https://www.skillsdirectory.com/skills/phj128-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: |
  Read subtask.md checkbox state and route to next skill. The ONLY routing point in the execution loop.
  Called after autoworker:checkpoint, autoworker:gate-check, autoworker:subtask-update, autoworker:subtask-plan, or when resuming after context loss.
  When lost, call autoworker:dispatch.
---

# autoworker:dispatch — Execution Chain Router (Sole Routing Point)

Reads subtask.md checkbox state and routes to the next skill based on fixed priority.

**When to call**: Automatically called after autoworker:checkpoint, autoworker:gate-check, autoworker:subtask-update, autoworker:subtask-plan complete, or manually called after context loss.

## Execution Flow

### 1. Locate Subtask

```
Glob `subtask_*.md` (exclude subtask_template.md) →
  0 found → stop, prompt to create subtask
  1 found → use directly (backward compatible)
  multiple → grep `status:` to filter:
    - Files without status field treated as active (backward compatible)
    - Exactly 1 active → use it
    - 0 active → list all files + status, prompt user to choose
    - >1 active → report anomaly
→ Read → extract:
- Plan section Phase checkbox states
- Verification plan section L1-L4 checkbox states
- Whether a `Gate result:` line exists and its value
```

### 2. Status Summary

Tally and output current state:

```
dispatch (subtask: <filename>):
- Phases: X/N complete
- Tests: L1 done/pending, L2 done/pending/skip, L3 done/pending/skip, L4 done/pending
- Gate: <empty/PASS/FAIL>
```

### 3. Fixed Priority Routing

Evaluate in this order, **execute the first match, do not continue evaluating**:

1. **Has incomplete Phase?** → invoke `autoworker:code`
2. **All Phases complete, has untested layer?** → invoke `autoworker:test <level>` (pass the first incomplete level)
3. **All tests complete, no Gate result?** → invoke `autoworker:gate-check`
4. **Gate result = PASS?** → output completion report (**terminal point, do not invoke any further skill**)
5. **Gate result = FAIL?** → invoke `autoworker:subtask-update`

### 4. Output Routing Decision

Append routing decision after the status summary:

```
→ Invoking autoworker:code to implement Phase Y
```
or
```
→ Invoking autoworker:test L2
```
or
```
→ Invoking autoworker:gate-check
```
or
```
Task complete! Outputting completion report.
```
or
```
→ Invoking autoworker:subtask-update (Gate FAIL)
```

### 5. Execute Route

**After outputting the routing decision, immediately invoke the corresponding skill. Do not wait for user instructions, do nothing else.**

Only exception: Gate PASS — directly output completion report, do not invoke any other skill.

## Key Constraints

- **Only read checkboxes, do not infer or remember**: State comes entirely from the file, not from conversation context
- **Layers marked "skip" in the verification plan count as complete**: If the plan says "skip L2, reason: ..." and has no L2 items → treated as complete
- **Accepts no arguments**: Entirely driven by file state
- **Gate result reading method**: grep for `Gate result:` line, read PASS or FAIL
- **PASS is the only terminal point**: Only when Gate PASS does dispatch terminate the loop

## Important Notes

- **dispatch is stateless**: Every invocation re-reads the file, ensuring consistency after context loss
- **Makes no modifications**: Does not edit files, write code, or run tests — only reads and routes
- **Loop-safe**: dispatch never calls itself — only calls autoworker:code, autoworker:test, autoworker:gate-check, or autoworker:subtask-update

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.