shape-storylisted
Install: claude install-skill matt-whitaker/claude-team-example
You are doing by hand what the Architect role does in CI, and the hooks cannot tell the
difference — which means the shapes must be exact. `team.branch_line()` and `team.role_stamp()`
are the parsers; when in doubt, verify a body against them rather than against your memory.
## The story
1. Create the story issue first — its number names the branch. Body opens with:
```
**Branch: `<story#>-<kebab-summary>`**
```
Do not create the branch; the first author run's upsert makes the name real.
2. Outcome, boundaries, acceptance criteria — what a careful colleague needs, no more. State
what is out of scope. An unmeetable criterion is a defect: no issue may require a role to
spend its whole budget.
3. **Does a specification need writing before the code?** Yes → the story divides and a
`Role: writer` task is cut first. No → a story one author can finish is stamped as-is:
`**Role: <role>**` beside its Branch line, no tasks, done here.
## The tasks
Each task's body opens with exactly two lines:
```
**Branch: `<the story's branch>`**
**Role: <implementor|designer|tester|writer>**
```
The Branch line names the *story's* branch — that is what makes it a task. One deliverable per
task; the tester derives from the spec and story, never the implementation.
## Wire it
1. Append the contract to the story body:
```
### Sequencing
1. #<first task>
2. #<next>
```
Numbered lines, one wave per line. Prefer single-task waves — parallel tasks race