phase-contractlisted
Install: claude install-skill gtrabanco/agentic-workflow
# Phase Contract (internal)
The one authoritative owner of phase shape for this workflow. Planners lint
every phase they emit against the eight rules below; `execute-phase` re-checks
the same rules before any edit. Nothing else may define what a valid phase is.
## When to use
- `plan-feature-scaffold` — lint every phase of a feature plan before emission.
- `plan-fix` — lint every phase of a fix SPEC before commit.
- `execute-phase` — phase-lint pre-flight guard before editing a phase.
- Templates store the contract version + fingerprint + lint result, never the
eight rules (they point here).
## The eight phase-lint rules
Every implementation phase must pass all 8 boxes before it is emitted (planner
skills) or executed (`execute-phase` pre-flight). Fail-closed: any unticked box
blocks emission/execution until the phase is re-cut or split.
1. **Title names ONE deliverable** — FAIL if it joins nouns with `+`, `,`, `&`,
`and`/`y`, or `/`.
2. **One declared layer** — each phase declares exactly one of the fixed enum
`schema/db | domain | api | ui | config/infra | docs | hardening | close-out`;
FAIL if any task's target file belongs to another. Tests for the phase's own
layer belong to the phase; a test-only phase declares `hardening`.
3. **≤ 8 tasks** (close-out phase: ≤ 10, only the literal close-out chain).
4. **One checkbox = one deliverable** — FAIL if a task contains a `→` chain of
implementation steps, enumerates > 3 cases/scenarios, or creates > 1 fil