adr-writer — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited adr-writer (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This skill uses extended thinking for complex architectural trade-off analysis. ultrathink
Writes complete, validated Architecture Decision Records in MADR 4.0.0 format and commits them to docs/decisions/. Follow write-adr.prompt.md for the full 10-step workflow.
Activate on:
check-adr-violations.prompt.md with a supersedes: NNNN parameterDo NOT activate on:
check-adr-violations.prompt.mdcheck-adr-violations.prompt.mdEvery ADR must contain all five mandatory sections. Missing any one = invalid.
| Section | Required | Notes |
|---|---|---|
| YAML frontmatter | ✅ | status + date always present |
| Context and Problem Statement | ✅ | 2–4 sentences, factual, project-specific |
| Considered Options | ✅ | 2–4 options, concise noun phrases |
| Decision Outcome | ✅ | Must start with Chosen option: "X", because |
| Consequences | ✅ | At least one Good + one Bad bullet |
Decision Outcome - exact format:
Chosen option: "{option name}", because {justification}.Consequences bullets - exact format:
- Good, because {positive consequence}.
- Bad, because {negative consequence}.
- Neutral, because {neutral consequence}.docs/decisions/README.md - find highest NNNNNNNN-short-title.md (lowercase kebab-case, max 5 words)docs/decisions/README.md after writing the file| Status | When to use |
|---|---|
accepted | Decision is made and implemented (most common) |
proposed | Decision under discussion, not yet implemented |
superseded | Replaced by a newer ADR - add superseded-by: NNNN - Title |
deprecated | No longer relevant, not replaced |
When replacing an existing ADR (triggered by violation checker or user intent):
supersedes: "NNNN - Old Title"status: superseded + superseded-by: "NNNN - New Title"docs/decisions/README.md status column → supersededacceptedIf the user asks for external evidence or benchmarks to support the decision, invoke the web-research-specialist agent before finalizing. Use its findings in the Consequences section or a More Information section.
When invoked with the supersedes: NNNN argument (either by user or from check-adr-violations.prompt.md), the $ARGUMENTS variable contains the ADR number to supersede.
Example invocation: /adr-writer supersedes: 0005
The argument is parsed to:
status: supersededsupersedes: "0005 - Old Title" to the new ADR frontmatterIf no arguments are provided, this is a new ADR with no supersession relationship.
This skill logs the session ID using ${CLAUDE_SESSION_ID} for correlation:
ADR creation session: ${CLAUDE_SESSION_ID}This allows tracking which ADRs were written in the same conversation and correlating with git commits when troubleshooting.
Invoke .github/prompts/write-adr.prompt.md and follow its steps in order. Do not shortcut or skip the validation step.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.