Record decision
Append a new Architecture Decision Record (ADR) to the repo with an auto-incremented number and the MADR template. TRIGGER when the user says "record this decision", "log this decision", "add an ADR for X", "create an ADR about Y", "record the choice to use Postgres", "write up this decision", "document this as an ADR", "/nyann:record-decision". Do NOT trigger on "write a doc" / "add documentation" (those are broader — route to the appropriate doc skill). Do NOT trigger on "record a bug" / "open an issue" (those are GitHub concerns). Do NOT trigger on "what decisions have we made" (that's reading existing ADRs, not creating one).From its SKILL.md
npx -y skills add thettwe/nyann --skill record-decisionAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.2 KB, 941 tokens by cl100k_base, as published. Nobody here has run it
record-decision
Wraps bin/record-decision.sh. Creates one ADR file per invocation
under docs/decisions/ (or the profile's configured location). Only
MADR format is supported in v1.
1. Collect inputs from the user
-
--title(required). Short, imperative headline: "Use Postgres for the primary datastore", "Adopt pnpm over npm". If the user's phrasing is long and prose-y ("I think we should probably go with Postgres because…"), propose a crisp title and confirm. -
--status.proposed(default) when the decision is still up for review;acceptedwhen the user says "we've already decided" or similar. Never default toacceptedsilently — when unclear, you MUST call theAskUserQuestiontool (not plain text):{ "questions": [ { "question": "What is the status of this decision?", "header": "Status", "multiSelect": false, "options": [ { "label": "Proposed (Default)", "description": "Decision is open for review" }, { "label": "Accepted", "description": "Decision has already been agreed upon" } ] } ] } -
--dir. Defaultdocs/decisions. Override when the repo uses a different location (check the profile'sdocumentation.scaffold_typesif uncertain). -
--slug— derived from the title. Review the auto-derived slug with the user when the title contains non-ASCII or unusual punctuation.
2. Check for existing scaffolding
record-decision creates the directory if missing, but doesn't
scaffold a README.md or ADR-000. If the directory is empty (no
prior ADRs), mention that bootstrap-project scaffolds an introductory
ADR-000 and offer to run it first — but proceed with the new ADR
either way if the user insists.
3. Dry-run first when the title is non-obvious
Run bin/record-decision.sh --dry-run and read back:
- The target path (which ADR number it'll land at).
- The derived slug.
Confirm before the real run. Single-line "record that we chose X" phrasings can skip confirmation when the title is already explicit.
4. Invoke
bin/record-decision.sh --target <cwd> \
--title "<imperative headline>" \
[--status proposed|accepted] \
[--dir <path>] \
[--slug <slug>] \
[--date YYYY-MM-DD] \
[--dry-run]
5. After creation
The output JSON gives you the relative path. Offer to:
- Open the file so the user can fill in the sections (Context, Decision drivers, Considered options, Decision outcome, Consequences, Validation).
- Stage it for commit via
/nyann:commit(suggest a commit subject likedocs(adr): ADR-NNN — <title>).
Do NOT auto-fill the body from the user's conversation. An ADR's value comes from the writer thinking through the structure; filling it with Claude-generated prose dilutes that.
6. Number collisions
Numbers come from scanning ADR-<NNN>-*.md files in the target
directory. When the user has a non-conventional ADR naming scheme
(e.g. 0001-foo.md without the ADR- prefix), the detector will
miss them and start at 000. If the user reports this, offer to
rename existing files or accept a manual --dir pointing at a
separate location.
When to hand off
- "Show me existing ADRs" →
ls docs/decisions/or a simple file listing; outside this skill. - "Update an existing ADR" → this skill creates only. Supersedence is represented as a new ADR pointing at the old one (MADR convention).
- "Generate a changelog entry for this decision" →
releaseskill handles CHANGELOG; ADRs and CHANGELOG are separate stores.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most docs writing skills give in 941 tokens
Counted across 1,637 of the 3,044 authors here whose files we hold, read 2026-08-07
- Announce the skill at startin 54 of 1637, across 26 files
- Convert legacy doc files before editingin 45 of 1637, across 7 files
- Predict questions readers might askin 42 of 1637, across 4 files
- Generate clarifying questions for initial contextin 42 of 1637, across 3 files
- Create document scaffold with placeholder textin 42 of 1637, across 3 files
- Brainstorm content options for each sectionin 42 of 1637, across 3 files
- Test the document with a fresh context-less instancein 42 of 1637, across 3 files
- Include exact file paths in every taskin 42 of 1637, across 15 files
- Ask interview questions one at a timein 42 of 1637, across 27 files
- Apply surgical edits during refinementin 41 of 1637, across 2 files
- Offer structured workflow or freeformin 40 of 1637, across 1 file
- Ask for document meta-contextin 40 of 1637, across 2 files
Said here and by no other author read
- Require a short imperative title from the user
- Offer to run bootstrap first
- Dry-run when the title is non-obvious
- Confirm before the real run
- Invoke the record-decision script
- Offer to open the file for filling
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.