Claude skill for production-hardening practices whenever you're designing, writing, or reviewing your backend code. Featuring endpoints, payment flows, deletes, background jobs, and alerting.
FAQ
clean-backend is a Claude Code plugin with 1 hand-picked skill for development work, indexed on Flowy. Install it with the command on its page. It includes clean-backend. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
> /plugin marketplace add AllanOps/Clean-Backend> /plugin install clean-backend@allanops
Repo: AllanOps/Clean-Backend
[!NOTE] clean-backend is a Claude Code skill. It supplies the operational habits an AI assistant does not reach for on its own when it designs, writes, or reviews your backend code.
Most "best practices" lists tell your AI things it already does perfectly well. We measured which ones it actually misses โ then deleted everything else.
We put neutral production-code tasks โ a payment endpoint, a product listing, a delete endpoint โ in front of a fresh model with no skill loaded, then repeated them with the skill, and diffed the output. Thirteen runs.
Applied reliably with zero prompting, so we cut them from the skill: field-limited responses, validation at the boundary, graceful degradation, intention-revealing naming, and complete idempotency on money-moving endpoints in 6 of 6 runs.
Never appeared in a single neutral run, so they became the skill: API versioning, feature flags, circuit breakers.
The full protocol, every prompt, the scorecard, and the two places our own methodology was wrong: evals/.
Seven neutral baselines. A charge endpoint, a product listing, a delete endpoint. Not one of them versioned the route:
// What a fresh model writes, every time:
POST /charges
// What it does not write unless something tells it to:
POST /api/v1/charges
Mobile clients outlive your refactors. An unversioned route turns the first breaking change into a coordinated migration โ and nothing inside the endpoint you're writing ever reminds you.
Part 1 โ absent from every baseline. Lifecycle decisions that are invisible from inside a single endpoint.
| # | Habit | Why it gets skipped |
|---|---|---|
| 1 | Version the route from day one | Nothing in the endpoint cues it |
| 2 | Deploying is not releasing | Rollout is org policy, not local craft |
| 3 | Break the circuit before you retry | Retries feel like enough |
Part 2 โ present only when the task cues them. The model does these when the task makes them obvious, and skips them when it doesn't.
| # | Habit | The observed gap |
|---|---|---|
| 4 | Every I/O gets a deadline | The external call was bounded; the DB call wasn't |
| 5 | Get it off the request path | The receipt email was awaited inline |
| 6 | Emit the counter, not just the log | Rich logs, nothing to alert on |
| 7 | Every read filters tombstones | Deletes tombstoned; a read returned them anyway |
/plugin marketplace add AllanOps/Clean-Backend
/plugin install clean-backend@allanops
Then either invoke it explicitly with /clean-backend:clean-backend, or just ask for backend code โ it triggers on its own.
git clone https://github.com/AllanOps/Clean-Backend.git
cp -r Clean-Backend/skills/clean-backend ~/.claude/skills/clean-backend
Installed this way it's invoked as plain /clean-backend.
A skill is instructions injected into your agent, so every change is treated as a supply-chain change:
See SECURITY.md for the threat model and private reporting.
The bar here is unusual: a new habit has to be one the model doesn't already apply on its own. Bring evidence, or bring a scenario we can run. Start with a new-habit issue; the format and the evidence bar are in CONTRIBUTING.md.
By contributing you agree your work is licensed under the same MIT license as the project.
MIT ยฉ AllanOps
.claude-plugin/
marketplace.json
plugin.json
.editorconfig
.gitattributes
.github/
CODEOWNERS
dependabot.yml
ISSUE_TEMPLATE/
bug-improvement.yml
config.yml
feature-idea.yml
new-trick.yml
PULL_REQUEST_TEMPLATE.md
workflows/
actions-security.yml
ci.yml
links-external.yml
release-please.yml
.markdownlint.jsonc
.release-please-manifest.json
assets/
banner.svg
CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
evals/
README.md
scenarios/
charges.md
delete-document.md
products.md
LICENSE
README.md
release-please-config.json
scripts/
scan-content.mjs
test-scanners.mjs
url-allowlist.json
validate-repo.mjs
SECURITY.md
skills/
clean-backend/
SKILL.mdยฉ 2026 Flowy ยท Free and open source
Built for Claude Code ยท Not affiliated with Anthropic