Claude-skill-registry architecture-decisions

Make and document architecture decisions using structured frameworks

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/architecture-decisions" ~/.claude/skills/majiayu000-claude-skill-registry-architecture-decisions && rm -rf "$T"
manifest: skills/data/architecture-decisions/SKILL.md
source content

Architecture Decisions Skill

Purpose

Enable structured architecture decision-making through quality attribute analysis, trade-off evaluation, and technology selection using industry-standard frameworks.


Parameters

ParameterTypeRequiredValidationDefault
decision_context
stringmin: 30 chars-
decision_type
enumtechnology|pattern|tradeoff
tradeoff
quality_priorities
arraymax: 5 items
["performance", "maintainability"]
constraints
objectvalid JSON
{}
options
arraymin: 2 items-

Execution Flow

┌──────────────────────────────────────────────────────────┐
│ 1. VALIDATE: Check input parameters                       │
│ 2. CONTEXTUALIZE: Understand problem domain               │
│ 3. IDENTIFY: List quality attributes and constraints      │
│ 4. ANALYZE: Evaluate options against criteria             │
│ 5. SCORE: Create decision matrix                          │
│ 6. RECOMMEND: Provide primary + alternatives              │
│ 7. DOCUMENT: Generate ADR content                         │
└──────────────────────────────────────────────────────────┘

Retry Logic

ErrorRetryBackoffMax Attempts
VALIDATION_ERROR
No-1
CONTEXT_UNCLEAR
Yes1s, 2s, 4s3
INSUFFICIENT_OPTIONS
Yes-2

Logging & Observability

log_points:
  - event: skill_invoked
    level: info
    data: [decision_type, quality_priorities]
  - event: analysis_complete
    level: info
    data: [options_count, top_recommendation]
  - event: error_occurred
    level: error
    data: [error_type, context]

metrics:
  - name: decision_time_ms
    type: histogram
  - name: options_evaluated
    type: counter
  - name: confidence_score
    type: gauge

Error Handling

Error CodeDescriptionRecovery
E001
Missing decision contextRequest clarification
E002
Conflicting quality attributesPrioritization dialog
E003
Insufficient options to compareRequest more alternatives
E004
Unknown technology domainDefer to research

Unit Test Template

test_cases:
  - name: "Database selection decision"
    input:
      decision_context: "E-commerce order management system"
      decision_type: "technology"
      quality_priorities: ["reliability", "performance"]
      options: ["PostgreSQL", "MongoDB"]
    expected:
      has_recommendation: true
      has_rationale: true
      confidence_gte: 0.7

  - name: "Missing context error"
    input:
      decision_context: ""
    expected:
      error_code: "E001"

  - name: "Microservices vs Monolith"
    input:
      decision_context: "Startup MVP with 4 developers"
      decision_type: "pattern"
      quality_priorities: ["deployability", "maintainability"]
    expected:
      has_trade_offs: true
      alternatives_count_gte: 1

Troubleshooting

Common Issues

SymptomRoot CauseResolution
Vague recommendationContext too broadNarrow scope, add constraints
Analysis paralysisToo many optionsLimit to top 3-4 viable options
Low confidence scoreMissing informationRequest specific metrics/requirements

Debug Checklist

□ Is problem domain clearly defined?
□ Are quality attributes prioritized?
□ Are all options technically viable?
□ Are constraints explicitly stated?
□ Is success criteria measurable?

Examples

Example: Technology Selection

Input:
  decision_context: "Real-time inventory system for retail"
  decision_type: "technology"
  quality_priorities: ["performance", "scalability"]
  options: ["Redis", "PostgreSQL", "MongoDB"]

Output:
  recommendation: "Redis for hot data + PostgreSQL for persistence"
  confidence: 0.85
  trade_offs:
    - "Redis: Fast but requires cache invalidation strategy"
    - "PostgreSQL: ACID compliant but higher latency"
  adr_content: |
    # ADR: Hybrid Redis + PostgreSQL for Inventory
    ## Decision: Use Redis for real-time inventory counts, PostgreSQL for order data
    ## Rationale: Balances performance needs with data durability

Integration

ComponentTriggerData Flow
Agent 01Decision requestReceives context, returns recommendation
Agent 02ADR creationProvides decision content for documentation

Quality Standards

  • Atomic: Single decision per invocation
  • Traceable: All decisions link to rationale
  • Reversible: Document rollback strategy when applicable

Version History

VersionDateChanges
2.0.02025-01Production-grade: parameters, retry logic, tests
1.0.02024-12Initial release