specrail-write-product-speclisted
Install: claude install-skill majiayu000/vibeguard
# SpecRail Write Product Spec
Use this skill for the product half of the `write_spec` route.
## Steps
1. Confirm the linked issue number. Search first if no issue is provided.
2. Read `workflow.yaml`, `states.yaml`, `labels.yaml`, and the relevant product
spec template from `templates/<locale>/product_spec.md` or
`templates/product_spec.md`.
3. Run the local gate when available:
```sh
python3 checks/route_gate.py --repo . --route write_spec --issue <issue-number> --state ready_to_spec --json
```
4. Pick the depth tier from the length heuristic below, then write
`docs/specs/GH<issue-number>/product.md`.
5. Keep product content about observable behavior: goals, non-goals, behavior
invariants, acceptance criteria, edge cases, and open questions.
6. Write behavior as numbered, testable invariants without implementation
detail, following the density rule and the worked example below.
7. Fill the boundary checklist: every category is either covered by a named
invariant or explicitly marked N/A with a reason.
8. Keep implementation approach, file ownership, test commands, and rollout
mechanics for the tech spec or task plan.
## Length heuristic
Length follows complexity, never the template. Do not pad a simple change and
do not compress a gate-contract change.
| Tier | Typical change | Spec size |
| --- | --- | --- |
| trivial | single-file fix, no new behavior contract | minimal spec; declare `complexity: trivial` under the Linked Issue heading and keep