Receber por email
← Voltar para o catálogo

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 autoworker:dispatch.

16estrelas
Atualizado há 7 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add phj128/autoworker

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/dispatch-phj128/svg)](https://www.skillteca.com.br/skills/dispatch-phj128)

Skills relacionadas

Ver todas de Desenvolvimento →

Alerta por categoria

Receba novas skills de Desenvolvimento toda segunda

1 email curto, só com as skills novas de Desenvolvimento. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

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
Compartilhar X LinkedIn