All skills
vercel avatar

/adr-skill

@e23d0b5 official
by vercelvercel/ai27k stars
5,232

Create and maintain Architecture Decision Records (ADRs) optimized for agentic coding workflows. Use when you need to propose, write, update, accept/reject, deprecate, or supersede an ADR; bootstrap an adr folder and index; consult existing ADRs before implementing changes; or enforce ADR conventions. This skill uses Socratic questioning to capture intent before drafting, and validates output against an agent-readiness checklist.

Use this Skill: https://skilld.dev/gh/vercel/ai/adr-skill

This session only. Nothing lands on disk.

referencesadr-conventions.md

≈933 tokens on demand. Your agent reads this file only when SKILL.md points to it.

ADR Conventions (Reference)

Directory

If the repo already has an ADR directory, keep it.

If the repo has no ADR directory, choose based on project size:

  • docs/decisions/ — MADR default, recommended for projects with existing docs/ structure.
  • adr/ — simpler alternative for smaller repos.

Detection order (used by scripts): contributing/decisions/, docs/decisions/, adr/, docs/adr/, docs/adrs/, decisions/.

Filename Conventions

Pattern: YYYY-MM-DD-title-with-dashes.md

  • YYYY-MM-DD is the ADR creation date (matches the date frontmatter field).
  • Title uses lowercase, dashes, present-tense imperative verb phrase.
  • Examples: 2025-06-15-choose-database.md, 2025-07-01-adopt-adrs.md
  • Multiple ADRs on the same date are fine — the slug suffix disambiguates them.

If a repo already uses slug-only filenames (no date prefix), follow that convention.

Minimal Sections

At minimum, every ADR must clearly include:

  1. Context: why the decision exists now, what constraints/drivers apply.
  2. Decision: what is chosen.
  3. Consequences: what becomes easier/harder, risks, costs, follow-ups.

For agent-first ADRs, also ensure:

  • Constraints are explicit and measurable
  • Non-goals are stated
  • Follow-up tasks are identified

Status Values

Track status in YAML front matter:

---
status: proposed
date: 2025-06-15
decision-makers: Alice, Bob
---

Common statuses:

Status Meaning
proposed Under discussion, not yet decided
accepted Decision is active and should be followed
rejected Considered but explicitly not adopted
deprecated Was accepted but no longer applies — explain replacement path
superseded by [title](link) Replaced by a newer ADR — always link both ways

YAML Front Matter Fields

Field Required Description
status Yes Current lifecycle state
date Yes Date of last status change (YYYY-MM-DD)
decision-makers Yes People who own the decision
consulted No Subject-matter experts consulted (two-way communication)
informed No Stakeholders kept up-to-date (one-way communication)

The consulted and informed fields follow the RACI model and are useful for audit trails in larger teams.

Mutability

  • Prefer appending new information with a date stamp over rewriting existing content.
  • If a decision is replaced, create a new ADR and explicitly supersede the old one.
  • Status changes and after-action notes are fine to edit in-place.

Categories (Large Projects)

For repos accumulating many ADRs, use subdirectories:

contributing/decisions/   # or docs/decisions/
  backend/
    2025-06-15-use-postgres.md
  frontend/
    2025-06-20-use-react.md
  infrastructure/
    2025-07-01-use-terraform.md

Date prefixes are local to each category. Choose a categorization scheme early (by architectural layer, by domain, by team) and document it in the index.

Alternative: use tags or a flat structure with a searchable index. Subdirectories are simpler and work with all tools.

Source: SKILL.md on GitHub

1 warning4mo5 checks · Risk SAFE
  • Gen Agent Trust Hub4mo

    This skill provides a structured framework and local utility scripts for maintaining Architecture Decision Records (ADRs) within a repository. It facilitates documentation through a specialized workflow and uses built-in Node.js modules for file management, operating entirely within the project's local environment without external dependencies or network activity.

  • Socket4mo

    No alerts

  • Snyk4mo

    Risk: LOW · No issues

  • Runlayer6mo

    4/11 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at e23d0b5. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 13 hours ago.

Activeupdated 5 months ago
metadata
{
  "internal": true
}

README badge

README badge for vercel/ai/adr-skill

Creates and maintains Architecture Decision Records optimized for AI coding agents, using Socratic questioning to capture intent and validating against an agent-readiness checklist. Use this when proposing architectural changes, bootstrapping an ADR folder, consulting existing decisions before implementing, or enforcing ADR conventions in agentic workflows.

Generated from the current SKILL.md.

What's the difference between this skill and a generic ADR template?
This skill optimizes ADRs specifically for agentic coding workflows by requiring an Implementation Plan with concrete file paths, patterns, and verification criteria that an AI agent can act on without follow-up questions. It includes a four-phase workflow with Socratic questioning and an agent-readiness review checklist.
When should I propose an ADR instead of just writing code?
Propose an ADR before introducing new dependencies, creating architectural patterns others will follow, choosing between real alternatives with non-obvious tradeoffs, or changing something that contradicts an existing ADR. Do not write ADRs for routine implementation choices, bug fixes, or decisions already captured elsewhere.
What happens if I skip a phase in the workflow?
Do not skip phases. Phase 0 gathers codebase context to prevent contradicting existing decisions. Phase 1 captures intent so you can fill every ADR section without guessing. Phase 2 drafts with the confirmed summary. Phase 3 validates against a checklist before finalizing.
How do I know when Phase 1 questioning is complete?
Stop when you can fill every ADR section—including the Implementation Plan—without making things up. Present an Intent Summary for the human to confirm or correct before moving to Phase 2.
What should the Implementation Plan contain?
The Implementation Plan must specify which files and directories are affected, which existing patterns to follow, what to avoid, which tests prove correctness, and how to verify the decision was implemented—so an agent can execute the decision without tribal knowledge.

Generated from the current SKILL.md. These answers refresh after source changes.