Claude Code Plugins

Community-maintained marketplace

Feedback

Make and document architecture decisions using structured frameworks

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name architecture-decisions
description Make and document architecture decisions using structured frameworks
version 2.0.0
sasmp_version 1.3.0
bonded_agent 01-architecture-fundamentals
bond_type PRIMARY_BOND
last_updated 2025-01

Architecture Decisions Skill

Purpose

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


Parameters

Parameter Type Required Validation Default
decision_context string min: 30 chars -
decision_type enum technology|pattern|tradeoff tradeoff
quality_priorities array max: 5 items ["performance", "maintainability"]
constraints object valid JSON {}
options array min: 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

Error Retry Backoff Max Attempts
VALIDATION_ERROR No - 1
CONTEXT_UNCLEAR Yes 1s, 2s, 4s 3
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 Code Description Recovery
E001 Missing decision context Request clarification
E002 Conflicting quality attributes Prioritization dialog
E003 Insufficient options to compare Request more alternatives
E004 Unknown technology domain Defer 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

Symptom Root Cause Resolution
Vague recommendation Context too broad Narrow scope, add constraints
Analysis paralysis Too many options Limit to top 3-4 viable options
Low confidence score Missing information Request 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

Component Trigger Data Flow
Agent 01 Decision request Receives context, returns recommendation
Agent 02 ADR creation Provides 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

Version Date Changes
2.0.0 2025-01 Production-grade: parameters, retry logic, tests
1.0.0 2024-12 Initial release