Create Architecture Decision Records

VerifiedSafe

Guidelines for creating or modifying Architecture Decision Records (ADRs), including template usage, context, options, and consequences.

Sby Skills Guide Bot
DocumentationBeginner
8/1/2026
Claude CodeCursorWindsurfCopilotCodex
#adr#architecture-decisions#decision-log#technical-writing#docs

Recommended for

Automated summary

This skill writes or updates Architecture Decision Records (ADRs) against a fixed template, covering the decision, context, considered options and consequences, then files the record in the repository.

Strengths

  • Enforces a clear ADR structure (one-sentence decision, context, options, consequences) that prevents sprawling design docs
  • Requires listing alternatives and the reason a choice is needed, so the decision is actually argued rather than asserted
  • Handles numbering (001-title.md) and updates the 09-decisions.md table of contents to keep the doc set consistent
  • Explicitly asks the user for missing information instead of fabricating context or alternatives

Limitations

  • Relies on a ./templates/adr.md file existing in the project; without it the prescribed template is not applied
  • Assumes a specific layout (docs/architecture/adr and docs/architecture/09-decisions.md) that many repositories do not use
  • Says nothing about number collisions or about marking an older ADR as superseded
When to use it

Use it when an architecture decision must be captured or amended in a repo that already follows the docs/architecture/adr convention.

When not to use it

Avoid it in projects without the template file and docs/architecture layout, or for loose design notes that are not binding decisions.

Security analysis

Safe
Quality score85/100

The skill only provides documentation guidance for creating architecture decision records. It does not declare or use any tools, execute commands, access network, or manipulate system state. There is no destructive, exfiltration, or obfuscation risk.

No concerns found

How this analysis is made

Examples

Record a new decision
Record an ADR for our choice to switch from REST to gRPC between the billing service and the ledger service. We also looked at GraphQL and staying on REST with versioned endpoints.
Update an outdated ADR
Update ADR 004 in docs/architecture/adr: we dropped the managed message queue and now run self-hosted Kafka, so the consequences section needs revisiting.
Draft from a discussion
Create an ADR from this design discussion — if you need the context or the alternatives we rejected, ask me before writing the file.

name: record-adr description: Use this to create or modify architecture decision records (ADRs)

IMPORTANT: Use the template stored in ./templates/adr.md to record the architecture decision.

Guidelines for recording the decision

  • Use a single sentence to describe the decision made.
  • Defer any explanation for why to the context section.

Guidelines for recording the context

  • Make sure to include alternatives to the choice we're recording.
  • Explain why we have to make the choice in the first place.

IMPORTANT: If you don't have this information, ask the user to provide the information!

Guidelines for recording the options considered

  • Create a sub section per option and provide a short description of the pros and cons of the option.
  • Keep the description short and consise

Guidelines for recording the consequences

  • List the consequences one-by-one
  • Include both positive and negative consequences in the list

Where to store the ADR files

  • Store ADR files in docs/architecture/adr
  • Give a unique number to each ADR and write files like this: 001-title-of-the-adr.md
  • Include the ADR in the TOC in 09-decisions.md located in in docs/architecture

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/create-architecture-decision-records-ms9wnz5b/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/create-architecture-decision-records-ms9wnz5b' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/create-architecture-decision-records-ms9wnz5b/download' --output '.skill-downloads/create-architecture-decision-records-ms9wnz5b/SKILL.md.part' && mv '.skill-downloads/create-architecture-decision-records-ms9wnz5b/SKILL.md.part' '.skill-downloads/create-architecture-decision-records-ms9wnz5b/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/create-architecture-decision-records-ms9wnz5b/SKILL.md' && test -s '.skill-downloads/create-architecture-decision-records-ms9wnz5b/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/record-adr' && cp -R '.skill-downloads/create-architecture-decision-records-ms9wnz5b' '.claude/skills/record-adr'

Cursor
test -f '.skill-downloads/create-architecture-decision-records-ms9wnz5b/SKILL.md' && test -s '.skill-downloads/create-architecture-decision-records-ms9wnz5b/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/record-adr' && cp -R '.skill-downloads/create-architecture-decision-records-ms9wnz5b' '.cursor/skills/record-adr'

Codex
test -f '.skill-downloads/create-architecture-decision-records-ms9wnz5b/SKILL.md' && test -s '.skill-downloads/create-architecture-decision-records-ms9wnz5b/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/record-adr' && cp -R '.skill-downloads/create-architecture-decision-records-ms9wnz5b' '.agents/skills/record-adr'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/create-architecture-decision-records-ms9wnz5b'

openskills read 'create-architecture-decision-records-ms9wnz5b'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/create-architecture-decision-records-ms9wnz5b/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills