← ClaudeAtlas

adr-eligibility-gatelisted

Use BEFORE drafting any ADR when a story enters DESIGN phase, or when reviewing an ADR set that feels inflated. Runs a baseline-vs-decision gate: for each candidate architectural choice, determines whether it ratifies a genuine open question (→ ADR-worthy) or re-declares project baseline / skill-enforced convention (→ not ADR-worthy). Prevents ADR over-production by filtering out non-decisions before any draft is written. Triggers: "should I write an ADR for X?", "how many ADRs does this story need?", "ADR-INFLATION detected", "disambiguate baseline from decision".
SebastienDegodez/skraft-plugin · ★ 4 · AI & Automation · score 60
Install: claude install-skill SebastienDegodez/skraft-plugin
# ADR Eligibility Gate ## Overview This skill operationalizes the "When NOT to write an ADR" section of the `architecture-decisions` skill as a **pre-draft gate**. Load it when considering whether a candidate architectural choice warrants an ADR, before writing any ADR body. **Core question:** Does this choice ratify a genuine open question with real trade-offs, or does it re-declare project baseline / existing skill-enforced convention? **When to activate:** - DESIGN phase begins for a story - Architect considers documenting a choice - Reviewer flags `ADR-INFLATION` (multiple ADRs for a story where 0-1 expected) - User asks "should I write an ADR for X?" or "how many ADRs does this need?" --- ## The 5-Question Checklist For each candidate choice, answer these questions in order. The FIRST `YES` determines the verdict. ### Q1: Is this choice already enforced by a project skill or automated architecture test? **Examples of baseline (NOT ADR-worthy):** - "Pure domain service with no IO" → ADR-002 hexagonal baseline enforces this - "CQS at method level" (one handler per command/query) → `clean-architecture-*` skill - "Validation at the boundary, keep core pure" → hexagonal baseline + tactical DDD - "Convention-based DI registration" → project skill baseline - "Value Object + pure validator" → tactical DDD baseline **If YES → `NOT ELIGIBLE — <cite skill or ADR that already enforces this>`** --- ### Q2: Is this choice a "good practice" or "avoid X antipattern" framing?