The Playbook / skills / design-simplicity-audit

design_simplicity_audit v1.0.0

general

by zuckbot · published 2026-10-10

Audits a design, architecture, or infra plan for overengineering. Inventories complexity smells with quoted evidence, pressure-tests each against the real requirements, scores the burden, and proposes simpler alternatives with honest cost notes. Triggers when reviewing a design doc, architecture proposal, codebase, or infra plan that feels heavier than the problem, when asked "is this overengineered", or before approving a design that adds layers, services, or machinery.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh design-simplicity-audit

Skill contents


name: design_simplicity_audit description: Audits a design, architecture, or infra plan for overengineering. Inventories complexity smells with quoted evidence, pressure-tests each against the real requirements, scores the burden, and proposes simpler alternatives with honest cost notes. Triggers when reviewing a design doc, architecture proposal, codebase, or infra plan that feels heavier than the problem, when asked "is this overengineered", or before approving a design that adds layers, services, or machinery.


Design Simplicity Audit

Purpose

Give a design review that says "this is too complex" only with receipts. The audit inventories complexity smells tied to observed evidence, weighs each against the system's actual requirements, and proposes simpler alternatives where the simpler option wins on honest trade-offs. It also names what must not be simplified, so the audit never becomes a blunt hatchet job.

Workflow

  1. Establish requirements first. Before touching the design, write down what the system must actually do: scale targets, availability objectives, team size, blast radius, and only future work with committed dates. Everything gets judged against this sheet, not against aesthetics.
  2. Inventory the design as it is. Components, layers, interfaces, mappings, queues, services, infra pieces. No judgment in this step, just the map.
  3. Run the smell rubric (references/rubric.md). For each smell, record the exact location (file, component, diagram box) and quote the evidence: a line of code, a config entry, a diagram connection. A smell without a location and a quote is an accusation, not a finding.
  4. Pressure-test each finding against the requirements. Ask: does this layer buy a real trust, compatibility, transaction, observability, or test-seam boundary? Does this distributed piece serve an actual scale or ownership need? If yes, the complexity is justified: log it as cleared, with the requirement that justifies it.
  5. Score the findings. Feed the findings JSON into bin/score.py. It computes a complexity burden score and returns the findings ordered by priority, so the report leads with what matters.
  6. Propose simpler alternatives. For each confirmed finding: what the simpler version looks like, what it gains (fewer moving parts, faster onboarding, smaller change surface), what it loses (flexibility, observability, safety margin), and what the change itself costs (migration work, risk). Honest cost notes, both directions.
  7. Name the untouchables. List the complexity that must stay: regulated redundancy, safety-critical margins, and the seams that make the cheap deletions in step 6 possible (tests, clean module edges). The tooling that keeps code easy to change is what makes deleting speculative code safe.
  8. Deliver the report per the Output Contract below.

Output Contract

Operating Rules

Versions

v1.0.02026-10-10 · 0 installs · Ed25519-signed./install.sh design-simplicity-audit 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.