adr-decision-extraction

by anderskev

Extract architectural decisions from conversations. Identifies problem-solution pairs, trade-off discussions, and explicit choices. Use when analyzing session transcripts for ADR generation.

3.7k其他未扫描2026年3月30日

安装

claude skill add --url https://github.com/openclaw/skills

文档

ADR Decision Extraction

Extract architectural decisions from conversation context for ADR generation.

Detection Signals

Signal TypeExamples
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:

code
[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:

ConfidenceCriteria
highClear statement of choice with rationale
mediumImplied decision from action taken
lowContextual inference, may need verification

Output Format

json
{
  "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

FieldRequiredDescription
titleYesConcise decision summary
problemYesProblem or context driving the decision
chosen_optionYesThe selected solution or approach
alternatives_discussedNoOther options mentioned (empty array if none)
driversNoFactors influencing the decision
confidenceYeshigh, medium, or low
source_contextNoBrief description of where decision appeared

Extraction Workflow

  1. Scan for explicit markers - Find all [ADR] tagged content
  2. Identify choice patterns - Look for decision language
  3. Extract trade-off discussions - Capture alternatives and reasoning
  4. Assess confidence - Rate each non-explicit decision
  5. Capture context - Note surrounding discussion for ADR writer

Pattern Examples

High Confidence

code
"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

code
"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

code
"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

相关 Skills

claude-api

by anthropic

热门

Build apps with the Claude API or Anthropic SDK. TRIGGER when: code imports `anthropic`/`@anthropic-ai/sdk`/`claude_agent_sdk`, or user asks to use Claude API, Anthropic SDKs, or Agent SDK. DO NOT TRIGGER when: code imports `openai`/other AI SDK, general programming, or ML/data-science tasks.

其他
安全109.6k

openforge

by bloodandeath

热门

>

其他
未扫描3.7k

DEX聚合器

by BytesAgain

热门

Aggregate DEX prices and DeFi protocol data using DeFiLlama API. Use when comparing token prices. Requires curl.

其他
未扫描3.7k

评论