Back to Skills

designing-architecture

verified

Knowledge and patterns for designing software architectures and system design.

View on GitHub

Marketplace

ai-dev-marketplace

drewdresser/ai-dev-settings

Plugin

ai-dev

Repository

drewdresser/ai-dev-settings

skills/designing-architecture/SKILL.md

Last Verified

January 22, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/drewdresser/ai-dev-settings/blob/main/skills/designing-architecture/SKILL.md -a claude-code --skill designing-architecture

Installation paths:

Claude
.claude/skills/designing-architecture/
Powered by add-skill CLI

Instructions

# Designing Architecture Skill

This skill provides patterns and techniques for designing robust software architectures.

## Architecture Patterns

### Layered Architecture
```
┌─────────────────────────────────┐
│       Presentation Layer        │
├─────────────────────────────────┤
│        Application Layer        │
├─────────────────────────────────┤
│         Domain Layer            │
├─────────────────────────────────┤
│       Infrastructure Layer      │
└─────────────────────────────────┘
```

### Hexagonal Architecture (Ports & Adapters)
```
              ┌─────────────────┐
              │   REST API      │
              └────────┬────────┘
                       │
┌──────────┐   ┌──────▼──────┐   ┌──────────┐
│ Database │◀──│   Domain    │──▶│ External │
│ Adapter  │   │   Core      │   │   API    │
└──────────┘   └─────────────┘   └──────────┘
```

### Microservices
```
┌─────────┐  ┌─────────┐  ┌─────────┐
│ Service │  │ Service │  │ Service │
│    A    │  │    B    │  │    C    │
└────┬────┘  └────┬────┘  └────┬────┘
     │            │            │
     └────────────┼────────────┘
                  │
           ┌──────▼──────┐
           │ Message Bus │
           └─────────────┘
```

### Event-Driven Architecture
```
┌─────────┐     ┌───────────┐     ┌─────────┐
│ Producer│────▶│Event Store│────▶│Consumer │
└─────────┘     └───────────┘     └─────────┘
```

## Design Principles

### SOLID
- **S**ingle Responsibility - One reason to change
- **O**pen/Closed - Open for extension, closed for modification
- **L**iskov Substitution - Subtypes must be substitutable
- **I**nterface Segregation - Many specific interfaces
- **D**ependency Inversion - Depend on abstractions

### Other Principles
- **DRY** - Don't Repeat Yourself
- **KISS** - Keep It Simple, Stupid
- **YAGNI** - You Aren't Gonna Need It
- **Separation of Concerns**
- **Fail Fast**

## Common Patterns

### Repository Pattern
```python
class UserRepository:
    def get_by_id(self, user_id: str) ->

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
4852 chars