Skip to content
Automation
Skill

/dispatch

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

From plugin
autoworker
1811 skills1 command
Install
$ npx -y skills add phj128/autoworker --skill dispatch --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/dispatch

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

dispatch.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
Read more
Ships withautoworker

An auto-loop execution workflow with quality gates for Claude Code. Give Claude a task. Autoworker decomposes it, implements code, runs tests, and iterates through quality gates — autonomously looping until the job is done right.

Get the whole plugin
Stats
18
Stars
3
Forks
Maintained
Maintenance
Shell
Language
MIT
License
5mo ago
Last commit
5mo ago
Created

Repo: phj128/autoworker

Other skills on autoworker.