Skip to content
Back to skills

Architecture

ASecurity

Interactive architecture design orchestrator that expands ideas into detailed, operable roadmaps with modules, protocols, tech stack recommendations, and risk analysis.

  • 42 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 31, 2026
devopsrustgobashsqlrailsdockerkubernetesawsgcpazure

Works with

  • cli
  • api

Security analysis

A100/100

Scanned May 31, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill architecture --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Architecture?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Architecture
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-architecture/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-architecture)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: architecture
description: Interactive architecture design orchestrator that expands ideas into detailed, operable roadmaps with modules, protocols, tech stack recommendations, and risk analysis.
---

# Architecture Design Orchestrator

Transforms initial ideas into comprehensive, production-ready architecture documents through iterative research, decision gathering, and risk analysis. Outputs to `docs/ARCHITECTURE.md`.

## Architecture Design Checklist

The orchestrator MUST complete each section in order. Each section requires user acceptance before proceeding.

```
┌─────────────────────────────────────────────────────────────────────────┐
│                    ARCHITECTURE DESIGN CHECKLIST                         │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│  [ ] 1. GOALS & NON-GOALS         ← Define target and boundary          │
│         ↓                                                               │
│  [ ] 2. SYSTEM OVERVIEW           ← Top-level diagram + module map      │
│         ↓                                                               │
│  [ ] 3. DESIGN PRINCIPLES         ← Guiding constraints                 │
│         ↓                                                               │
│  [ ] 4. TOP-LEVEL MODULES         ← Module definitions                  │
│         ↓                                                               │
│  [ ] 5. MODULE STRUCTURE          ← Internal structure per module       │
│         ↓                                                               │
│  [ ] 6. KEY FEATURES              ← Data workflows + core features      │
│         ↓                                                               │
│  [✓] GENERATE docs/ARCHITECTURE.md                                      │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘
```

---

## Phase 1: Goals & Non-Goals

**Purpose**: Define the project's target and boundary clearly. This is the MOST IMPORTANT section.

### Actions

1. Ask user about the core problem being solved
2. Identify explicit goals (what the system MUST do)
3. Identify non-goals (what is explicitly OUT OF SCOPE)
4. Define success metrics
5. Present for user acceptance

### Questions to Ask (via AskUserQuestion)

- What is the primary problem this system solves?
- Who are the users/consumers of this system?
- What are the 3-5 MUST-HAVE capabilities?
- What is explicitly NOT in scope for this design?
- How will you measure success?

### Output Format

```markdown
## Goals & Non-Goals

### Goals

| ID | Goal | Success Metric |
|----|------|----------------|
| G1 | [Primary goal] | [Measurable outcome] |
| G2 | [Secondary goal] | [Measurable outcome] |

### Non-Goals

| ID | Non-Goal | Rationale |
|----|----------|-----------|
| NG1 | [What we won't do] | [Why it's out of scope] |
| NG2 | [What we won't do] | [Why it's out of scope] |
```

### 🛑 Checkpoint: Goals Acceptance

Present goals and non-goals to user. MUST receive explicit acceptance before proceeding.

---

## Phase 2: System Overview

**Purpose**: Provide a high-level architecture diagram showing module relationships.

### Actions

1. Identify major system components from goals
2. Create ASCII architecture diagram showing:
   - All top-level modules/layers
   - External dependencies
   - Data flow direction
   - API boundaries
3. Create module relationship table
4. Present for user acceptance

### Output Format

```markdown
## System Overview

[System name] is a [brief description]. It [primary function].

```
                           FRONTENDS / CLIENTS

   +---------------+                         +-------------------+
   |   [Client A]  |                         |   [Client B]      |
   +-------+-------+                         +---------+---------+
           |                                           |
           | [protocol]                                | [protocol]
           |                                           |
           +--------------------+----------------------+
                                |
                                v
+-------------------------------+-------------------------------+
|                        [API Layer]                            |
|              [Description of responsibilities]                |
+---------------+---------------------------+-------------------+
                |                           |
     +----------v----------+     +----------v----------+
     |   [Service Layer]   |     |   [Core Layer]      |
     |   [Description]     +---->|   [Description]     |
     +---------------------+     +---------------------+
```

### Layer/Module Relationships

| Layer | Component | Responsibility |
|-------|-----------|----------------|
| [Layer] | [Component] | [Single-line description] |
```

### 🛑 Checkpoint: Overview Acceptance

Present diagram and relationships. MUST receive explicit acceptance before proceeding.

---

## Phase 3: Design Principles

**Purpose**: Establish guiding constraints that inform all design decisions.

### Actions

1. Identify 5-7 core design principles
2. Each principle should be:
   - Actionable (tells you what to do)
   - Testable (you can verify compliance)
   - Relevant to this specific system
3. Present for user acceptance

### Output Format

```markdown
## Design Principles

1. **[Principle Name]**: [Description of the principle]
2. **[Principle Name]**: [Description of the principle]
3. **[Principle Name]**: [Description of the principle]
...
```

### Example Principles

- **Separation of Concerns**: Each layer has a single responsibility
- **Convention over Configuration**: Predictable structures eliminate boilerplate
- **Trait-based Abstractions**: Interfaces enable testing and flexibility
- **Observable Execution**: Every operation emits events for monitoring
- **Graceful Degradation**: Errors are classified and recovered automatically

### 🛑 Checkpoint: Principles Acceptance

Present principles to user. MUST receive explicit acceptance before proceeding.

---

## Phase 4: Top-Level Modules

**Purpose**: Define each top-level module's purpose and boundaries.

### Actions

1. List all modules identified in System Overview
2. For each module, define:
   - Name and layer
   - Primary responsibility (single sentence)
   - Key abstractions/interfaces
3. Create dependency diagram
4. Present for user acceptance

### Output Format

```markdown
## Top-Level Modules

### [Module Name] ([Layer])

[Description of what this module does and why it exists]

**Key Abstractions**:
- `[AbstractionName]`: [Purpose]
- `[AbstractionName]`: [Purpose]

### [Module Name] ([Layer])
...
```

### Dependency Direction

```
[Module A] ----+
               |
               +---> [Module B]
               |           |
[Module C] ----+           +---> [Module D] ---> [Module E]
                           |
                           +---> [Module F]
```

**Key constraint**: [State the dependency rule, e.g., "Lower layers never depend on higher layers"]

### 🛑 Checkpoint: Module Definitions Acceptance

Present module definitions to user. MUST receive explicit acceptance before proceeding.

---

## Phase 5: Module Structure

**Purpose**: Define the internal structure of each module.

### Actions

1. For each module from Phase 4:
   - Define directory/file structure
   - List public API surface
   - Document internal components
2. MUST use AskUserQuestion for any ambiguity
3. Present for user acceptance

### Output Format

```markdown
## Module Structure

### [Module Name]

```
[module-path]/
├── mod.rs / index.ts / __init__.py    # Module exports
├── error.rs                            # Error types
├── [submodule]/                        # Submodule
│   ├── mod.rs
│   ├── model.rs                        # Data models
│   ├── loader.rs                       # Loading logic
│   └── parser.rs                       # Parsing logic
└── [another_submodule]/
    └── ...
```

**Key Abstractions**:
- `[TraitName]`: [What it abstracts]
- `[StructName]`: [What it represents]
```

### 🛑 Checkpoint: Structure Acceptance

Present module structures to user. MUST receive explicit acceptance before proceeding.

---

## Phase 6: Key Features

**Purpose**: Design core features and data workflows in detail.

### Execution Protocol

This phase is ITERATIVE. For each key feature:

1. **List all key features first**
   - Present numbered list of features to design
   - User confirms or modifies list

2. **Design each feature one-by-one**
   - Present feature design
   - Use AskUserQuestion for ANY ambiguity
   - User accepts or requests changes
   - Only proceed to next feature after acceptance

3. **MANDATORY RESEARCH** for features involving:
   - Third-party dependencies (APIs, SDKs, libraries)
   - Infrastructure (Docker, K8s, cloud services)
   - Protocols (gRPC, WebSocket, message queues)
   - Databases (specific DB features, query patterns)

### Research Protocol

When a feature depends on external tech, you MUST:

1. Use **WebFetch** to get official documentation
2. Use **WebSearch** for best practices and gotchas
3. Document findings in the feature design
4. Include version constraints and compatibility notes

```markdown
### Research: [Technology Name]

**Source**: [Official docs URL]
**Version**: [Specific version being designed for]

**Key Findings**:
1. [Finding relevant to this design]
2. [Finding relevant to this design]

**Risks/Gotchas**:
- [Known issue or limitation]
- [Compatibility concern]

**Recommendation**: [How to use it in this system]
```

### Feature Design Format

```markdown
## Key Features

### [Feature Name]

**Purpose**: [What this feature accomplishes]

**Data Flow**:
```
[Step-by-step data flow diagram]
```

**Components Involved**:
| Component | Role | Input | Output |
|-----------|------|-------|--------|
| [Name] | [What it does] | [Data in] | [Data out] |

**Implementation Notes**:
- [Key implementation detail]
- [Key implementation detail]

**Error Handling**:
- [Error case]: [How it's handled]
```

### Example: Execution Pipeline Feature

```markdown
### Execution Pipeline

Handles AI agent execution with observable progress tracking.

**Data Flow**:
```
CLI/Service Request
        |
        v
+-------------------+
| ExecutionService  |
| .run(context)     |
+--------+----------+
         |
         v
+-----------------------------------------------------------+
| WorkflowEngine.run_with_progress()                        |
|   1. Load configuration                                   |
|   2. Build ExecutionContext                               |
|   3. Call ExecutionRunner.run_with_observer()             |
|   4. Emit progress events                                 |
|   5. Return ExecutionResult                               |
+-----------------------------------------------------------+
```

**Observer Pattern**:
```rust
#[async_trait]
pub trait ExecutionObserver: Send + Sync {
    async fn on_event(&self, event: ExecutionEvent);
}

pub enum ExecutionEvent {
    Started { worker: String },
    Progress { message: String },
    Completed { metrics: Metrics },
    Failed { error: String },
}
```
```

### 🛑 Checkpoint: Feature Design Acceptance (per feature)

Present each feature design individually. MUST receive explicit acceptance before proceeding to next feature.

---

## Document Generation

After all phases are complete, generate `docs/ARCHITECTURE.md` with this structure:

```markdown
# [System Name] Architecture

[Brief description of the system and its purpose]

## Table of Contents

- [System Overview](#system-overview)
- [Design Principles](#design-principles)
- [Module Structure](#module-structure)
- [Core Domain Models](#core-domain-models)
- [Key Features](#key-features)
- [Error Handling](#error-handling)
- [Security Considerations](#security-considerations)

## System Overview

[From Phase 2 - diagram and layer descriptions]

### Design Principles

[From Phase 3]

## Module Structure

### [Module Name]

[From Phase 5 - directory structure and abstractions]

## Core Domain Models

[Key data structures with code examples]

## Key Features

### [Feature Name]

[From Phase 6 - data flows and implementation details]

## Error Handling

[Error classification and recovery strategies]

## Security Considerations

[Security-relevant design decisions]

## Summary

[Key takeaways and architectural achievements]
```

---

## Interactive Behavior

### Using AskUserQuestion

MUST use AskUserQuestion tool for:

1. **Ambiguous requirements** - When user intent is unclear
2. **Design trade-offs** - When multiple valid approaches exist
3. **Technology choices** - When selecting between options
4. **Scope decisions** - When feature boundaries are unclear

Example:
```
AskUserQuestion:
  question: "For the event streaming component, which pattern fits better?"
  header: "Event Pattern"
  options:
    - label: "Event Sourcing"
      description: "Store all events, reconstruct state. Better for audit trails."
    - label: "CQRS"
      description: "Separate read/write models. Better for read-heavy workloads."
    - label: "Simple Pub/Sub"
      description: "Fire and forget events. Simpler but less traceable."
```

### Mandatory Research Triggers

MUST perform web research when user mentions:

| Trigger | Research Target |
|---------|-----------------|
| Docker, container | Container best practices, Dockerfile patterns |
| Kubernetes, K8s | K8s resource patterns, operator patterns |
| AWS, GCP, Azure | Cloud service docs, pricing, limits |
| gRPC | Protocol buffers, streaming patterns |
| Kafka, NATS, RabbitMQ | Message queue patterns, partitioning |
| PostgreSQL, MySQL, MongoDB | Schema design, indexing strategies |
| Redis, Memcached | Caching patterns, eviction policies |
| GraphQL | Schema design, N+1 prevention |
| WebSocket, SSE | Real-time communication patterns |
| OAuth, JWT, OIDC | Auth implementation patterns |

### Research Execution

```bash
# Step 1: Fetch official docs
WebFetch(url="https://docs.example.com/guide", prompt="Extract key patterns for [use case]")

# Step 2: Search for best practices
WebSearch(query="[technology] best practices [use case] 2024")

# Step 3: Document findings in architecture
```

---

## Usage Examples

```bash
# Start new architecture design
architecture: Build a recommendation engine for e-commerce

# With specific constraints
architecture: Design a video transcoding pipeline using FFmpeg and AWS

# Resume previous session
architecture resume

# Research-only mode
architecture research: Best practices for Kafka consumer groups
```

---

## Triggers

| Trigger | Action |
|---------|--------|
| `architecture:` | Full interactive workflow |
| `arch:` | Alias for architecture |
| `design:` | Alias for architecture |
| `architecture research:` | Research-only, no document generation |
| `architecture resume` | Resume previous session |

---

## Constraints

**MUST**:
- Complete checklist phases in order
- Get user acceptance at each checkpoint
- Use AskUserQuestion for ANY ambiguity
- Research external dependencies before designing
- Design key features one-by-one with individual acceptance
- Generate comprehensive docs/ARCHITECTURE.md at the end

**MUST NOT**:
- Skip any checklist phase
- Proceed without user acceptance
- Assume technology choices without research
- Design all features at once without checkpoints
- Generate document before all phases complete

---

## Output Artifact

**Location**: `docs/ARCHITECTURE.md`

The final document should be:
- Self-contained and readable without external context
- Include ASCII diagrams for visual clarity
- Have code examples where appropriate
- Follow the structure shown in Document Generation section
- Be production-ready as a team reference document

---

*Architecture Design Orchestrator - Transform ideas into production-ready architecture through guided, interactive design with mandatory research*

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…