git-spec-dispatchlisted
Install: claude install-skill pivoshenko/pivoshenko.ai
# Spec Dispatch
issue tree -> wave plan -> agents -> verify -> PR -> close -> repeat.
`git-spec-plan` writes the tree and this runs it. Planning never fans out: the parent's acceptance criteria, the sub-issue split, and the `Contract` blocks that make waves provably safe all need whole-repo context, and each depends on the last. Only sub-issues fan out.
Substrate-independent. Inside Herdr (`HERDR_ENV=1`) subagents are panes per the `Herdr` instruction, and the mechanics - budget, split, start, brief, collect, blocked, cleanup - belong to `herdr-dispatch`. Outside it, dispatch the same waves with the `Agent` tool. Either way this skill owns only what is spec-specific.
## Preconditions
```bash
test "${HERDR_ENV:-}" = 1 # decides the substrate only, never whether to proceed
gh issue view <parent> --json number,title,state
```
Parent closed -> stop and ask; a closed spec is not a work queue. No sub-issues -> send the user to `git-spec-plan`. **Never author a spec, a sub-issue, or a `Contract` block here.**
## Flow
1. Read the tree:
```bash
gh issue view <parent> --json number,title,state
gh api repos/{owner}/{repo}/issues/<parent>/sub_issues --jq '.[] | {number,title,state}'
```
`{owner}/{repo}` are `gh` placeholders - leave them literal, `gh` fills them from the current remote. Why -> `gh issue list` has no parent/child filter and native sub-issues surface only through the API, so listing by label or milestone silently returns a different set than t