JavaScript is disabled. Some features may not work.
architecture-decision-records — ★ 220.5K GitHub Stars — Install Guide | SkillsNav
🇺🇸 English🇨🇳 中文
SkillsNav
Home

architecture-decision-records

★ 220K repogenerationN/AAdvancedClaude
🤖 AI Summary

This skill monitors coding sessions for architectural decision points (e.g., framework choices, trade-off discussions) and automatically generates structured, version-controlled ADR documents in the standard Nygard format, while also retrieving existing ADRs when queried.

How to Install

Claude Code:
git clone --depth 1 https://github.com/affaan-m/ECC.git && cp ECC/skills/architecture-decision-records ~/.claude/skills/architecture-decision-records -r
# Architecture Decision Records Capture architectural decisions as they happen during coding sessions. Instead of decisions living only in Slack threads, PR comments, or someone's memory, this skill produces structured ADR documents that live alongside the code. ## When to Activate - User explicitly says "let's record this decision" or "ADR this" - User chooses between significant alternatives (framework, library, pattern, database, API design) - User says "we decided to..." or "the reason we're doing X instead of Y is..." - User asks "why did we choose X?" (read existing ADRs) - During planning phases when architectural trade-offs are discussed ## ADR Format Use the lightweight ADR format proposed by Michael Nygard, adapted for AI-assisted development: ```markdown # ADR-NNNN: [Decision Title] **Date**: YYYY-MM-DD **Status**: proposed | accepted | deprecated | superseded by ADR-NNNN **Deciders**: [who was involved] ## Context What is the issue that we're seeing that is motivating this decision or change? [2-5 sentences describing the situation, constraints, and forces at play] ## Decision What is the change that we're proposing and/or doing? [1-3 sentences stating the decision clearly] ## Alternatives Considered ### Alternative 1: [Name] - **Pros**: [benefits] - **Cons**: [drawbacks] - **Why not**: [specific reason this was rejected] ### Alternative 2: [Name] - **Pros**: [benefits] - **Cons**: [drawbacks] - **Why not**: [specific reason this was rejected] ## Consequences What becomes easier or more difficult to do because of this change? ### Positive - [benefit 1] - [benefit 2] ### Negative - [trade-off 1] - [trade-off 2] ### Risks - [risk and mitigation] ``` ## Workflow ### Capturing a New ADR When a decision moment is detected: 1. **Initialize (first time only)** — if `docs/adr/` does not exist, ask the user for confirmation before creating the directory, a `README.md` seeded with the index table header (see ADR Index Format below), and a blank `template.md` for manual use. Do not create files without explicit consent. 2. **Identify the decision** — extract the core architectural choice being made 3. **Gather context** — what problem prompted this? What constraints exist? 4. **Document alternatives** — what other options were considered? Why were they rejected? 5. **State consequences** — what are the trade-offs? What becomes easier/harder? 6. **Assign a number** — scan existing ADRs in `docs/adr/` and increment 7. **Confirm and write** — present the draft ADR to the user for review. Only write to `docs/adr/NNNN-decision-title.md` after explicit approval. If the user declines, discard the draft without writing any files. 8. **Update the index** — append to `docs/adr/README.md` ### Reading Existing ADRs When a user asks "why did we choose X?": 1. Check if `docs/adr/` exists — if not, respond: "No ADRs found in this project. Would you like to start recording architectural decisions?" 2. If it exists, scan `docs/adr/REA

Details

Category Coding → generation
Sourceaffaan-m/ECC
SKILL.mdView on GitHub →
Repo Stars★ 220.5K
Est. per SkillN/A (shared across 121 skills from this repo)
DifficultyAdvanced
Risk LevelN/A

Related Skills

Works Well With

Skills from the same repository — often designed to work together