Architecture Patterns logo

Architecture Patterns

Community
Omar-Obando
architecture-patterns

Use when designing system architecture, selecting architectural patterns, making trade-off decisions, and implementing scalable, maintainable systems. Includes layered architecture, microservices, domain-driven design, and cloud architecture patterns. Based on software architecture certifications and industry-standard architecture patterns.

Overview

PublisherOmar-Obando
Repositoryqwen-orchestrator
Skill namearchitecture-patterns
Stars
53
Forks
13
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by Omar-Obando on GitHub. Read the source before you install it.

Installation

Install the Architecture Patterns AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/Omar-Obando/qwen-orchestrator/tree/main/skills/architecture-patterns
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/Omar-Obando/qwen-orchestrator.git /tmp/qwen-orchestrator
mkdir -p .claude/skills
cp -r /tmp/qwen-orchestrator/skills/architecture-patterns .claude/skills/architecture-patterns
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Architecture Patterns in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Architecture Patterns on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Architecture Patterns is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Architecture Patterns Skill — System Design and Architecture

Overview

This skill provides comprehensive guidance for designing system architecture, selecting architectural patterns, making trade-off decisions, and implementing scalable, maintainable systems. It includes layered architecture, microservices, domain-driven design, and cloud architecture patterns. Based on software architecture certifications and industry-standard architecture patterns.

When to Use

Use this skill when:

  • Designing new system architecture from scratch
  • Selecting architectural patterns for specific requirements
  • Making trade-off decisions between different approaches
  • Refactoring legacy systems to improve architecture
  • Scaling existing systems to handle growth
  • Planning cloud infrastructure architecture
  • Implementing layered architecture patterns
  • Designing microservices architectures
  • Creating domain-driven design bounded contexts
  • Implementing event-driven architectures
  • Setting up CQRS patterns
  • Building feature-sliced design structures
  • Creating architecture decision records (ADRs)
  • Implementing clean architecture principles
  • Designing serverless architectures
  • Building distributed systems patterns
  • Setting up API gateway patterns
  • Implementing circuit breaker patterns
  • Creating service mesh architectures
  • Designing event sourcing patterns
  • Building Saga patterns for distributed transactions
  • Implementing repository patterns
  • Creating domain models with entities and value objects

Do NOT use this skill when:

  • Writing specific code implementation (use developer skill or specific framework skill)
  • Database schema design (use database design skill)
  • API endpoint specification (use api-design skill)
  • Writing tests (use testing-strategy skill)
  • Implementing features (use implementer agent)

Architectural Patterns

Layered Architecture

┌─────────────────────────────────────┐
│     Presentation Layer              │  Controllers, Views, DTOs
├─────────────────────────────────────┤
│     Application Layer               │  Use cases, Services
├─────────────────────────────────────┤
│     Domain Layer                    │  Entities, Value Objects
├─────────────────────────────────────┤
│     Infrastructure Layer            │  DB, APIs, External Services
└─────────────────────────────────────┘
    Dependencies point INWARD

When to Use:

  • Enterprise applications with complex business logic
  • Projects requiring clear module boundaries
  • Teams needing explicit architecture guidance

Pros:

  • Clear separation of concerns
  • Easy to test each layer independently
  • Dependencies point inward (stability)

Cons:

  • Can become rigid for complex domains
  • May lead to anemic domain models

Domain-Driven Design (DDD)

┌─────────────────────────────────────────────────────────────┐
│                     DDD Layers                              │
├─────────────────────────────────────────────────────────────┤
│  Presentation Layer (Controllers, APIs)                     │
│  Application Layer (Use Cases, Services)                    │
│  Domain Layer (Entities, Value Objects, Domain Services)    │
│  Infrastructure Layer (Repositories, External APIs)         │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│                  Bounded Contexts                           │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐         │
│  │   Sales     │  │ Inventory   │  │ Accounting  │         │
│  │  Context    │  │  Context    │  │  Context    │         │
│  └─────────────┘  └─────────────┘  └─────────────┘         │
└─────────────────────────────────────────────────────────────┘

When to Use:

  • Complex business domains
  • Multiple business units with distinct models
  • Need for clear domain boundaries

Key Concepts:

  • Bounded Context: Clear boundary around a domain model
  • Entities: Objects with identity and continuity
  • Value Objects: Objects defined by their values
  • Aggregates: Cluster of objects treated as a unit
  • Repositories: Abstraction over domain collections

Microservices Pattern

┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐
│  Inventory      │  │   Sales         │  │ Accounting      │
│  Service        │  │  Service        │  │  Service        │
└────────┬────────┘  └────────┬────────┘  └────────┬────────┘
         │                    │                    │
         └────────────────────┴────────────────────┘
                              │
                   ┌──────────▼──────────┐
                   │  API Gateway        │
                   │  (Authentication,   │
                   │   Rate Limiting)    │
                   └─────────────────────┘

When to Use:

  • Large organizations with multiple teams
  • Need for independent scaling
  • Different technology requirements per module

Pros:

  • Independent deployment
  • Technology diversity per service
  • Team autonomy

Cons:

  • Operational complexity
  • Network latency
  • Distributed transaction challenges

Event-Driven Architecture

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  Order      │────>│  Event      │────>│  Inventory  │
│  Service    │     │  Bus        │     │  Service    │
└─────────────┘     └──────┬──────┘     └─────────────┘
                           │
                           ├────>┌─────────────┐
                           │     │  Notification│
                           │     │  Service    │
                           │     └─────────────┘
                           │
                           ├────>┌─────────────┐
                           │     │  Analytics  │
                           │     │  Service    │
                           │     └─────────────┘
                           │
                           └────>┌─────────────┐
                                 │  Reporting  │
                                 │  Service    │
                                 └─────────────┘

When to Use:

  • High-throughput systems
  • Decoupled services
  • Real-time processing needs

Pros:

  • High scalability
  • Loose coupling
  • Resilience to failures

Cons:

  • Complex debugging
  • Eventual consistency
  • Operational overhead

CQRS (Command Query Responsibility Segregation)

┌─────────────────┐
│   Commands      │    Write Model    ┌───────────┐
│   (POST, PUT)   │─────────────────►│  Database │
└─────────────────┘                  └───────────┘

┌─────────────────┐
│   Queries       │    Read Model     ┌───────────┐
│   (GET)         │─────────────────►│  Read DB  │
└─────────────────┘                  └───────────┘

When to Use:

  • High-read, high-write systems
  • Complex business rules
  • Need for event sourcing

Pros:

  • Optimized read and write models
  • Better performance for complex domains
  • Clear separation of concerns

Cons:

  • Increased complexity
  • Eventual consistency
  • Additional infrastructure

Feature-Sliced Design

features/
├── inventory/
│   ├── ui/              # UI components
│   ├── lib/             # Business logic
│   ├── api/             # API calls
│   └── config/          # Feature config
├── sales/
│   └── ...
shared/
└── core/                # Cross-cutting concerns

When to Use:

  • Large frontend applications
  • Multiple features managed by different teams
  • Need for feature-level testing

Pros:

  • Feature-level independence
  • Easier to find related code
  • Clear feature boundaries

Cons:

  • Can lead to duplication
  • Shared state challenges

Architecture Decision Making

Decision Framework

┌─────────────────────────────────────────────────────────────┐
│              Architecture Decision Flow                     │
├─────────────────────────────────────────────────────────────┤
│  1. Identify Requirements                                   │
│     ├─ Functional requirements                              │
│     ├─ Non-functional requirements                          │
│     └─ Constraints                                          │
│                                                             │
│  2. Generate Alternatives                                   │
│     ├─ Brainstorm solutions                                 │
│     ├─ Consider trade-offs                                  │
│     └─ Evaluate against requirements                        │
│                                                             │
│  3. Evaluate Alternatives                                   │
│     ├─ Performance                                          │
│     ├─ Scalability                                          │
│     ├─ Maintainability                                      │
│     ├─ Cost                                                 │
│     └─ Team expertise                                       │
│                                                             │
│  4. Make Decision                                           │
│     ├─ Select best option                                   │
│     ├─ Document rationale                                   │
│     └─ Define success criteria                              │
│                                                             │
│  5. Implement & Monitor                                     │
│     ├─ Build solution                                       │
│     ├─ Monitor metrics                                      │
│     └─ Iterate as needed                                    │
└─────────────────────────────────────────────────────────────┘

Trade-Off Analysis

FactorOption AOption BDecision
PerformanceHighMediumA if performance critical
ScalabilityMediumHighB if scaling needed
ComplexityLowHighA if team small
CostHighLowB if budget limited
Team ExpertiseHighLowA if team knows A

Cloud Architecture Patterns

Serverless Web Pattern

┌─────────────┐     ┌─────────────┐
│  Cloud CDN  │────▶│   Global    │
│   (CDN)     │     │  Load Bal.  │
└─────────────┘     └──────┬──────┘
                           │
                    ┌──────▼──────┐
                    │  Cloud Run  │
                    │  (or MIG)   │
                    └──────┬──────┘
                           │
        ┌──────────────────┼──────────────────┐
        │                  │                  │
 ┌──────▼──────┐    ┌──────▼──────┐    ┌──────▼──────┐
 │  Cloud SQL  │    │ Memorystore │    │   Cloud     │
 │ (Database)  │    │   (Redis)   │    │  Storage    │
 └─────────────┘    └─────────────┘    └─────────────┘

Components:

  • Cloud CDN: Static asset delivery
  • Load Balancer: Traffic distribution
  • Cloud Run: Serverless containers
  • Cloud SQL: Managed relational DB
  • Memorystore: Managed Redis
  • Cloud Storage: Object storage

Event-Driven Microservices

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   Order     │────>│  Event      │────>│  Inventory  │
│  Service    │     │  Bus        │     │  Service    │
└─────────────┘     └──────┬──────┘     └─────────────┘
                           │
                           ├────>┌─────────────┐
                           │     │  Notification│
                           │     │  Service    │
                           │     └─────────────┘
                           │
                           └────>┌─────────────┐
                                 │  Analytics  │
                                 │  Service    │
                                 └─────────────┘

Common Anti-Patterns

❌ Bad: Big Ball of Mud

┌─────────────────────────────────────────────────────────────┐
│                    Big Ball of Mud                         │
├─────────────────────────────────────────────────────────────┤
│  ┌──────────────────────────────────────────────────────┐   │
│  │  All components directly coupled to each other       │   │
│  │  ┌────┐  ┌────┐  ┌────┐  ┌────┐  ┌────┐             │   │
│  │  │ A  ├──┤ B  ├──┤ C  ├──┤ D  ├──┤ E  │             │   │
│  │  └────┘  └────┘  └────┘  └────┘  └────┘             │   │
│  └──────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘

Problems:

  • No clear boundaries
  • Difficult to maintain
  • Changes ripple through system

✅ Good: Clean Architecture

┌─────────────────────────────────────────────────────────────┐
│                     Clean Architecture                       │
├─────────────────────────────────────────────────────────────┤
│  ┌──────────────────────────────────────────────────────┐   │
│  │              Presentation Layer (UI, APIs)           │   │
│  └──────────────────────────────────────────────────────┘   │
│                    ↓ (depends on)                           │
│  ┌──────────────────────────────────────────────────────┐   │
│  │              Application Layer (Use Cases)           │   │
│  └──────────────────────────────────────────────────────┘   │
│                    ↓ (depends on)                           │
│  ┌──────────────────────────────────────────────────────┐   │
│  │                Domain Layer (Entities)               │   │
│  └──────────────────────────────────────────────────────┘   │
│                    ↓ (depends on)                           │
│  ┌──────────────────────────────────────────────────────┐   │
│  │          Infrastructure Layer (DB, APIs)             │   │
│  └──────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘

Benefits:

  • Testable business logic
  • Framework independent
  • Maintainable structure

❌ Bad: Distributed Monolith

┌─────────────┐  ┌─────────────┐  ┌─────────────┐
│  Service A  │  │  Service B  │  │  Service C  │
│  (Monolith) │  │  (Monolith) │  │  (Monolith) │
└──────┬──────┘  └──────┬──────┘  └──────┬──────┘
       │                │                │
       └────────────────┴────────────────┘
                    │
           ┌────────▼────────┐
           │  API Gateway    │
           └─────────────────┘

Problems:

  • Still a monolith at core
  • No independent deployment
  • Operational complexity without benefits

✅ Good: Microservices

┌─────────────┐  ┌─────────────┐  ┌─────────────┐
│  Service A  │  │  Service B  │  │  Service C  │
│  (Service)  │  │  (Service)  │  │  (Service)  │
└─────────────┘  └─────────────┘  └─────────────┘

Benefits:

  • Independent deployment
  • Technology diversity
  • Team autonomy

Real-World Impact

Before this skill:

  • No clear architecture
  • Tight coupling
  • Difficult to scale
  • High maintenance cost

After this skill:

  • Clear architecture
  • Loose coupling
  • Scalable systems
  • Maintainable codebase

Cross-References

  • designing-architecture - For architectural design process
  • analyzing-projects - For architecture assessment
  • devops-pipeline - For infrastructure deployment

References

Frequently asked questions

What does the Architecture Patterns AI skill do?

Use when designing system architecture, selecting architectural patterns, making trade-off decisions, and implementing scalable, maintainable systems. Includes layered architecture, microservices, domain-driven design, and cloud architecture patterns. Based on software architecture certifications and industry-standard architecture patterns.

Why use Architecture Patterns on TypingMind?

Because you install it once and use it with any model. Architecture Patterns is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Architecture Patterns in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Omar-Obando/qwen-orchestrator/tree/main/skills/architecture-patterns. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Architecture Patterns?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Architecture Patterns?

As many as you like. As long as a model supports skills, you can use Architecture Patterns with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Architecture Patterns AI skill free?

Yes. It is published on GitHub by Omar-Obando under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇