Synthèse automatique
Rédige des Architecture Decision Records numérotés dans docs/decisions/, consignant le contexte, les options étudiées, la décision retenue et ses conséquences, avec statuts et index.
Points forts
- Rédige à partir de la conversation réelle, y compris les options écartées et les compromis véritables
- Impose d'indiquer des conséquences négatives, pour éviter un document qui ne ferait que vanter la solution retenue
- Gère la numérotation séquentielle, les statuts (proposed, accepted, deprecated, superseded) et le README d'index
- Fournit des critères explicites pour distinguer une décision qui mérite un ADR d'un simple choix réversible
Limites
- Se limite au fichier ADR : le skill ne vérifie ni le code ni la réalité technique des affirmations
- Ne reconnaît que les conventions docs/decisions/ ou docs/adr/, sans chemin configurable
- La qualité dépend de la conversation : sans alternatives réellement discutées, l'ADR reste superficiel
À utiliser dès qu'une discussion de conception aboutit à un choix technique difficile à inverser (base de données, framework, modèle d'authentification, stratégie de multi-tenant).
À éviter pour un choix réversible en une après-midi, une règle déjà imposée par un linter, ou une simple note personnelle sans décision d'équipe à consigner.
Analyse de sécurité
SûrThe skill is a documentation workflow for creating ADRs. It does not declare or instruct use of bash, network calls, secret handling, obfuscated payloads, or destructive operations. File creation is limited to normal documentation paths (docs/decisions/ and an index), and there is no meaningful execution risk.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
Record this decision: we're going with PostgreSQL instead of MongoDB for the billing service because we need multi-row transactions and our team already runs Postgres in production.Create an ADR explaining why we chose a modular monolith over microservices for the first release, and include the options we rejected.Registrar esta decisión de arquitectura: usamos eventos asíncronos en lugar de llamadas síncronas entre el servicio de pedidos y el de facturación.name: create-adr description: Record an Architecture Decision Record (ADR) at the moment a significant technical decision is made — context, options considered, decision, and consequences — in docs/decisions/NNNN-title.md with proper statuses and index. Use when choosing between technologies, patterns, or approaches with lasting impact. Trigger: "record this decision", "create an ADR", "architecture decision record", "why did we choose", "registrar esta decisión", "crear un ADR", "decisión de arquitectura", or when a conversation settles a hard-to-reverse technical choice. license: MIT metadata: author: jrodrigopuca version: "1.0"
ADR Generator
Record architecture decisions when they happen, not months later from archaeology.
Overview
An Architecture Decision Record captures one significant decision: the forces that shaped it, the options weighed, what was chosen, and what it costs. Six months later, "why is this a monolith?" has an answer with context — instead of a shrug and a rewrite that re-learns the original constraints the hard way.
The moment of maximum knowledge about a decision is the moment it's made. That's when this skill runs — typically right after a design conversation settles something.
When a Decision Merits an ADR
✅ Hard to reverse: database choice, framework, auth model, API paradigm, multi-tenancy strategy ✅ Cross-cutting: error handling policy, monorepo layout, state management approach, event schema ✅ Expensive either way: build vs buy, sync vs async processing, consistency trade-offs ✅ Repeatedly asked: if the same "why do we…?" comes up twice, the answer belongs in an ADR
❌ Reversible in an afternoon (a util's name, a folder move)
❌ Enforced by a linter (that's config, not a decision)
❌ Personal working notes → context-compactor (.context/decisions/ is the private draft space; ADRs are the team-facing record — a .context decision note can graduate into an ADR)
Instructions
1. Locate or Create the Log
- Convention:
docs/decisions/(also accept an existingdocs/adr/— follow what's there) - Numbering:
NNNN-kebab-title.md, sequential (0001-…). Check the highest existing number first - If this is the repo's first ADR, create
docs/decisions/README.md(index) using references/template.md
2. Draft From the Actual Conversation
Fill the template with what was really discussed — including the losing options and the real trade-offs. An ADR that only praises the winner is marketing, not a record:
# NNNN. {Decision title — a statement, not a question}
Date: {YYYY-MM-DD}
Status: accepted
## Context
{The forces: requirements, constraints, scale, team reality, deadlines.
What makes this decision necessary NOW. 1-3 paragraphs.}
## Options Considered
### Option A — {name}
{2-4 lines: what it is, its strongest pro, its worst con — honestly}
### Option B — {name}
{same}
## Decision
{What was chosen and the decisive reason(s). Present tense: "We use X."}
## Consequences
**Positive:** {what this buys}
**Negative:** {what this costs — every real decision costs something}
**Follow-ups:** {migrations, spikes, revisit triggers: "reevaluate if we exceed 10k req/s"}
Rules:
- Consequences must include negatives. No negatives = the options weren't seriously compared.
- Evidence over vibes. "Benchmarked at 3x our peak load" beats "very fast". Link the spike/benchmark if one exists.
- Present tense, active voice. "We use PostgreSQL", not "it was decided that…"
3. Set the Status
| Status | Meaning |
| ------------ | ---------------------------------------------- |
| proposed | Under discussion; PR open for the ADR itself |
| accepted | In force |
| deprecated | No longer applies (context disappeared) |
| superseded by [{NNNN}]({NNNN}-title.md) | Replaced — link forward |
Accepted ADRs are immutable (like released changelog entries): to change course, write a new ADR that supersedes the old one and update the old status line. History is the point.
4. Update the Index
Add a row to docs/decisions/README.md: number, title, status, date. Keep it sorted by number.
5. Link It
- Reference the ADR from the code/PR it affects:
See docs/decisions/0007-….md - If
using-commitis in play:docs(adr): record decision on event bus (ADR-0007) create-software-docs's architecture doc should cite ADRs instead of re-explaining decisions
Suite Integration
- Upstream: design conversations,
sdd-style explorations,.context/decisions/drafts - Downstream:
create-software-docs(itscreate-adrssub-skill reuses this format and backfills historical decisions from code evidence — this skill records them fresh, which is always better) - Trigger discipline: when a chat with the user lands a significant choice, offer the ADR ("Want me to record this as ADR-0008?") — don't create files unasked
Example
Conversation outcome: team chose server-side rendering with Next.js over the existing SPA for the storefront, driven by SEO and TTFB on mobile.
Result: docs/decisions/0004-adopt-nextjs-ssr-for-storefront.md — context cites the Core Web Vitals report and lost organic traffic; options: keep SPA + prerender service, Astro, Next.js SSR; consequences include the negative ("hosting cost rises, team must learn RSC; revisit if hosting exceeds $X/mo") — and the index gains one row.
Resources
- references/template.md — full ADR + index templates, worked example
- ADR GitHub organization — formats ecosystem (MADR, Nygard)
- Michael Nygard's original: Documenting Architecture Decisions
- Siblings:
context-compactor(private drafts),create-software-docs(backfill + architecture docs)
Générateur de README
Documentation
Crée des README.md professionnels et complets pour vos projets.
Rédacteur Technique
Documentation
Rédige de la documentation technique claire selon les meilleurs style guides.
Rédacteur de Documentation API
Documentation
Génère de la documentation API complète au format OpenAPI/Swagger.