Use this skill for the product half of the write_spec route.
Steps
- Confirm the linked issue number. Search first if no issue is provided.
- Read
workflow.yaml,states.yaml,labels.yaml, and the relevant product spec template fromtemplates/<locale>/product_spec.mdortemplates/product_spec.md. - Run the local gate when available:
python3 checks/route_gate.py --repo . --route write_spec --issue <issue-number> --state ready_to_spec --json
- Write
specs/GH<issue-number>/product.md. - Keep product content about observable behavior: goals, non-goals, behavior invariants, acceptance criteria, edge cases, and open questions.
- Write behavior as numbered, testable invariants without implementation detail.
- Keep implementation approach, file ownership, test commands, and rollout mechanics for the tech spec or task plan.
Boundaries
- Do not write a numbered spec without a linked issue unless a human explicitly chooses a non-GitHub workflow.
- Do not translate stable IDs, paths, commands, JSON keys, states, or route names.
- Keep human-facing product text in the selected locale.