Back to skills
SKILL.md
Architecture
ASecurityUse when executing, coordinating, planning, or reviewing architecture agent workflows, cognitive loops, and architecture standards.
- 5 stars
- 0 votes
- 0 copies
- 0 views
- Added September 27, 2026
Works with
Security analysis
100/100npx -y skills add Harmitx7/tribunal-kit --skill architecture --agent claude-codeAre you the author of Architecture?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/harmitx7-architecture)---
name: architecture
description: "Use when executing, coordinating, planning, or reviewing architecture agent workflows, cognitive loops, and architecture standards."
version: 6.0.0
last-updated: 2026-09-29
skills:
- domain-modeling
- codebase-design
- clean-code
tools: Read, Grep, Glob, Bash, Edit, Write
scripts-binding:
- .agent/scripts/lint_runner.js
- .agent/scripts/verify_all.js
---
# Architecture β System Design Mastery
## Mandatory Pre-Flight Context Inspection
Before reading, generating, or refactoring code in the `architecture` domain, inspect these 5 critical parameters:
1. **System Boundaries & Dependencies**: Verify that all required dependencies exist in target package manifests and environment paths.
2. **Runtime Context & Platform Invariants**: Confirm target platform constraints (Node.js, Browser, Mobile OS, Edge runtime) before applying APIs.
3. **Execution Guardrails**: Identify potential side-effects, state mutations, and unhandled asynchronous exceptions.
4. **Validation & Type Contracts**: Validate input data schemas and strict type constraints across all module interfaces.
5. **Observability & Proof of Execution**: Ensure execution produces tangible verification signals (terminal output, tests, metrics).
## Activation Boundaries
- **Activate when:** Use when executing, coordinating, planning, or reviewing architecture agent workflows, cognitive loops, and architecture standards.
- **DO NOT activate when:** The task falls outside the `architecture` domain or is managed by a different dedicated specialist agent.
## π Multi-Pass Execution Protocol
| Pass | Phase | Core Action | Adaptive Depth |
|:---|:---|:---|:---|
| **Pass 1** | **Understand** | Deconstruct the user's explicit objective, implicit requirements, and platform constraints. | Fast / Standard / Deep |
| **Pass 2** | **Plan** | Decompose task into smallest logical steps; map dependencies, affected files, and tool calls. | Standard / Deep |
| **Pass 3** | **Execute** | Implement solution with production-grade craft, zero placeholders, and strict typing. | All Modes |
| **Pass 4** | **Verify** | Run linters, unit tests, or compiler checks to validate structural correctness. | All Modes |
| **Pass 5** | **Attack & Falsify** | Perform adversarial search for edge-case failures, counterexamples, race conditions, and traps. | Standard / Deep |
| **Pass 6** | **Harden** | Eliminate discovered friction, optimize performance, and harden error boundaries. | Standard / Deep |
| **Pass 7** | **Quality Gate** | Enforce Verification-Before-Completion (VBC) with concrete terminal proof before finalizing. | All Modes |
---
## π οΈ Technical Architecture & Reference Recipes
## Hallucination Traps (Read First)
- β Choosing microservices for a team of 1-3 developers -> β
Start monolith, extract services only when team/scale demands it
- β Using event-driven architecture without understanding eventual consistency -> β
Events mean data will be stale; design for it
- β Skipping ADRs (Architecture Decision Records) -> β
Every non-obvious decision needs a written 'why' for future maintainers
---
## Architecture Selection
```
Team size? Scale? Cadence?
1β5 β Monolith <10K RPM β Monolith Weekly β Monolith
5β20 β Mod. Mono <100K RPM β Mono+CDN Daily β Modular Mono
20+ β Microsvcs >100K RPM β Microsvcs Per-svc β Microsvcs
β Microservices are NOT inherently better.
A well-structured monolith beats a poorly designed microservice system.
Start monolith. Extract services only when proven necessary.
```
**3 Questions Before Any Pattern:**
1. What SPECIFIC problem does this pattern solve?
2. Is there a simpler solution?
3. Can we add this LATER when proven needed?
---
## Clean Architecture (Dependency Rule)
```
Presentation β Application β Domain β Infrastructure
(Controllers) (Use Cases) (Entities) (DB, APIs)
Dependency Rule: arrows point INWARD. Domain knows NOTHING about infra.
Application defines interfaces (ports). Infrastructure implements them (adapters).
```
```typescript
// Domain β pure business logic, zero external dependencies
interface UserRepository {
findById(id: string): Promise<User | null>;
}
class User {
promote(): void {
if (this._role === UserRole.ADMIN) throw new DomainError('Already admin');
this._role = UserRole.ADMIN;
}
}
// Application β orchestrates use cases
class PromoteUserUseCase {
async execute(userId: string): Promise<void> {
const user = await this.userRepo.findById(userId);
if (!user) throw new NotFoundError('User', userId);
user.promote();
await this.userRepo.save(user);
await this.eventBus.publish(new UserPromotedEvent(userId));
}
}
// Infrastructure β concrete implementations of ports
class PostgresUserRepository implements UserRepository {
async findById(id: string) {
/* db.query(...) */
}
}
```
---
## CQRS
```
Commands (Write) β Normalized Write DB
Queries (Read) β Denormalized/Cached Read Model
When to use: β
Read/write patterns diverge β
10:1+ read:write ratio β
Event sourcing
When NOT to: β Simple CRUD β Team < 3 devs β Read/write models are identical
```
---
## Event-Driven Architecture
```
Event Types:
Domain Events β "OrderPlaced" within a bounded context
Integration Events β Cross-service via message queue
Notification Events β Fire-and-forget (logging, analytics)
Broker Selection:
BullMQ / Redis Streams β Simple, single-service queues
RabbitMQ β Complex routing, dead-letter queues
Apache Kafka β High throughput, replay, event log
AWS SQS/SNS β Managed, serverless-friendly
Outbox Pattern (reliable publishing):
1. Save entity + event in ONE DB transaction
2. Background worker polls outbox β publishes to broker
3. Mark as published β guarantees at-least-once delivery
```
---
## Anti-Patterns Reference
| Pattern | When it's an Anti-Pattern | Simpler Alternative |
| --------------- | ------------------------------------------- | -------------------------------- |
| Microservices | Before team or scale justifies it | Modular monolith |
| Clean/Hexagonal | Over-abstraction for simple CRUD | Concrete first, interfaces later |
| Event Sourcing | No business requirement for audit/replay | Append-only audit log |
| CQRS | Simple data model, no read/write divergence | Single model |
| Repository | Simple CRUD, single database | ORM direct access |
---
## Architecture Decision Records (ADRs)
```markdown
## ADR-001: [Decision Title]
**Status:** Proposed | Accepted | Deprecated | Superseded by ADR-XXX
**Context:** [Problem + constraints: team, scale, timeline]
**Decision:** [What was chosen β be specific]
**Rationale:** [Why β tied to requirements]
**Trade-offs:** [What we consciously give up]
**Consequences:**
- Positive: [Benefits]
- Negative: [Costs/Risks]
- Mitigation: [How to address negatives]
**Revisit when:** [Trigger conditions]
```
ADR storage: `docs/architecture/adr-001-title.md`
---
## Scalability Patterns
```
Read scaling: Redis cache β Read replicas β CDN for static assets
Write scaling: Queue writes β Partition data β Event sourcing
Stateless: Sessions in Redis β JWT β No server affinity
DB scaling: Connection pooling β Read replicas β Partitioning β Sharding (last resort)
Cache layers: L1: In-memory (process) L2: Redis (shared) L3: CDN (edge)
```
## Scale-to-Architecture Matrix
```
MVP SaaS Enterprise
Scale: <1K 1Kβ100K 100K+
Team: Solo 2β10 10+
Architecture: Simple Mono Modular Mono Distributed
Framework: Next.js API NestJS Microservices
```
## π¨ Edge-Case & Failure Mode Matrix
| Scenario | Risk | Production Mitigation |
|:---|:---|:---|
| **Empty or Null Inputs** | Unhandled exception or unexpected rendering collapse | Enforce fallback guards, optional chaining, and explicit empty state handlers |
| **Network Timeout / Latency** | Hanging operations or duplicate side-effects | Implement bounded abort controllers, exponential backoff, and idempotency keys |
| **Concurrency / Race Conditions** | Stale state overwrite or inconsistent data mutations | Use atomic transactions, mutex locking, or cancel-on-resubmit controls |
| **Invalid Schema / Malformed Payload** | Downstream runtime errors or security injection | Validate boundary payloads with Zod/Pydantic schemas prior to execution |
| **Resource / Memory Saturation** | OOM errors, frame drops, or memory leaks | Clean up listeners, cancel active timers, and enforce pagination/virtualization |
## ποΈ Tribunal Verification & Guardrails
**Active Reviewers:** `orchestrator` Β· `agent-organizer` Β· `logic-reviewer`
**Slash Command:** `/review` or `/tribunal-full`
### π¬ Evidence Standard (Tri-State Verification)
Every finding, audit statement, or completion claim must classify its factual certainty:
- **`[OBSERVED]`**: Directly confirmed in the codebase or verified via executed terminal command.
- **`[INFERRED]`**: Logically deduced from code patterns, architectural data flow, or schema relations.
- **`[UNVERIFIED]`**: Speculative hypothesis or runtime possibility requiring active testing or measurement.
### β
Pre-Flight Self-Audit Checklist
```
β
Did I deconstruct the root objective before proposing architecture?
β
Did I identify dependencies, bottlenecks, and parallelizable sub-tasks?
β
Did I avoid over-engineering and select the simplest effective pattern?
β
Did I verify assumptions with concrete file reads instead of speculation?
β
Did I establish measurable verification criteria before completion?
```
### π Verification-Before-Completion (VBC) Protocol
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
- β **Forbidden:** Declaring a task complete because the output "looks correct."
- β
**Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing test suites, compiler success, or equivalent operational proof) that your output works as intended.
Attribution
Comments
Loading commentsβ¦