write-adr

Installation
SKILL.md

/write-adr — Architecture Decision Record scaffolder

This skill writes one ADR file at docs/adr/NNNN-<slug>.md in the consumer's project. It is a scaffolder, not an interview — keep prompts short and focused. The user is here to write down a decision they have already weighed, not to be grilled into making one. (If the user actually needs to interrogate an upstream ask, point them at /gather-requirements instead.)

What an ADR is in this repo

An immutable record of a cross-cutting platform commitment — warehouse choice, modelling convention, PII-handling pattern, governance posture, ingestion framework, scheduler choice. An ADR differs from a DGQ in scope (platform-wide, not a per-stakeholder ask) and in lifecycle (superseded by a later ADR, never edited in place once accepted). Format is MADR-lite: Context, Decision Drivers, Considered Options, Decision, Consequences.

This skill is self-contained: the ADR contract it writes against ships beside it at references/adr.md, and the linter that enforces that contract ships at scripts/lint-adr.sh. Read the contract for the frontmatter fields, enum domains, and body section order before writing — do not duplicate that material here; reference it.

Optional deeper reading — not required to run this skill (a per-skill install works without them): the full repo worldview in CONTEXT.md and the lifecycle reference in docs/data-engineering-101.md.

The hard rule: no single-option ADRs

If the user supplies fewer than two Considered Options, refuse to write the file. Surface the pushback explicitly with the framing below — do not soften it, do not work around it, do not silently fill in a placeholder "do nothing" option on the user's behalf.

An ADR with one option isn't a decision — it's a postcard. The Considered Options section exists to record the alternatives you weighed (including the "keep the status quo" or "do nothing" option, if those were genuinely on the table). What were the realistic alternatives, and why are they not the chosen path? If you really did not consider alternatives, this probably isn't ADR-shaped — log it as a code comment, a runbook note, or a CHANGELOG entry instead.

Ask the user to either name at least one more option or to drop the ADR.

Installs
5
First Seen
May 23, 2026