remix-run/remix

make-decision-doc

Add a numbered decision document under `decisions/` to capture a non-obvious architectural choice. Use when the user asks for a decision doc, ADR, design rationale, or wants to record why we picked one approach over alternatives.

First seen May 12, 2026

Installation

$ npx skills add remix-run/remix --skill make-decision-doc

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from remix-run/remix · top by installs.

npx skills add remix-run/remix

Browse all from remix-run/remix

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 33.4K
License LICENSE
Default branch main
Open issues 20
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,750 B
  • docs SUMMARY.md 254 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 11 installs

SKILL.md

Make Decision Doc

Overview

Decision docs live at the repo root in decisions/NNN-kebab-name.md. They explain why a choice was made — the tradeoff, the alternatives that were actually considered, and (when useful) the conditions under which we'd revisit. They are not feature specs, not how-to guides, and not changelog entries.

When to write one

  • A non-obvious architectural choice was made and a future contributor would reasonably ask "why didn't we do X instead?".
  • A choice has tradeoffs that are easy to second-guess without context (perf vs. simplicity, lock-in vs. flexibility, ergonomics vs. correctness).
  • We diverged from a common default or industry-standard alternative and the reasoning matters.

Skip a decision doc when the choice is obvious, the alternatives weren't seriously considered, or the rationale already lives in code comments / change file / PR description.

Workflow

  1. Read the existing files under decisions/ (e.g. decisions/001-*.md) to match tone and structure.
  2. Pick the next number by counting existing files (ls decisions/ | wc -l) and add 1. Filename is NNN-kebab-slug.md with a 3-digit zero-padded prefix.
  3. Pick a slug that names the thing being decided, not the verb (single-matcher, not pick-single-matcher).
  4. Draft the doc following the structure below. Keep it grounded — no hypothetical alternatives, no aspirational language.
  5. If the decision relates to other decisions, link them as footnotes ([NNN]: ./NNN-other.md).

Structure

No rigid template — match the style of existing docs. The shape that tends to work:

  • H1 title: a short statement or question that a reader scanning the folder can grok at a glance.
  • Opening framing (1–3 short paragraphs): what the choice was, why it came up, and what the realistic alternatives were. Lead with concrete context, not abstractions.
  • Tradeoff sections: typically "What gets simpler / harder", "Why we chose X", or named sections per dimension (perf, complexity, ergonomics). Use H2s.
  • When to revisit (optional but encouraged): a numbered list of conditions that would flip the decision. Keeps the doc honest and gives future contributors a clear off-ramp.
  • Footnote links to related decisions or external sources cited in the body.

Content rules

  • Ground every claim. Cite benchmarks, blog posts, code references, or measured behavior. If the decision is "feels nicer", say so explicitly rather than dressing it up.
  • Only list alternatives that were actually deliberated. Inventing options to knock down weakens the doc.
  • Past tense for the decision ("we chose X"), present tense for ongoing implications ("X means we don't need Y").
  • Keep prose tight. These docs reward density — readers come looking for a specific answer.
  • Code references use the repo's standard path/to/file.ts style; line ranges with backtick fences when illustrating a specific snippet.
  • No marketing tone, no hedging filler ("it's worth noting that…", "in many cases…"). State the call.

Checklist

  • Did you read at least one existing decision doc to match style?
  • Is the filename NNN-kebab-slug.md with the next available number?
  • Does the H1 communicate the decision in one line?
  • Are the alternatives ones that were actually considered?
  • Did you cite concrete evidence (benchmarks, sources, code) instead of assertions?
  • Is there a "when to revisit" section if the decision could plausibly flip?