decision
Write a product-mode decision record for a choice made in this conversation and save it to .product-mode/decisions/. Use when the user types /decision.
SKILL.mdskills/decision/SKILL.md
GitHubDecision record
Record the decision the user names. Use the text after the command as the decision title. If there is no text, use the most recent non-trivial decision in the conversation, and confirm the title with the user.
- Check
.product-mode/decisions/for an entry about the same decision. If one exists, update it instead of writing a new one, and tell the user its path. - Draft each field from the conversation and the code:
- Context: the problem and the constraints
- Options considered: every option that was discussed, including the rejected ones
- Choice: the option chosen, and the reason
- Reversibility:
one-way doorortwo-way door - Revisit trigger: the metric, date, or condition that reopens this decision
- Never invent options, reasons, or evidence that the conversation does not contain. If the reason or the revisit trigger is missing, ask for it.
- If the decision is a one-way door (public API, data schema, pricing, brand, core UX), confirm that the user signed off and that the tradeoffs are written down.
- Show the draft. When the user confirms, save the file as
.product-mode/decisions/<UTC timestamp>-<title-slug>.md. Use the timestamp format2026-01-31T09-05-00-000Zand a lowercase, hyphenated slug. Use this content:
## Decision: <title>
Date: <YYYY-MM-DD>
Context: <context>
Options considered: [<A>, <B>, <C>]
Choice: <X>, because <reason>
Reversibility: <one-way door | two-way door>
Revisit trigger: <trigger>
---
*Generated by product-mode /decision*
- Tell the user the saved path.