adr-authoring
Skill98 starsChanged 24 days agoMITView on GitHub
Defines the canonical MADR format, lifecycle rules, numbering policy, and SAD catalog contract for standalone ADRs under specs/adrs/.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- rluders/amarutheir own version, first seen Nov 1, 2026
- pchalupa/skillstheir own version, first seen Sep 2, 2026
- strvcom/frontend-skillstheir own version, first seen Aug 3, 2026
- magnus919/agent-skillstheir own version, first seen Jul 21, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- magnus919/agent-skills★ 172same name
- pchalupa/skills★ 2same name
- rluders/amaru★ 2same name
- strvcom/frontend-skills★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository73 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- sddp-amendSkill
- sddp-analyzeSkill
- sddp-autopilotSkill
- sddp-checklistSkill
- sddp-clarifySkill
- sddp-devopsSkill
- sddp-devsetupSkill
- sddp-implement-qc-loopSkill
- sddp-implementSkill
- sddp-initSkill
- sddp-planSkill
- sddp-prdSkill
- sddp-projectplanSkill
- sddp-qcSkill
- sddp-regenSkill
- sddp-reverseengineerSkill
- sddp-specifySkill
- sddp-systemdesignSkill
- sddp-tasksSkill
- sddp-amendSkill
- sddp-analyzeSkill
- sddp-autopilotSkill
- sddp-checklistSkill
- sddp-clarifySkill
- sddp-devopsSkill
- sddp-devsetupSkill
- sddp-implement-qc-loopSkill
- sddp-implementSkill
- sddp-initSkill
- sddp-planSkill
- sddp-prdSkill
- sddp-projectplanSkill
- sddp-qcSkill
- sddp-regenSkill
- sddp-reverseengineerSkill
- sddp-specifySkill
- sddp-systemdesignSkill
- sddp-tasksSkill
- artifact-conventionsSkill
- clarification-strategiesSkill
- compact-communicationSkill
- evidence-led-authoringSkill
- implementation-standardsSkill
- instructions-managementSkill
- markdown-compressionSkill
- plan-authoringSkill
- quality-assuranceSkill
- sdd-methodologySkill
- sddp-amendSkill
- sddp-analyzeSkill
- sddp-autopilotSkill
- sddp-checklistSkill
- sddp-clarifySkill
- sddp-devopsSkill
- sddp-devsetupSkill
- sddp-implement-qc-loopSkill
- sddp-implementSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 4 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 134
Cross-artifact update: when a file is materially edited for another reason, normalize any ADR references to four-digit form in the same …
- Distinctive: line 138
Before the ADR Author subagent writes, all of the following must pass:
- Distinctive: line 148
All required frontmatter fields are present.
- Distinctive: line 149
All required body sections are present.
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
MADR Authoring Skill
Canonical rules for project-level Architecture Decision Records. All ADR file mutations flow through the ADR Author subagent (.github/agents/_adr-author.md). Orchestrating workflows (system-design, plan-feature, amend-project) decide when an ADR is needed; this skill defines what the ADR must look like and how it is managed.
Scope
- Project-level architectural decisions only.
- Standalone Markdown files under
specs/adrs/. - Feature-local tradeoffs stay in
plan.mdasAD-###rows and never invoke this skill.
MADR Profile
Required Frontmatter
---
adr_id: ADR-NNNN
status: proposed | accepted | deprecated | superseded
date: YYYY-MM-DD
tags: []
supersedes: []
superseded_by: ""
related_artifacts: []
---Optional Frontmatter
deciders: []
consulted: []
informed: []
review_date: YYYY-MM-DDRequired Body Sections
# ADR-NNNN: Decision Title
## Status
[Mirrors frontmatter status in human-readable form. Include supersession links when applicable.]
## Context
[Problem, forces, constraints, and why a decision is needed now.]
## Decision Drivers
- [Criteria that drove the choice, ordered by weight]
## Considered Options
### Option A: [Label]
- Pros: …
- Cons: …
### Option B: [Label]
- Pros: …
- Cons: …
## Decision Outcome
Chosen option: **[Label]** — [rationale for selecting it].
## Consequences
### Positive
- …
### Negative
- …
### Neutral
- … *(optional)*
## Links
- [Related ADRs, PRD capabilities, feature specs, project-plan epics, external standards]Numbering and File Naming
- Canonical identifier:
ADR-NNNN— four-digit, zero-padded, repository-global. - File naming:
specs/adrs/NNNN-decision-title.mdwheredecision-titleis lowercase ASCII kebab-case derived from the title. - Number allocation: scan
specs/adrs/for existing numbered files, resolve the highest allocatedNNNN, assign the next integer. Numbers are monotonic and never reused. - Path stability: once created, a file path must not be renamed solely because the title wording changes. Title corrections stay in the body/frontmatter; the original slug persists.
- Compatibility: readers should accept legacy three-digit references (
ADR-001) but all new output must use four-digit form (ADR-0001).
Status Vocabulary and Transitions
| Status | Meaning |
proposed | Candidate record, not yet governing. Not binding for downstream planning unless a workflow explicitly allows it. |
accepted | Current governing decision for the covered concern. |
deprecated | No longer recommended for new work; no single explicit successor. Explain what engineers should do instead. |
superseded | Explicitly replaced by one or more newer ADRs. superseded_by must be populated. |
Allowed transitions: proposed → accepted, proposed → deprecated, accepted → deprecated, accepted → superseded, deprecated → superseded.
Disallowed: superseded → accepted, superseded → proposed, reuse of a superseded ADR number.
Coexistence rule: multiple accepted ADRs may coexist when they cover different scopes; competing accepted ADRs for the same concern are invalid unless scope is explicitly disambiguated.
Operation Semantics
| Operation | Behavior |
create | New ADR file with a new ADR number. |
amend | Update existing ADR in place — clerical corrections, metadata completion, broken links, or clarifications that do not change the chosen decision. Same ADR number. |
supersede | New ADR with a new ADR number. Old ADR marked superseded with forward link. |
Material-change rule: any change to the chosen option, decision drivers, or consequences must use supersede, not amend.
SAD Catalog Contract
specs/sad.md must contain a compact ADR catalog table instead of embedded decision bodies:
## Architecture Decision Records
| ADR ID | Title | Status | Date | Supersedes | File |
|--------|-------|--------|------|------------|------|
| ADR-0001 | [Title] | accepted | 2025-01-15 | — | [0001-decision-title.md](adrs/0001-decision-title.md) |- Each row links to the standalone ADR file.
- The ADR Author subagent produces the exact row payload for every create/supersede/amend.
sad.mdnever contains full decision prose — it is a navigational index.
Traceability
- Canonical tag:
{SAD:ADR-0001}— four-digit form in all new output. - Read compatibility: accept
{SAD:ADR-001}and normalize internally toADR-0001. - Cross-artifact update: when a file is materially edited for another reason, normalize any ADR references to four-digit form in the same change.
Validation Checklist
Before the ADR Author subagent writes, all of the following must pass:
- Operation is
create,amend, orsupersede. - Scope is explicitly
project-level. - Decision title, context, options, chosen outcome, and consequences are present.
- Status is a valid vocabulary value.
- For
supersede: target ADR exists and is resolvable. - For
amend: change is non-semantic (does not alter decision outcome). - ADR number is unique and follows monotonic allocation.
- File name matches
NNNN-slug.mdpattern. - All required frontmatter fields are present.
- All required body sections are present.
Caller Expectations
- Callers must decide whether a decision is project-level before invoking ADR authoring.
- Callers must provide a fully resolved decision payload — the subagent does not infer scope.
- Callers must propagate resulting ADR IDs into plan references, project-plan traceability, and related docs.
- Feature-local
AD-###decisions must not be promoted automatically without an explicit project-level scope decision from the caller.
Output Contract
The ADR Author subagent returns:
| Field | Description |
Status | success or failure |
OperationResult | created, amended, superseded, or no-op |
AdrId | Canonical ADR-NNNN identifier |
AdrPath | Final file path under specs/adrs/ |
SupersededAdrId | Populated when supersede; otherwise empty |
SadCatalogRow | Exact Markdown table row for sad.md |
FilesChanged | Ordered list of files written or updated |
Warnings | Non-blocking issues |
Errors | Blocking issues (present only on failure) |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

