coreyhaines31/decide
When you have a decision to make and want a structured workflow that picks the load-bearing questions, walks through them, reaches a call (or "wait"), and archives the rationale for future reference. Based on the 37signals Guide to Making Decisions (38 questions) plus house additions like Q39 opportunity cost ("what does saying yes displace?"). Triages to 6–8 relevant questions per decision instead of forcing the full set. Archives every decision to ~/.config/makerskills/decide/archive/ with a revisit date so you can check later whether the call was right. Triggers on "/decide," "help me decide," "should I [X]," "I need to make a decision about," "stuck on a decision," "deciding between," "go/no-go on," "what should I do about." This is both the decision-making workflow AND the decision log — making the decision is the act of logging it.
npx skills add https://github.com/coreyhaines31/makerskills --skill decide
Picks load-bearing questions from the 37signals guide, walks through them, reaches a call, archives the rationale with a revisit date.
Get from the user:
If any are missing, ask. Don't proceed with vague framing.
Read references/questions.md for the full set (the 37signals 38 + house additions, e.g. Q39 opportunity cost) and category mapping. Pick 6–8 based on the decision's characteristics:
Default 5 (always ask):
Add based on type:
| If… | Add |
|---|---|
| Reversibility = hard / one-way door | Q14 (is there a wrong decision?), Q17 (knock-on effects), Q34 (principles bent) |
| Time pressure | Q5 (why hesitating?), Q15 (different tomorrow?), Q22 (when do we have to decide?) |
| Multiple people involved | Q21 (someone else's practice rep?), Q27 (would another opinion help?), Q35 (multiple people deciding what one should?) |
| Lots of data / analysis | Q19 (what missing info would change it?), Q26 (data vs gut?), Q9 deepened |
| Recurring decision | Q11 (last time?), Q23 (one-and-done or repeating?) |
| Customer-facing | Q24 (anyone outside depending?), Q25 (customer vs us impact?) |
| Money decision | Q38 (in the end, is this about money?), Q36 (return on effort?), Q39 (what does yes displace?) |
| Big time / focus commitment | Q39 (opportunity cost), Q36 (return on effort?), Q20 (creates or eliminates work?) |
| Stuck / not deciding | Q4 (why hasn't it been made already?), Q10 (what if we don't decide?), Q31 (do you even care?) |
Cap at ~8 questions. More than that turns into analysis paralysis (which is itself one of the things this skill exists to prevent).
Tell the user which questions you picked and why, then proceed.
Ask the questions one at a time, or in a tight cluster if the user wants to write fast. Capture their answers verbatim — don't paraphrase into corporate-speak.
For Q9 (first instinct), get the answer BEFORE diving into analysis. The point is to surface the gut call so we can later check if "analysis" was just rationalization.
Synthesize the answers into a decision. Options:
State the call clearly. No hedging.
Pick a revisit date based on when consequences would show up:
Write what to look for on the revisit ("did MRR move? did the partner ship? do clients still ask for X?").
Archives live in ${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/decide/archive/ (create the directory if missing). Never write archives inside the skill's own folder — skill installs and upgrades re-sync from source and wipe anything saved there.
Migration: if this skill's folder contains an old references/decisions-archive/ with user entries, move those files into the archive directory before writing anything new.
Write to <archive dir>/<YYYY-MM-DD>-<slug>.md:
# Decision: <one-line>
**Date:** YYYY-MM-DD
**Decide by:** <date or "open">
**Reversibility:** easy / hard / one-way door
**Stakes:** low / medium / high
## Context
<1–3 sentences>
## Questions
### <Q3 phrasing>
<answer>
### <Q8 phrasing>
<answer>
(only questions actually applied — heading is the question text, not "Q3")
## Decision
**<the call, stated clearly>**
## Rationale
<2–3 sentences synthesizing the answers>
## Expected outcome
<what should be true if this was right, by <date>>
## Revisit
**<YYYY-MM-DD>** — <what to look for>
## Source
Questions adapted from [The 37signals Guide to Making Decisions](https://37signals.com/how-we-make-decisions)
Append to <archive dir>/INDEX.md (create if missing):
- 2026-06-16 — [<decision>](./<filename>.md) — **<call>** — <one-line rationale> — revisit 2026-09-16
Show the archive entry in chat. Tell the user the archive path. Offer:
loop skill to fire at the right time)compound-engineering:schedule)business-brainstorm — brainstorm scores the idea on 9 dimensions; decide formalizes the go/no-go afterbusiness-brainstorm — brainstorm → decide is a natural pipeline for "should I build X"deep-research — when a decision is waiting on info (Q19), trigger research firstfeedback_*.md for principles that might be at play (Q34)loop / compound-engineering:schedule — for revisit remindersTake coreyhaines31/decide from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.