goalslisted
Install: claude install-skill vraj-ai/skills
# Goals
Within a goal run, `goals` is the only delivery orchestrator and the only
writer of `CONTEXT/goals/<slug>/backlog.jsonl`. It composes `parallel` for code and
`council` for contested research and review. Subagents emit evidence; they
never mutate the backlog.
## State contract
For plan `<plan-path>`, derive a stable `<slug>` and use:
```text
CONTEXT/goals/<slug>/
goal.md
backlog.jsonl
handoff.md
lock.d/owner.json
reviews/M<n>.json
reviews/T3.json
CONTEXT/worktrees/<slug>/
results.json
<id>.digest.json
*.log
```
Every backlog line has at most these 12 fields:
`id`, `type`, `title`, `status`, `milestone`, `priority`, `source`,
`source_id`, `depends_on`, `acceptance`, `attempts`, `created_by`.
Use `scripts/state.mjs` for locks, validation, ready calculation, and atomic
replacement. Never append or edit the backlog in place. Mirror backlog state
to GitHub issue labels when a GitHub remote is available, but resume from the
local backlog. Use exactly one `goals:*` state label per issue. Publish the
3-7 thematic groups as native GitHub Milestones; milestone size has no fixed
issue cap.
## Context ownership contract
In a consumer project, durable context is bounded, single-owner, and
event-driven. Track only these artifacts; everything else is runtime state.
| Artifact | Writer | Update trigger |
|---------------------------------------------------|--------|----------------|
| `AGENTS.md`