audit-backend-architecture
Read-only backend-architecture audit and pattern advisor, gated by stack.
Skill by kensaurus
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/kensaurus-audit-backend-architecture
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/audit-backend-architecture
What's inside
- Skill name
audit-backend-architecture- Description
- Read-only backend-architecture audit and pattern advisor, gated by stack. Use when "audit backend architecture", "which pattern should I use", "am I over-engineering", or "sync vs event-driven". Enforced boundaries → enhance-arch-boundaries.
- License
- MIT
- Instructions
- 265 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- files: referenced but missing: references/architecture-patterns.md
Files (2)
- SKILL.md
- patterns.md · references/
SKILL.md (first lines)
# audit-backend-architecture — Distributed-Systems Pattern Maturity Audit
**Degree of freedom: MIXED** — Fit, presence, and adopt/defer `[HIGH freedom]`;
Phase 0 topology probes `[LOW freedom — run exactly]`. Never mark a
pattern Missing if its tier is N/A.
Read-only. Assess and recommend; do not change code. Per-call timeouts,
retry+jitter, idempotency keys, cancellation → **`audit-resilience`**. This
skill checks whether the *patterns* exist and whether they *fit*.
Two lenses:
1. **Conformance** (Phase 2) — Implemented / Partial / Missing / N/A with `file:line`.
2. **Fit / decision** (Phase 3) — Adopt now / Adopt when [trigger] / Defer
(premature). *"Don't build this yet"* is a first-class finding.
## This skill vs neighbors
| Skill | Owns |
|---|---|
| **audit-backend-architecture** (this) | Read-only architecture audit and pattern advisor, gated by stack |
| `enhance-arch-boundaries` | Enforce architecture boundaries in CI: layer direction, forbidden imports |
| `backend-patterns` | Apply backend patterns: queues, caching, rate limits, serverless/edge |
---
## Core principle — start simple, earn every pattern
Each pattern solves a *specific* problem and carries a *specific* cost. The current
consensus is **modular-monolith-first**: >90% of systems are well served by a
well-structured monolith; **premature decomposition is the #1 failure mode**. A
pattern is "Missing" only if the **measurable trigger** is present — otherwise
adopting it is over-engineering, flagged as loudly as a real gap.
- **Fit beats presence.** "No service mesh / no CQRS" is a finding *only* when a trigger is present.
- **Decide per interaction, not per system.** Sync vs event-driven is chosen per
boundary-crossing call (see references/patterns.md → Communication style).
- **Distributed monolith is worse than a monolith.** Shared DB + coupled deploys
pays the distributed tax with none of the independence.
- **Reversible steps.** Prefer modular monolith, façade, outbox over premature
service split or event-sourcing everywhere.
## How to reason — Observe → Interpret → Classify → Severity
1. **Observe** — topology signals + the `file:line` (or "searched, none found")
2. **Interpret** — is there a present pain, a named future trigger, or no trigger?
3. **Classify** — Implemented / Partial / Missing / N/A, then Adopt now / Adopt when / Defer
4. **Severity** — dual-write, cascade-outage, silent inconsistency = Critical; Missing with no trigger = over-engineering, not a gap
## Worked example
> **Observe:** T1 Next.js + Supabase. `orders/service.ts` writes the row then
> publishes to a queue in a second step. Product page hits the DB on every
> request. No k8s, mesh, or multi-service fleet.
> **Interpret:** a crash between write and publish loses the fulfillment event
> (dual-write). Hot reads have no cache. Mesh and CQRS have no trigger.
> **Classify:** Outbox = Adopt now; cache-aside = Adopt now; mesh / CQRS = Defer (T1 N/A).
> **Severity:** Critical for dual-write; High for the uncached hot path.
> **Finding:** Outbox (#6) | orders/service.ts | Critical | Adopt now — close
> dual-write. Mesh | N/A (T1) | Defer — no 10+ service fleet.
---
## Phase 0 — Detect topology (gates every later finding) [LOW freedom — run exactly]
Architecture advice is only correct in context. Flagging "no service mesh" on a
Next.js + Supabase app is noise; missing it on a 40-service Kubernetes fleet is
critical. **Classify the repo first**, then apply only the patterns that fit.
Never report a pattern as "Missing" if its topology tier is `N/A`.
```bash
# Deploy target / runtime
rg -n --hidden -g '!node_modules' -l "vercel\.json|netlify\.toml|next\.config|supabase/config" # serverless/PaaS
fd -H -t f 'Dockerfile|docker-compose\.ya?ml|Containerfile' # containers
fd -H -t d 'k8s|kustomize|charts|helm' ; rg -n "apiVersion:\s*(apps|networking)" -g '*.{yaml,yml}' -l # kubernetes
# Service count / boundaries
fd -H -t f 'package.json|go.mod|pyproject.toml|pom.xml|Cargo.toml' | rg -v node_modules # count deployable units
# Messaging / eventing
rg -n "kafka|rabbitmq|amqp|nats|sqs|sns|pubsub|kinesis|redpanda|temporal|inngest|trigger\.dev" -l
# Inter-service transport
rg -n "grpc|@grpc|protobuf|\.proto|graphql|apollo|federation|trpc" -l
# Mesh / gateway infra
rg -n "istio|linkerd|consul|envoy|kong|apisix|traefik|nginx-ingress|api-?gateway|ztunnel|waypoint" -l
```
Record a **topology profile** and pick the tier:
| Tier | Signals | Patterns in scope |
|---|---|---|
| **T1 — Serverless / modular monolith** | single deployable, Next/Supabase/edge fns, no broker | Gateway concerns (as middleware), BFF-lite, circuit breaker, idempotency/outbox-lite, hexagonal, strangler, tracing/SLO, contract tests |
| **T2 — Containers, few services** | Dockerfiles, 2–10 services, maybe a broker | + real gateway, BFF-per-client, bulkhead, outbox+relay, saga, backpressure, ACL, mTLS |
| **T3 — Kubernetes / microservices / event-driven** | k8s manifests, broker, gRPC/federation, 10+ services | + sidecar/service mesh (ambient), CQRS/event-sourcing, cell-based, full saga orchestration, CDC |
If there are **no** backend services (static site / pure frontend), stop and report reduced
applicability — hand any API-client concerns to `audit-fe-api`.
---
## Phase 1 — Research current patterns [HIGH freedom]
Follow `/research`: confirm current-year conventions and the *installed* libraries for the detected
stack (gateway/proxy, breaker/bulkhead libs, outbox/CDC tooling, saga/workflow engines, mesh mode).
Anchor recommendations to versions actually in the manifest — never propose a library the repo can't
run.
---
## Phase 2 — Architecture maturity matrix [HIGH freedom]
For **each in-scope pattern**, mark `Implemented / Partial / Missing / N/A` with `file:line`, a
one-line "why it matters", and the fix-delegate. **Detailed detection commands, "good vs. red-flag"
signals, and fix targets for every pattern are in [references/patterns.md](references/patterns.md)** —
load it and work through the applicable rows.
| # | Pattern | Tier | This audit checks (structural) | Fix via |
|---|---|---|---|---|
| 1 | **API gateway** | T1+ | Auth, rate-limit, CORS, transform, logging, monitoring, caching enforced in **one** edge layer, not per-route copy-paste | `backend-patterns`, `audit-security` |
| 2 | **BFF / API composition** | T1+ | Per-client shaping vs. one general API; over/under-fetch; who owns aggregation; federation at 5+ teams | `backend-patterns`, `design-api` |
| 3 | **Circuit breaker** | T1+ | A breaker exists around downstream calls (presence/architecture only) | `audit-resilience` → `backend-patterns` |From kensaurus/skills, MIT.
More from kensaurus/skills
- 0.633score
create-skill
kensaurus
Guide users through creating effective Agent Skills for Cursor.
SkillAFreshness: A★ 9Claude Code +9 - 0.633score
audit-agent-speed
kensaurus
Measure and fix a slow coding-agent setup: status line, hooks, instruction bloat, effort, worktree pile-up, antivirus and indexer scans.
SkillAFreshness: A★ 9Claude Code +9 - 0.628score
audit-analytics
kensaurus
Read-only audit of product-analytics events (PostHog, Amplitude, Mixpanel, GA4): taxonomy, funnels, consent-gated firing, dead or duplicate events.
SkillAFreshness: A★ 9Claude Code +9 - 0.628score
update-cursor-settings
kensaurus
Modify Cursor/VSCode user settings in settings.json.
SkillAFreshness: A★ 9Claude Code +9 - 0.628score
audit-accessibility
kensaurus
WCAG 2.2 AA audit via playwright-cli: axe-core, keyboard, contrast, target size, focus, ARIA.
SkillAFreshness: A★ 9Claude Code +9 - 0.628score
audit-auth-flows
kensaurus
Read-only audit of app-layer auth: route×gate matrix, session lifecycle, OAuth, provider traps (getSession vs getUser, middleware-only gates, CVE-2025-29927).
SkillAFreshness: A★ 9Claude Code +9 - 0.628score
audit-bundle-size
kensaurus
Analyse and shrink a web app's JavaScript bundle.
SkillAFreshness: A★ 9Claude Code +9 - 0.628score
audit-cicd
kensaurus
Audit GitHub Actions CI/CD for cost, speed, and safety.
SkillAFreshness: A★ 9Claude Code +9 - 0.628score
audit-code-quality
kensaurus
Detect and fix repo-wide anti-patterns and consistency drift (naming, organisation, repeated smells).
SkillAFreshness: A★ 9Claude Code +9 - 0.628score
create-rule
kensaurus
Create Cursor rules for persistent AI guidance.
SkillAFreshness: A★ 9Claude Code +9 - 0.628score
split-to-prs
kensaurus
Split current work into small reviewable PRs.
SkillAFreshness: A★ 9Claude Code +9 - 0.625score
create-hook
kensaurus
Create Cursor hooks.
SkillAFreshness: A★ 9Claude Code +9
Signals
- Stars
- 9
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Oct 19, 2026 (10 days ago)
- Last release
- Oct 19, 2026 (10 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/kensaurus/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from kensaurus
- 0.633score
create-skill
kensaurus
Guide users through creating effective Agent Skills for Cursor.
SkillAFreshness: A★ 9Claude Code +9 - 0.633score
audit-agent-speed
kensaurus
Measure and fix a slow coding-agent setup: status line, hooks, instruction bloat, effort, worktree pile-up, antivirus and indexer scans.
SkillAFreshness: A★ 9Claude Code +9 - 0.628score
create-rule
kensaurus
Create Cursor rules for persistent AI guidance.
SkillAFreshness: A★ 9Claude Code +9 - 0.628score
split-to-prs
kensaurus
Split current work into small reviewable PRs.
SkillAFreshness: A★ 9Claude Code +9 - 0.628score
audit-analytics
kensaurus
Read-only audit of product-analytics events (PostHog, Amplitude, Mixpanel, GA4): taxonomy, funnels, consent-gated firing, dead or duplicate events.
SkillAFreshness: A★ 9Claude Code +9 - 0.628score
update-cursor-settings
kensaurus
Modify Cursor/VSCode user settings in settings.json.
SkillAFreshness: A★ 9Claude Code +9
Cite this page
audit-backend-architecture skill. Agent Mart. https://agentmart.dev/skills/kensaurus-audit-backend-architecture (last updated 2026-10-24)