home / skills / mcouthon / agents / architecture

This skill helps you document architecture and high-level system design, emphasizing interfaces, data flows, and decision rationale.

npx playbooks add skill mcouthon/agents --skill architecture

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
4.2 KB
---
name: architecture
description: "Use when documenting architecture, understanding system structure, creating diagrams, or analyzing component relationships. Focuses on interfaces and high-level design. Triggers on: 'use architecture mode', 'architecture', 'system design', 'how is this structured', 'document the system', 'create a diagram', 'high-level overview'. Read-only mode."
context: fork
allowed-tools: [Read, Grep, Glob, LSP]
---

# Architecture Mode

High-level design and system understanding.

## Core Constraint

> "Interfaces in; interfaces out. Data in; data out. Major flows, contracts, behaviors, and failure modes only."

If you find yourself describing implementation details, STOP. Zoom out.

## What to Focus On

✅ **Include**:

- System boundaries and contracts
- Data flow between components
- Integration points and APIs
- Error surfaces and failure modes
- Key design decisions and tradeoffs

❌ **Never Include**:

- Implementation details (how functions work internally)
- Line-by-line code analysis
- Minor utility functions
- Specific algorithms (unless architecturally significant)
- Variable names, loop structures, or conditionals
- Database schema details (only mention "stores X in Y")

## Anti-Patterns

| ❌ Don't Do This                        | ✅ Do This Instead                       |
| --------------------------------------- | ---------------------------------------- |
| "The function iterates over items..."   | "Component X transforms input to output" |
| "Line 42 calls the validate method..."  | "Validation happens at the API boundary" |
| "The for loop processes each record..." | "Records flow from A → B → C"            |
| "This uses a HashMap with..."           | "State is cached in memory"              |

## Analysis Framework

### 1. Component Identification

- What are the major components/modules?
- What is each component's single responsibility?
- How are they organized (layers, services, etc.)?

### 2. Interface Analysis

- What are the public APIs?
- What data structures cross boundaries?
- What are the contracts between components?

### 3. Data Flow

- How does data enter the system?
- How does it transform as it moves?
- Where is state stored?

### 4. Integration Points

- What external systems are connected?
- What protocols/formats are used?
- What are the failure modes?

### 5. Quality Attributes

- How is reliability achieved?
- How does it scale?
- What security measures exist?

## Architecture Overview Format

```markdown
## Architecture Overview

### Purpose

[What this system does in 1-2 sentences]

### Components

| Component | Responsibility   | Dependencies |
| --------- | ---------------- | ------------ |
| `api`     | HTTP interface   | auth, db     |
| `auth`    | Authentication   | db           |
| `db`      | Data persistence | -            |

### Data Flow

[Mermaid diagram - see below]

### Key Decisions

| Decision | Rationale | Tradeoffs   |
| -------- | --------- | ----------- |
| [choice] | [why]     | [pros/cons] |
```

## Mermaid Diagrams

### Component Diagram

```mermaid
graph LR
    Client --> API
    API --> Auth
    API --> Service
    Service --> DB
    Service --> Cache
```

### Sequence Diagram

```mermaid
sequenceDiagram
    participant C as Client
    participant A as API
    participant S as Service
    participant D as Database

    C->>A: POST /orders
    A->>S: create_order()
    S->>D: INSERT order
    D-->>S: order_id
    S-->>A: Order
    A-->>C: 201 Created
```

## API Contract Format

````markdown
## API: /orders

### POST /orders

Create a new order.

**Request**:

```json
{
  "items": [{ "sku": "ABC", "qty": 2 }],
  "customer_id": "cust_123"
}
```
````

**Response** (201):

```json
{
  "order_id": "ord_456",
  "status": "pending",
  "total": 49.99
}
```

**Errors**:

- `400 Bad Request` - Invalid input
- `401 Unauthorized` - Missing auth
- `422 Unprocessable Entity` - Business rule violation

```

## Guidelines

- Focus on **what** and **why**, not **how**
- Use diagrams liberally - they communicate structure better than prose
- Document decision rationale, not just the decision
- Identify failure modes and how they're handled
- Keep documentation close to the code it describes
```

Overview

This skill guides high-level architecture documentation and system-structure analysis. It emphasizes interfaces, data flows, integration points, key design decisions, and failure modes while avoiding implementation details. Use it to create diagrams, API contracts, and concise architectural overviews for teams and stakeholders.

How this skill works

The skill inspects system boundaries, components, public interfaces, and major data flows to produce a concise architecture overview. It outputs component responsibilities, interface contracts, integration points, and identified failure surfaces, and recommends mermaid-style diagrams and API contract sketches. It intentionally omits low-level implementation specifics and algorithmic details.

When to use it

  • Document a new system’s high-level design for onboarding or handoff
  • Create component and sequence diagrams to communicate structure
  • Analyze integration points and external system contracts
  • Summarize key design decisions and tradeoffs for architecture reviews
  • Identify likely failure modes and where to add resilience

Best practices

  • Describe components by responsibility, not by internal code or functions
  • Show data movement with diagrams (component and sequence) rather than step-by-step code
  • Specify public APIs and data contracts crossing boundaries
  • Call out error surfaces and recovery strategies explicitly
  • Record rationale and tradeoffs for each major decision

Example use cases

  • Produce an architecture overview for a microservices-based order processing system
  • Define API contracts and data flow for a public-facing HTTP service
  • Map integration with third-party auth, payments, and storage systems
  • Draft a sequence diagram showing a client request through API → service → datastore
  • List key reliability concerns and mitigation strategies before a production rollout

FAQ

What level of detail should I include?

Include components, interfaces, data flows, contracts, and failure modes. Avoid implementation specifics such as code, variable names, or internal algorithms.

Should I include diagrams?

Yes. Component and sequence diagrams communicate structure clearly. Use simple mermaid-style diagrams to illustrate flows and interactions.