sota-api-design
State-of-the-art API design and audit guidance (2026) covering REST/HTTP, GraphQL, gRPC, WebSockets/SSE/realtime, webhooks,…
State-of-the-art software and system architecture rules (2026) for both building and auditing. Use when designing, building, refactoring, or extending system architecture — boundaries, DDD, hexagonal/clean architecture, event-driven design, CQRS, sagas, messaging, caching,
Claude Code
$ npx -y skills add martinholovsky/SOTA-skills --skill sota-architecture --agent claude-code
Codex
$ npx skills add martinholovsky/SOTA-skills --skill sota-architecture -a codex -y
Cursor
$ npx skills add martinholovsky/SOTA-skills --skill sota-architecture -a cursor -y
Gemini CLI
$ npx skills add martinholovsky/SOTA-skills --skill sota-architecture -a gemini-cli -y
GitHub Copilot
$ npx skills add martinholovsky/SOTA-skills --skill sota-architecture -a github-copilot -y
OpenCode
$ npx skills add martinholovsky/SOTA-skills --skill sota-architecture -a opencode -y
Windsurf
$ npx skills add martinholovsky/SOTA-skills --skill sota-architecture -a windsurf -y
name: sota-architecture description: >- State-of-the-art software and system architecture rules (2026) for both building and auditing. Use when designing, building, refactoring, or extending system architecture — boundaries, DDD, hexagonal/clean architecture, event-driven design, CQRS, sagas, messaging, caching, sharding, multi-tenancy, resilience, scalability, 12-factor/cloud-native — AND when auditing existing architecture for quality (design review, anti-patterns like distributed monolith or shared database, reliability/scalability assessment). Trigger keywords: architecture, system design, microservices, monolith, serverless, bounded context, DDD, aggregate, hexagonal, clean architecture, event-driven, Kafka, NATS, JetStream, messaging, pub/sub, stream, consumer, queue, saga, outbox, idempotency, CQRS, resilience, circuit breaker, retry, timeout, backpressure, caching, sharding, partitioning, multi-tenant, 12-factor, cloud-native, feature flag, ADR, scalability, anti-pattern, design review, architecture audit.
Dense, enforceable rules for software and system architecture: choosing styles, drawing boundaries, surviving distributed systems, scaling state, and shipping cloud-natively. One rule set, two modes — apply the rules while **building**, or check code against them while **auditing**. All substance lives in `rules/`; this file routes you to the right one.
1. **Identify the decision surface.** Before writing code, list the architectural decisions in play (style, boundaries, sync/async, datastore, tenancy, caching). Use the index below to read the relevant rules files *before* committing to a design — minimum: 01 for any new system/service, 03 for anything crossing a network, 07 always (know what failure looks like). 2. **Default to boring.** Modular monolith, one database, sync calls within the deadline budget, queues only where semantics are async. Escalate complexity only when a rule's stated forces apply, and record it. 3. **Write the ADR first** for any Type 1 (hard to reverse) decision: context, decision, consequences (must include downsides), rejected alternatives. Put it in `docs/adr/`. 4. **Apply rules as you code, not after.** Timeouts/retries/idempotency at every integration point as you create it; ports before adapters; tenant_id and trace context plumbed from the first commit. Retrofitting these is 10x the cost. 5. **Encode the rules you adopted as fitness functions** (import-rule tests, contract tests in CI, SLO alerts) so they survive you. 6. **Before finishing**, run the relevant "Audit checklist" sections from each rules file you used against your own output. Fix what fails or document why it's accepted (in the ADR).
**Coverage:** every `rules/` file's Audit checklist applies in AUDIT mode. Mark one *not applicable* only with its reason in the report — never skip a file because the thing it checks for is absent, since that absence may be the finding.
1. **Scope first.** Identify what you're auditing (whole system, one service, one PR) and read the matching rules files from the index. For a full architecture audit, work through every rules file; for a PR, pick by topic. 2. **Drive from the checklists.** Every rules file ends with an "Audit checklist" of yes/no questions — answer each with evidence (file:line, config, trace), never from the README's claims. Use [rules/07](rules/07-anti-patterns-catalog.md) detection signals as concrete grep/inspection targets. 3. **Verify mechanically where possible:** grep for client construction without timeouts, imports crossing layers, queries missing tenant scoping, `latest` image tags, dual-writes (DB write + publish in the same function without an outbox), shared DB credentials. 4. **Report every violation as a finding** in this exact format:
[SEVERITY] file:line — Rule violated: <rules-file §section, short rule name> Evidence: <what you observed> Impact: <what fails and when> Fix: <specific, smallest correct remediation> Effort: trivial | small | medium | large
5. **Severity conventions:**
6. **Summarize** findings by severity with counts, then list the top 3 structural themes (not symptoms) and the order to fix them (Critical correctness → rollback/deploy safety → evolvability).
| File | Topics | Read this when... | |---|---|---| | [`rules/01-architecture-styles-and-decisions.md`](rules/01-architecture-styles-and-decisions.md) | Modular monolith vs microservices vs serverless, **monorepos (build-enforced visibility, CODEOWNERS enforcement, workspace lockfiles, affected-only CI and its global inputs, §2a)**, extraction forces, ADRs, evolutionary architecture, fitness functions, Type 1/2 decisions, retiring a service completely, Conway's law, strangler fig, buy vs build | Starting a system, proposing/justifyi
Make your AI coding assistant build and audit like your most senior engineer. Your assistant is brilliant — it just doesn't know your standards, and it forgets the ones it does know as the task grows long.
State-of-the-art API design and audit guidance (2026) covering REST/HTTP, GraphQL, gRPC, WebSockets/SSE/realtime, webhooks,…
State-of-the-art rules for writing and auditing asynchronous and concurrent code across runtimes (Python asyncio, JS/Node, Go,…
State-of-the-art C and C++ engineering rules that Claude applies when writing or auditing C/C++. Covers modern idioms (RAII,…
State-of-the-art CLI and developer-tool UX guidance (2026) covering command and flag design, output and interaction…
State-of-the-art cloud infrastructure architecture (2026). Applies when designing, building, or auditing cloud environments on…
Secure coding and security auditing rules. Use whenever BUILDING or modifying code that crosses a trust boundary — endpoints,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.