Software architecture research and design toolkit. Research technology stacks, design patterns, system architectures, and create Architecture Decision Records (ADRs) for informed technology choices.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-project-planner:architecture-researchThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Architecture research is a systematic process for evaluating technology options, design patterns, and system architectures. Create Architecture Decision Records (ADRs) to document decisions with context, rationale, and trade-offs. Use this skill to make informed technology choices backed by real research.
Architecture research is a systematic process for evaluating technology options, design patterns, and system architectures. Create Architecture Decision Records (ADRs) to document decisions with context, rationale, and trade-offs. Use this skill to make informed technology choices backed by real research.
This skill should be used when:
When documenting architecture decisions, always include diagrams.
Use the project-diagrams skill to generate:
python .claude/skills/project-diagrams/scripts/generate_schematic.py "diagram description" -o diagrams/output.png
Before researching solutions, understand the problem space.
Functional Requirements:
Non-Functional Requirements (Quality Attributes):
| Attribute | Questions to Answer |
|---|---|
| Performance | Response time targets? Throughput requirements? |
| Scalability | Expected growth? Peak loads? Scaling dimensions? |
| Availability | Uptime requirements? Recovery time objectives? |
| Security | Authentication needs? Data sensitivity? Compliance? |
| Maintainability | Team size? Skill levels? Update frequency? |
| Cost | Budget constraints? Operational cost limits? |
Technical Constraints:
Organizational Constraints:
Research options systematically using real documentation and benchmarks.
For each technology option:
Official Documentation Review
research-lookup to find official docsProduction Case Studies
Benchmark Data
Community Health
Total Cost of Ownership
Create a comparison matrix for each decision area:
comparison:
category: "Database"
options:
- name: "PostgreSQL"
pros:
- "ACID compliance"
- "Rich feature set"
- "Strong community"
cons:
- "Vertical scaling primarily"
- "Operational complexity at scale"
fit_score: 8 # 1-10
sources:
- "Official PostgreSQL documentation"
- "Benchmark: TPC-C results"
- name: "MongoDB"
pros:
- "Horizontal scaling"
- "Flexible schema"
- "Developer friendly"
cons:
- "Eventual consistency trade-offs"
- "Memory usage"
fit_score: 6
sources:
- "MongoDB documentation"
- "Case study: Company X migration"
Research architectural patterns appropriate for the problem.
| Pattern | When to Use | Trade-offs |
|---|---|---|
| Monolithic | Small team, simple domain, rapid MVP | Scaling limits, deployment coupling |
| Microservices | Large team, complex domain, independent scaling | Operational complexity, network overhead |
| Event-Driven | Async workflows, decoupled systems, audit trails | Eventual consistency, debugging complexity |
| Serverless | Variable load, simple functions, cost optimization | Cold starts, vendor lock-in, state management |
| CQRS | Read/write asymmetry, complex queries | Complexity, eventual consistency |
| Hexagonal | Testability, multiple interfaces, long-lived systems | Initial overhead, abstraction complexity |
For each pattern considered:
Document decisions in ADR format for future reference.
# ADR-NNN: [Title]
## Status
[Proposed | Accepted | Deprecated | Superseded by ADR-XXX]
## Context
What is the issue that we're seeing that is motivating this decision or change?
## Decision Drivers
- [Driver 1]
- [Driver 2]
- [Driver 3]
## Considered Options
1. [Option 1]
2. [Option 2]
3. [Option 3]
## Decision
We will use [Option X] because [reasoning].
## Rationale
Detailed explanation of why this option was chosen over alternatives.
### Option 1: [Name]
**Pros:**
- Pro 1
- Pro 2
**Cons:**
- Con 1
- Con 2
**Evidence:**
- [Source/benchmark/case study]
### Option 2: [Name]
[Same structure]
## Consequences
### Positive
- [Consequence 1]
- [Consequence 2]
### Negative
- [Consequence 1]
- [Mitigation strategy]
### Risks
- [Risk 1] - Mitigation: [Strategy]
## Related Decisions
- [ADR-XXX: Related decision]
## References
- [Link to documentation]
- [Link to benchmark]
- [Link to case study]
Do:
Don't:
Use the C4 model to document architecture at multiple levels.
Shows the system in context with users and external systems.
Include:
python .claude/skills/project-diagrams/scripts/generate_schematic.py \
"C4 Context diagram: [System Name] in center. \
Users: [User types]. \
External systems: [Systems]. \
Arrows showing relationships." \
-o diagrams/c4_context.png
Shows high-level technology choices.
Include:
python .claude/skills/project-diagrams/scripts/generate_schematic.py \
"C4 Container diagram: \
Web App (React), API (Node.js), Database (PostgreSQL). \
Show communication protocols between containers." \
-o diagrams/c4_container.png
Shows components within a container.
Include:
UML class diagrams or code structure for complex components.
# Technology Research: [Category]
## Executive Summary
[2-3 sentence summary of recommendation]
## Requirements Addressed
- [Requirement 1]
- [Requirement 2]
## Options Evaluated
### Option 1: [Name]
**Overview:** [Brief description]
**Fit Score:** [X/10]
**Strengths:**
- [Strength 1]
- [Strength 2]
**Weaknesses:**
- [Weakness 1]
- [Weakness 2]
**Evidence:**
- [Source 1]: [Finding]
- [Source 2]: [Finding]
**Cost Estimate:** [Monthly/Annual]
[Repeat for each option]
## Comparison Matrix
| Criterion | Weight | Option 1 | Option 2 | Option 3 |
|-----------|--------|----------|----------|----------|
| Performance | 25% | | | |
| Scalability | 20% | | | |
| Cost | 20% | | | |
| Team Fit | 15% | | | |
| Ecosystem | 10% | | | |
| Risk | 10% | | | |
| **Total** | 100% | | | |
## Recommendation
[Recommended option with justification]
## References
1. [Source 1]
2. [Source 2]
# Architecture Overview: [Project Name]
## System Context
[C4 Context diagram]
[Description of system boundaries and external dependencies]
## High-Level Architecture
[C4 Container diagram]
[Description of major components and technology choices]
## Key Architecture Decisions
| Decision | ADR | Status |
|----------|-----|--------|
| Database Selection | ADR-001 | Accepted |
| Authentication | ADR-002 | Accepted |
| Deployment Platform | ADR-003 | Proposed |
## Quality Attributes
### Performance
- Target: [Metrics]
- Approach: [Strategy]
### Scalability
- Target: [Metrics]
- Approach: [Strategy]
### Security
- Requirements: [List]
- Approach: [Strategy]
## Technology Stack
| Layer | Technology | Rationale |
|-------|------------|-----------|
| Frontend | | |
| API | | |
| Database | | |
| Cache | | |
| Queue | | |
| Infrastructure | | |
## Integration Points
| System | Integration Type | Protocol | Notes |
|--------|-----------------|----------|-------|
| | | | |
## References
- [Link to detailed ADRs]
- [Link to C4 diagrams]
research-lookup for every major decisionBefore completing architecture research:
npx claudepluginhub flight505/claude-project-planner --plugin claude-project-plannerDesigns high-level system architecture, writes Architecture Decision Records (ADRs), and evaluates technology trade-offs. Invoke for system design, microservices structuring, scalability planning, and infrastructure pattern selection.
Designs system architecture, creates ADRs, evaluates trade-offs, and plans scalability. Use for architecture review, microservices structuring, and infrastructure pattern selection.
Designs software architectures evaluating monolith/microservices/serverless/event-driven/CQRS/hexagonal patterns; generates C4 diagrams, ADRs, bounded contexts, and quality analysis.