Skip to content
cccskills
FreePublished on GitHub

architecture-pattern-selector

Recommend architecture patterns (monolith, microservices, serverless, modular monolith) based on scale, team size, and constraints. Use when cto-architect needs to select the right architectural approach for a new system or migration.

The English summary is being prepared. Showing the original description.

See how to install

Files included (3)

  • SKILL.md6.2 KB
  • decision-matrix.md5.4 KB
  • pattern-comparison.md10.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Architecture Pattern Selector

Provides systematic framework for selecting the right architecture pattern based on real-world constraints rather than hype or resume-driven development.

When to Use

  • Designing a new system from scratch
  • Evaluating whether to migrate from monolith to microservices
  • Choosing between serverless vs container-based architecture
  • Assessing if current architecture matches actual needs

Architecture Patterns

1. Monolith

Best for: Early-stage products, small teams, rapid iteration

Characteristics:

  • Single deployable unit
  • Shared database
  • Simple deployment and debugging
  • Fastest time to market

Choose when:

  • Team < 10 engineers
  • < 100K users
  • Product-market fit not yet proven
  • Need to iterate quickly on features
  • Limited DevOps expertise

Avoid when:

  • Different components need independent scaling
  • Multiple teams need to deploy independently
  • Parts of system have very different reliability requirements

2. Modular Monolith

Best for: Growing products that need structure without microservices complexity

Characteristics:

  • Single deployable unit with clear module boundaries
  • Modules communicate through defined interfaces
  • Can evolve to microservices later
  • Best of both worlds for mid-size teams

Choose when:

  • Team 10-30 engineers
  • 100K-1M users
  • Need better code organization
  • Want microservices benefits without operational overhead
  • Planning future extraction to services

Avoid when:

  • Need independent deployment per module
  • Modules have fundamentally different scaling requirements
  • Already have microservices expertise and infrastructure

3. Microservices

Best for: Large organizations with mature DevOps practices

Characteristics:

  • Independent deployable services
  • Service-specific databases
  • Complex operational requirements
  • High organizational overhead

Choose when:

  • Team > 30 engineers with multiple squads
  • 1M users with varying load patterns

  • Different services need different scaling strategies
  • Strong DevOps/Platform team
  • Clear bounded contexts

Avoid when:

  • Team lacks Kubernetes/container orchestration experience
  • No dedicated platform/DevOps team
  • Bounded contexts are unclear
  • Chasing microservices for resume value

4. Serverless

Best for: Event-driven workloads, variable traffic, cost optimization

Characteristics:

  • Pay-per-execution pricing
  • Auto-scaling to zero
  • Vendor lock-in concerns
  • Cold start latency

Choose when:

  • Highly variable or spiky traffic
  • Event-driven processing (webhooks, queues)
  • Cost-sensitive with unpredictable load
  • Simple request-response patterns
  • Limited DevOps capacity

Avoid when:

  • Consistent high-volume traffic (cost inefficient)
  • Low-latency requirements (< 100ms consistently)
  • Long-running processes
  • Complex stateful workflows

5. Hybrid

Best for: Complex systems with varied requirements

Characteristics:

  • Mix of patterns for different components
  • Monolith core with serverless functions
  • Microservices for specific bounded contexts

Choose when:

  • Different parts of system have different characteristics
  • Migrating incrementally from monolith
  • Some components need independent scaling
  • Event-driven workflows alongside synchronous APIs

Selection Framework

Step 1: Assess Current State

Team Size:        [ ] < 10   [ ] 10-30   [ ] 30-100   [ ] > 100
User Scale:       [ ] < 100K [ ] 100K-1M [ ] 1M-10M   [ ] > 10M
DevOps Maturity:  [ ] None   [ ] Basic   [ ] Intermediate [ ] Advanced
Deployment Freq:  [ ] Monthly [ ] Weekly [ ] Daily    [ ] Multiple/day

Step 2: Evaluate Constraints

ConstraintImpact on Pattern Choice
Time to marketFavors monolith
Team autonomyFavors microservices
Cost sensitivityFavors serverless or monolith
Latency requirementsDisfavors serverless
Compliance/securityMay require isolation (microservices)

Step 3: Apply Decision Matrix

See decision-matrix.md for the scoring framework.

Step 4: Consider Migration Path

Every architecture should have a migration path:

  • Monolith → Modular Monolith → Microservices
  • Monolith → Hybrid (extract specific services)
  • Serverless → Containers (when scale justifies)

Output Format

When recommending an architecture pattern, provide:

## Architecture Recommendation

### Recommended Pattern: [Pattern Name]
**Confidence**: High / Medium / Low

### Why This Pattern
[2-3 specific reasons based on constraints]

### Trade-offs Accepted
- [Trade-off 1 and why it's acceptable]
- [Trade-off 2 and why it's acceptable]

### Migration Path
- **Current**: [Current state]
- **Phase 1**: [Near-term architecture]
- **Phase 2**: [If/when to evolve]
- **Trigger**: [What would cause migration to next phase]

### Patterns Rejected
| Pattern | Reason Not Selected |
|---------|---------------------|
| [Pattern] | [Specific reason] |

### Implementation Considerations
- [Key consideration 1]
- [Key consideration 2]
- [Key consideration 3]

Anti-Patterns to Avoid

Resume-Driven Architecture

Choosing microservices because it looks good on resumes, not because the problem requires it.

Red flag: "We should use microservices because that's what Netflix uses." Reality check: You're not Netflix. What's your actual scale and team size?

Premature Distribution

Distributing a system before understanding the domain boundaries.

Red flag: "Let's start with microservices from day one." Reality check: You'll draw the wrong boundaries. Start monolith, extract when clear.

Complexity Worship

Equating complexity with sophistication.

Red flag: "Our architecture needs to be enterprise-grade." Reality check: Simple architectures that work beat complex ones that don't.


References

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Detect common technical and organizational anti-patterns in proposals, architectures, and plans. Use when strategic-cto-mentor needs to identify red flags before they become problems.

The English summary is being prepared. Showing the original description.

alirezarezvani/claude-cto-team118Updated Dec 18, 2025

Identify and challenge implicit assumptions in plans, proposals, and technical decisions. Use when strategic-cto-mentor needs to surface hidden assumptions and wishful thinking before they become costly mistakes.

The English summary is being prepared. Showing the original description.

alirezarezvani/claude-cto-team118Updated Dec 18, 2025

Generate targeted clarifying questions (2-3 max) that challenge vague requirements and extract missing context. Use after request-analyzer identifies clarification needs, before routing to specialist agents. Helps cto-orchestrator avoid delegating unclear requirements.

The English summary is being prepared. Showing the original description.

alirezarezvani/claude-cto-team118Updated Dec 18, 2025

Infrastructure and development cost estimation for technical projects. Use when planning budgets, evaluating build vs buy decisions, or projecting TCO for architecture choices.

The English summary is being prepared. Showing the original description.

alirezarezvani/claude-cto-team118Updated Dec 18, 2025

Transform clarified user requests into structured delegation prompts optimized for specialist agents (cto-architect, strategic-cto-mentor, cv-ml-architect). Use after clarification is complete, before routing to specialist agents. Ensures agents receive complete context for effective work.

The English summary is being prepared. Showing the original description.

alirezarezvani/claude-cto-team118Updated Dec 18, 2025

Deep expertise in ML/CV model selection, training pipelines, and inference architecture. Use when designing machine learning systems, computer vision pipelines, or AI-powered features.

The English summary is being prepared. Showing the original description.

alirezarezvani/claude-cto-team118Updated Dec 18, 2025

See all skills by alirezarezvani

Report a problem with this skill