Help us improve
Share bugs, ideas, or general feedback.
Software architecture research and design toolkit. Research technology stacks, design patterns, system architectures, and create Architecture Decision Records (ADRs) for informed technology choices.
npx claudepluginhub flight505/claude-project-planner --plugin claude-project-plannerHow 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.
Designs 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.
Share bugs, ideas, or general feedback.
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: