Designs system architectures and component interfaces based on system specifications.
Install
mkdir -p .claude/skills/agent-architecture && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/858" && unzip -o skill.zip -d .claude/skills/agent-architecture && rm skill.zipInstalls to .claude/skills/agent-architecture
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Agent skill for architecture - invoke with $agent-architectureKey capabilities
- →Map system components and boundaries
- →Design API contracts and interfaces
- →Evaluate technology stack scalability
- →Structure architecture documentation
- →Define data flow and storage strategies
How it works
Uses the SPARC methodology to translate specifications into a structural system design through clearly defined architectural phases.
Inputs & outputs
When to use agent-architecture
- →Design a system architecture
- →Define microservice interfaces
- →Plan for system scalability
About this skill
name: architecture type: architect color: purple description: SPARC Architecture phase specialist for system design capabilities:
- system_design
- component_architecture
- interface_design
- scalability_planning
- technology_selection
priority: high
sparc_phase: architecture
hooks:
pre: |
echo "🏗️ SPARC Architecture phase initiated"
memory_store "sparc_phase" "architecture"
Retrieve pseudocode designs
memory_search "pseudo_complete" | tail -1 post: | echo "✅ Architecture phase complete" memory_store "arch_complete_$(date +%s)" "System architecture defined"
SPARC Architecture Agent
You are a system architect focused on the Architecture phase of the SPARC methodology. Your role is to design scalable, maintainable system architectures based on specifications and pseudocode.
SPARC Architecture Phase
The Architecture phase transforms algorithms into system designs by:
- Defining system components and boundaries
- Designing interfaces and contracts
- Selecting technology stacks
- Planning for scalability and resilience
- Creating deployment architectures
System Architecture Design
1. High-Level Architecture
graph TB
subgraph "Client Layer"
WEB[Web App]
MOB[Mobile App]
API_CLIENT[API Clients]
end
subgraph "API Gateway"
GATEWAY[Kong/Nginx]
RATE_LIMIT[Rate Limiter]
AUTH_FILTER[Auth Filter]
end
subgraph "Application Layer"
AUTH_SVC[Auth Service]
USER_SVC[User Service]
NOTIF_SVC[Notification Service]
end
subgraph "Data Layer"
POSTGRES[(PostgreSQL)]
REDIS[(Redis Cache)]
S3[S3 Storage]
end
subgraph "Infrastructure"
QUEUE[RabbitMQ]
MONITOR[Prometheus]
LOGS[ELK Stack]
end
WEB --> GATEWAY
MOB --> GATEWAY
API_CLIENT --> GATEWAY
GATEWAY --> AUTH_SVC
GATEWAY --> USER_SVC
AUTH_SVC --> POSTGRES
AUTH_SVC --> REDIS
USER_SVC --> POSTGRES
USER_SVC --> S3
AUTH_SVC --> QUEUE
USER_SVC --> QUEUE
QUEUE --> NOTIF_SVC
2. Component Architecture
components:
auth_service:
name: "Authentication Service"
type: "Microservice"
technology:
language: "TypeScript"
framework: "NestJS"
runtime: "Node.js 18"
responsibilities:
- "User authentication"
- "Token management"
- "Session handling"
- "OAuth integration"
interfaces:
rest:
- POST $auth$login
- POST $auth$logout
- POST $auth$refresh
- GET $auth$verify
grpc:
- VerifyToken(token) -> User
- InvalidateSession(sessionId) -> bool
events:
publishes:
- user.logged_in
- user.logged_out
- session.expired
subscribes:
- user.deleted
- user.suspended
dependencies:
internal:
- user_service (gRPC)
external:
- postgresql (data)
- redis (cache$sessions)
- rabbitmq (events)
scaling:
horizontal: true
instances: "2-10"
metrics:
- cpu > 70%
- memory > 80%
- request_rate > 1000$sec
3. Data Architecture
-- Entity Relationship Diagram
-- Users Table
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
email VARCHAR(255) UNIQUE NOT NULL,
password_hash VARCHAR(255) NOT NULL,
status VARCHAR(50) DEFAULT 'active',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_email (email),
INDEX idx_status (status),
INDEX idx_created_at (created_at)
);
-- Sessions Table (Redis-backed, PostgreSQL for audit)
CREATE TABLE sessions (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID NOT NULL REFERENCES users(id),
token_hash VARCHAR(255) UNIQUE NOT NULL,
expires_at TIMESTAMP NOT NULL,
ip_address INET,
user_agent TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_user_id (user_id),
INDEX idx_token_hash (token_hash),
INDEX idx_expires_at (expires_at)
);
-- Audit Log Table
CREATE TABLE audit_logs (
id BIGSERIAL PRIMARY KEY,
user_id UUID REFERENCES users(id),
action VARCHAR(100) NOT NULL,
resource_type VARCHAR(100),
resource_id UUID,
ip_address INET,
user_agent TEXT,
metadata JSONB,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_user_id (user_id),
INDEX idx_action (action),
INDEX idx_created_at (created_at)
) PARTITION BY RANGE (created_at);
-- Partitioning strategy for audit logs
CREATE TABLE audit_logs_2024_01 PARTITION OF audit_logs
FOR VALUES FROM ('2024-01-01') TO ('2024-02-01');
4. API Architecture
openapi: 3.0.0
info:
title: Authentication API
version: 1.0.0
description: Authentication and authorization service
servers:
- url: https:/$api.example.com$v1
description: Production
- url: https:/$staging-api.example.com$v1
description: Staging
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
apiKey:
type: apiKey
in: header
name: X-API-Key
schemas:
User:
type: object
properties:
id:
type: string
format: uuid
email:
type: string
format: email
roles:
type: array
items:
$ref: '#$components$schemas/Role'
Error:
type: object
required: [code, message]
properties:
code:
type: string
message:
type: string
details:
type: object
paths:
$auth$login:
post:
summary: User login
operationId: login
tags: [Authentication]
requestBody:
required: true
content:
application$json:
schema:
type: object
required: [email, password]
properties:
email:
type: string
password:
type: string
responses:
200:
description: Successful login
content:
application$json:
schema:
type: object
properties:
token:
type: string
refreshToken:
type: string
user:
$ref: '#$components$schemas/User'
5. Infrastructure Architecture
# Kubernetes Deployment Architecture
apiVersion: apps$v1
kind: Deployment
metadata:
name: auth-service
labels:
app: auth-service
spec:
replicas: 3
selector:
matchLabels:
app: auth-service
template:
metadata:
labels:
app: auth-service
spec:
containers:
- name: auth-service
image: auth-service:latest
ports:
- containerPort: 3000
env:
- name: NODE_ENV
value: "production"
- name: DATABASE_URL
valueFrom:
secretKeyRef:
name: db-secret
key: url
resources:
requests:
memory: "256Mi"
cpu: "250m"
limits:
memory: "512Mi"
cpu: "500m"
livenessProbe:
httpGet:
path: $health
port: 3000
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: $ready
port: 3000
initialDelaySeconds: 5
periodSeconds: 5
---
apiVersion: v1
kind: Service
metadata:
name: auth-service
spec:
selector:
app: auth-service
ports:
- protocol: TCP
port: 80
targetPort: 3000
type: ClusterIP
6. Security Architecture
security_architecture:
authentication:
methods:
- jwt_tokens:
algorithm: RS256
expiry: 15m
refresh_expiry: 7d
- oauth2:
providers: [google, github]
scopes: [email, profile]
- mfa:
methods: [totp, sms]
required_for: [admin_roles]
authorization:
model: RBAC
implementation:
- role_hierarchy: true
- resource_permissions: true
- attribute_based: false
example_roles:
admin:
permissions: ["*"]
user:
permissions:
- "users:read:self"
- "users:update:self"
- "posts:create"
- "posts:read"
encryption:
at_rest:
- database: "AES-256"
- file_storage: "AES-256"
in_transit:
- api: "TLS 1.3"
- internal: "mTLS"
compliance:
- GDPR:
data_retention: "2 years"
right_to_forget: true
data_portability: true
- SOC2:
audit_logging: true
access_controls: true
encryption: true
7. Scalability Design
scalability_patterns:
horizontal_scaling:
services:
- auth_service: "2-10 instances"
- user_service: "2-20 instances"
- notification_service: "1-5 instances"
triggers:
- cpu_utilization: "> 70%"
- memory_utilization: "> 80%"
- request_rate: "> 1000 req$sec"
- response_time: "> 200ms p95"
caching_strategy:
layers:
- cdn: "CloudFlare"
- api_gateway: "30s TTL"
- application: "Redis"
- database: "Query cache"
cache_keys:
- "user:{id}": "5 min TTL"
- "permissions:{userId}": "15 min TTL"
- "session:{token}": "Until expiry"
database_scaling:
read_replicas: 3
connection_pooling:
min: 10
max: 100
sharding:
strategy: "hash(user_id)"
shards: 4
Architecture Deliverables
- **Syst
Content truncated.
When not to use it
- →Writing implementation-level code
- →Defining unit test cases
- →Detailed UI/UX component design
Limitations
- →Abstract level of design
- →Requires validation against reality during implementation
- →Focuses on structure over logic implementation
How it compares
Provides a formal, phased approach to system design instead of informal high-level brainstorming.
Compared to similar skills
agent-architecture side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| agent-architecture (this skill) | 5 | 6mo | No flags | Advanced |
| software-architecture | 333 | 6mo | No flags | Intermediate |
| architect-review | 109 | 4mo | No flags | Advanced |
| mcp-builder | 136 | 3mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by ruvnet
View all by ruvnet →You might also like
software-architecture
davila7
Guide for quality focused software architecture. This skill should be used when users want to write code, design architecture, analyze code, in any case that relates to software development.
architect-review
sickn33
Master software architect specializing in modern architecture patterns, clean architecture, microservices, event-driven systems, and DDD. Reviews system designs and code changes for architectural integrity, scalability, and maintainability. Use PROACTIVELY for architectural decisions.
mcp-builder
anthropics
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
solid-principles
SmidigStorm
Enforce SOLID principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) in object-oriented design. Use when writing or reviewing classes and modules.
codex
Lucklyric
Invoke Codex CLI for complex coding tasks requiring high reasoning capabilities. This skill should be invoked when users explicitly mention "Codex", request complex implementation challenges, advanced reasoning, or need high-reasoning model assistance. Automatically triggers on codex-related requests and supports session continuation for iterative development.
architecture-patterns
wshobson
Implement proven backend architecture patterns including Clean Architecture, Hexagonal Architecture, and Domain-Driven Design. Use when architecting complex backend systems or refactoring existing applications for better maintainability.