← ClaudeAtlas

clean-backendlisted

Use when designing, writing, or reviewing backend code — HTTP endpoints, payment or state-changing flows, database reads and writes, calls to other services, background jobs, rolling out a risky change, or production alerting and on-call.
AllanOps/Clean-Backend · ★ 9 · API & Backend · score 79
Install: claude install-skill AllanOps/Clean-Backend
# Clean Backend The operational habits that don't surface from inside the code in front of you. Every practice here was measured missing from real baseline output. The practices that showed up reliably without prompting were removed — see *Deliberately not covered* at the end. Apply these **in addition to** your own engineering judgment; they are a floor to add, not a checklist that replaces what you already do well. ## Part 1 — Absent from every baseline Three lifecycle decisions. Nothing inside a single endpoint cues them, which is exactly why they get skipped. ### 1. Version the route from day one ```TypeScript // Measured: the route ships unversioned, every time. POST /charges GET /products // Fill the version slot. POST /api/v1/charges GET /api/v1/products ``` Mobile clients outlive your refactors. An unversioned route turns the first breaking change into a coordinated migration. **Skip it when** the service has exactly one consumer that you deploy atomically with it. ### 2. Deploying is not releasing ```TypeScript // Measured: the new path ships live to everyone at once. return renderCheckoutV2(cart); // Put the risky path behind a switch you can flip without a deploy. if (flags.checkoutV2.on(user)) return renderCheckoutV2(cart); return renderCheckoutV1(cart); ``` Rollback becomes a config change instead of an emergency deploy at 3am. **Skip it when** the change has no behavioral surface — a pure refactor or a typo fix. Flagging those only creates flag d