architecture-decision-record
$
npx mdskill add mohitagw15856/pm-claude-skills/architecture-decision-recordThis skill produces a complete Architecture Decision Record (ADR) following the Nygard format — the most widely adopted standard. ADRs document the reasoning behind significant technical decisions so future team members understand not just *what* was decided, but *why*.
SKILL.md
.github/skills/architecture-decision-recordView on GitHub ↗
--- name: architecture-decision-record description: "Create an Architecture Decision Record (ADR) for any technical decision. Use when asked to document a technical decision, write an ADR, record an architecture choice, or capture why a technology or approach was selected. Produces a structured ADR with context, decision, consequences, and tradeoffs." --- # Architecture Decision Record (ADR) Skill This skill produces a complete Architecture Decision Record (ADR) following the Nygard format — the most widely adopted standard. ADRs document the reasoning behind significant technical decisions so future team members understand not just *what* was decided, but *why*. ## Required Inputs Ask the user for these if not provided: - **ADR number** (sequential number in your ADR registry — e.g. 012; or "next available" if unknown) - **Decision title** (brief, e.g. "Use PostgreSQL as primary datastore") - **Context** (what situation led to this decision needing to be made?) - **Options considered** (at least 2; if only 1 is given, prompt for alternatives that were considered or ruled out) - **Decision made** (which option was chosen) - **Reason for choice** - **Status** (Proposed / Accepted / Deprecated / Superseded) - **Author and date** - **Team context** (optional — team size, relevant experience, org constraints; helps calibrate formality and depth of the Context section) ## Output Format --- # ADR-[NNN]: [Decision Title] **Date:** [YYYY-MM-DD] **Status:** [Proposed / Accepted / Deprecated / Superseded by ADR-NNN] **Author(s):** [Name(s)] **Deciders:** [Who had final say — individual or team] --- ## Context [3–6 sentences. Describe the situation, constraints, and forces at play that made this decision necessary. Include: the problem being solved, relevant system state, team constraints, timeline pressures, or non-negotiable requirements. Write as if explaining to someone joining the team 18 months from now who has no prior context.] **Key constraints:** - [Constraint 1: e.g. "Must be deployable on-premise for enterprise customers"] - [Constraint 2: e.g. "Team has no prior Go experience"] - [Add as many as are relevant] --- ## Options Considered For each option, produce: ### Option [N]: [Name] **Description:** [What this option is — 1–3 sentences] **Pros:** - [Pro 1] - [Pro 2] **Cons:** - [Con 1] - [Con 2] **Why this was ruled out (if not chosen):** [Honest reason] --- ## Decision **We will [chosen option].** [2–4 sentences explaining the decision in plain language. This should be readable in isolation — someone should understand the decision from this paragraph alone without reading the full document.] --- ## Consequences ### Positive Consequences - [What this decision enables or improves] - [What risk it mitigates] ### Negative Consequences / Accepted Tradeoffs - [What we're giving up or taking on as a result of this decision] - [Technical debt or limitations introduced] - [What must now be true for this decision to remain valid] ### Risks - [What could cause this decision to be wrong in hindsight] - [What would trigger us to revisit this decision] --- ## Implementation Notes [Include if the decision has non-obvious implementation gotchas, or if there are related tickets/RFCs implementers will need. Skip only if the decision is purely tooling selection with no implementation ambiguity.] --- ## Review Date [Include unless the decision is permanent or self-evidently final. State a specific trigger condition — e.g. "Review if team grows beyond 20 engineers or traffic exceeds 10M requests/day" — not just "should be reviewed periodically".] --- ## Quality Checks - [ ] Context explains the *why* — not just the *what* - [ ] At least 2 options are documented (including the rejected ones) - [ ] Rejected options include honest reasons for rejection - [ ] Consequences include *negative* consequences — no decision is consequence-free - [ ] Decision is stated in plain language in the Decision section - [ ] Risks section identifies what would invalidate this decision - [ ] Context section states the problem explicitly in its first 1–2 sentences (does not assume the reader knows what problem the team was solving) - [ ] Each rejected option's "Why ruled out" explanation names a specific constraint or trade-off (not a circular statement like "didn't meet our requirements") ## Usage Examples - "Write an ADR for using [technology]" - "Document our decision to [architectural choice]" - "Create an architecture decision record for [topic]" - "Help me write up why we chose [option] over [alternative]"
More from mohitagw15856/pm-claude-skills
- 360-feedback-templateDesign a 360-degree feedback survey or write a structured 360 feedback report. Use when asked to build a 360 feedback process, write 360 feedback for a colleague, design a feedback survey, or produce a feedback report. Produces either a complete survey instrument with rating scales and open-ended questions, or a structured narrative feedback report with themes, strengths, and development areas.
- ab-test-plannerDesign statistically rigorous A/B tests for product features, UI changes, onboarding flows, and pricing experiments. Use when asked to set up an experiment, design an A/B test, calculate sample size, or interpret test results. Produces a complete test plan with hypothesis, variant definitions, sample size, duration estimate, guardrail metrics, and a results interpretation guide.
- accessibility-auditGenerate a WCAG 2.2 accessibility audit checklist and remediation suggestions for any UI or design. Use when asked to audit for accessibility, check WCAG compliance, review a design for a11y issues, or create an accessibility remediation plan. Produces a prioritised checklist with pass/fail assessments and specific fixes.
- account-planBuild a structured account plan for any key customer or target account. Use when asked to create an account plan, key account strategy, strategic account review, or territory plan. Produces a complete account plan with relationship map, growth opportunities, risks, and 90-day action plan.
- aeo-optimizerOptimize an article for Answer Engine Optimization (AEO) — restructuring content so AI engines like ChatGPT, Perplexity, and Claude can extract, quote, and cite it. Rewrites headings as questions, drops 50-80 word answer capsules, audits paragraph length, and flags trust signals. Use when asked to AEO-optimize, make content AI-readable, improve AI citation chances, or adapt an article for answer engines.
- ai-ethics-reviewConduct an ethical review of an AI or ML feature, model, or product. Use when asked to run an AI ethics review, assess AI risks, audit a model for bias, or produce an AI impact assessment. Produces a structured ethics review covering fairness, transparency, privacy, safety, accountability, and societal impact with prioritised mitigations.
- ai-product-canvasStructure AI and ML product decisions with the rigour of any product decision. Use when building AI-powered features, evaluating LLM integrations, designing AI products, or assessing AI readiness. Produces a complete AI product canvas covering problem definition, model approach, data requirements, evaluation framework, UX design, responsible AI checklist, and launch monitoring plan.
- ambiguity-resolverStructure vague opportunities and unclear briefs into actionable one-page problem statements. Use when asked to clarify a vague brief, frame an undefined problem, make sense of an unclear opportunity, or when the user says 'we need to figure out what to do about X' or 'I've been asked to look into Y'. Produces a structured problem brief with reframed questions, scoped boundaries, and a minimum viable research plan.
- api-docs-writerWrite clear, developer-facing API documentation. Use when asked to document an API endpoint, write API reference docs, create a developer guide, or turn a raw spec/Postman collection into documentation. Produces endpoint documentation with descriptions, parameters, request/response examples, and error codes.
- api-versioning-strategyWrite an API versioning strategy document for a service or API platform. Use when asked to define versioning policy, plan API deprecation, classify breaking changes, or document version lifecycle. Produces a complete versioning strategy with breaking-change classification table, deprecation timeline, migration guide template, and client communication template.