ADR Decision Extraction
Extract architectural decisions from conversation context for ADR generation.
Detection Signals Signal Type Examples Explicit markers [ADR], "decided:", "the decision is" Choice patterns "let's go with X", "we'll use Y", "choosing Z" Trade-off discussions "X vs Y", "pros/cons", "considering alternatives" Problem-solution pairs "the problem is... so we'll..." Extraction Rules Explicit Tags (Guaranteed Inclusion)
Text marked with [ADR] is always extracted:
[ADR] Using PostgreSQL for user data storage due to ACID requirements
These receive confidence: "high" automatically.
AI-Detected Decisions
Patterns detected without explicit tags require confidence assessment:
Confidence Criteria high Clear statement of choice with rationale medium Implied decision from action taken low Contextual inference, may need verification Output Format { "decisions": [ { "title": "Use PostgreSQL for user data", "problem": "Need ACID transactions for financial records", "chosen_option": "PostgreSQL", "alternatives_discussed": ["MongoDB", "SQLite"], "drivers": ["ACID compliance", "team familiarity"], "confidence": "high", "source_context": "Discussion about database selection in planning phase" } ] }
Field Definitions Field Required Description title Yes Concise decision summary problem Yes Problem or context driving the decision chosen_option Yes The selected solution or approach alternatives_discussed No Other options mentioned (empty array if none) drivers No Factors influencing the decision confidence Yes high, medium, or low source_context No Brief description of where decision appeared Extraction Workflow Scan for explicit markers - Find all [ADR] tagged content Identify choice patterns - Look for decision language Extract trade-off discussions - Capture alternatives and reasoning Assess confidence - Rate each non-explicit decision Capture context - Note surrounding discussion for ADR writer Pattern Examples High Confidence "We decided to use Redis for caching because of its sub-millisecond latency and native TTL support. Memcached was considered but lacks persistence."
Extracts:
Title: Use Redis for caching Problem: Need fast caching with TTL Chosen: Redis Alternatives: Memcached Drivers: sub-millisecond latency, native TTL, persistence Confidence: high Medium Confidence "Let's go with TypeScript for the frontend since we're already using it in the backend."
Extracts:
Title: Use TypeScript for frontend Problem: Language choice for frontend Chosen: TypeScript Alternatives: (none stated) Drivers: consistency with backend Confidence: medium Low Confidence "The API seems to be working well with REST endpoints."
Extracts:
Title: REST API architecture Problem: API design approach Chosen: REST Alternatives: (none stated) Drivers: (none stated) Confidence: low Best Practices Context Capture
Always capture sufficient context for the ADR writer:
What was the discussion about? Who was involved (if known)? What prompted the decision? Merge Related Decisions
If multiple statements relate to the same decision, consolidate them:
Combine alternatives from different mentions Aggregate drivers Use highest confidence level Flag Ambiguity
When decisions are unclear or contradictory:
Note the ambiguity in source_context Set confidence to low Include all interpretations if multiple exist When to Use This Skill Analyzing session transcripts for ADR generation Reviewing conversation history for documentation Extracting decisions from design discussions Preparing input for ADR writing tools