Status:✅ ACCEPTED
Date:📅 2026-02-14
Decision Makers:Plugin maintainers
ADR-0001: Add Drift and Introspection Skills for Design Artifact Validation
Context and Problem Statement
As projects evolve, implementation code drifts from the architectural decisions captured in ADRs and the formal requirements defined in OpenSpec specifications. The design plugin currently provides skills for creating ADRs (/sdd:adr), creating specs (/sdd:spec), listing artifacts (/sdd:list), changing statuses (/sdd:status), and generating documentation (/sdd:docs), but it has no skills for detecting when code no longer aligns with these governing documents.
How should the plugin provide drift detection and introspection capabilities so that teams can identify gaps, stale decisions, poor implementations, policy violations, and inconsistencies between their design artifacts and codebase?
Decision Drivers
- Actionable output: Findings must be specific enough for developers to act on (file paths, line references, concrete mismatches), not vague warnings
- Incremental adoption: Teams should be able to start with quick checks and graduate to deeper analysis without learning multiple commands
- Scope flexibility: Users need both narrow checks ("does this file match its spec?") and broad sweeps ("what areas of the codebase have no governing ADR?")
- Consistency with existing plugin UX: The new skills should follow the same patterns as existing skills (argument hints,
--reviewflag for team mode, SKILL.md format) - LLM-native analysis: Drift detection in natural-language documents (ADRs, specs) against code requires semantic understanding, not just syntactic matching -- the plugin should lean into Claude's strengths
- Manageable maintenance burden: Adding skills increases the plugin's surface area; fewer, well-scoped skills are easier to maintain than many narrow ones
Considered Options
- Option 1: A single unified
/sdd:driftskill that handles all forms of drift detection - Option 2: Multiple specialized skills (
/sdd:audit,/sdd:gaps,/sdd:compliance) each focused on one type of analysis - Option 3: A layered approach with a quick
/sdd:checkfor fast checks and a deep/sdd:auditfor comprehensive analysis