Core Loop
The smallest sequence of actions a user performs to receive the value you promised. Everything outside this loop is a candidate for the cut.

enough is a Claude skill that tells you the truth about your scope — and now it remembers what it cut. Feed it an idea, a half-built project, or a feature request. It returns a verdict, not a discussion.
Six modes. A persistent ledger. Drift audits that quote your prior cuts back when you try to reverse them. Domain packs for B2B SaaS, consumer, and creator products.
Every feature feels essential. Every edge case feels urgent. The codebase swells, the deadline slips, and the thing you set out to ship turns into the thing you're afraid to release.
And the cut you made in March? Forgotten by July. Re-litigated in August. Half-built by October. That's not scope creep — that's memory failure.

The skill is opinionated because soft frameworks produce soft verdicts. These five primitives sit underneath every cut, ship, and kill it issues — and they are the same in every domain pack.
The smallest sequence of actions a user performs to receive the value you promised. Everything outside this loop is a candidate for the cut.
Every feature taxes future builds, future bugs, and future decisions. If the tax doesn't widen the loop's reach, it's debt — not progress.
Five rungs from "I think" to "users pay." No feature gets built off a single rung-1 opinion. The skill names which rung you're on.
Written before the cut, signed under your name. A stranger uses the core loop without you in the room. That's the bar. Nothing else.
One number. Reviewed weekly. Every triage answers "does this move the metric?" If the answer is no, the answer is no.
"Enough is the smallest version that lets a stranger use the core loop and pay you — and nothing else gets built until that stranger exists."
Same flow every time. No interview, no roadmap workshop, no "let's explore." A verdict, with the work to do underneath it.

Tell the skill what you're building, where you are, and what you're tempted to add next. It reads any prior verdicts from your .enough/ ledger first.
It runs your input through 18 cut-test patterns, the 5 primitives, and your domain pack — then names which rung of the evidence ladder you're actually on.
You get a verdict — ship, cut, kill, or watch — signed under your name and written back to the ledger. Future sessions audit drift against it.
Every session ends with a signed markdown file. Future you can read it. Future Claude reads it before it answers. The same question never costs you the same hour twice.
The cost of building the wrong thing grows over time. enough dispatches to the mode that matches where you are — pre-commit, mid-build, post-launch, or back six months later to ask the harder questions.

Pressure-test the idea against its smallest viable shape. Writes the first spec to the ledger and the kill criterion that ends it.
Halfway in and adding sub-features. The skill names what to cut today — and the trigger that would let you add it back.
Live, getting requests. It tells you which to ignore, which to do manually, and which are the product.
Returns to a prior project, reads the ledger, scans the repo, and quotes your own cuts back when you've quietly built them anyway.
Reads the kill criterion you signed. If the metric never came, the verdict is KILL — with a paragraph for the users and the postmortem.
Not a calculator. Names the value loop, the comparable anchor, and the smallest price that signals seriousness — then writes it to the ledger.
Every verdict is a markdown file in .enough/, signed under your name, with a deadline and a kill criterion attached. Future sessions read the ledger first — so the cut you made in March still holds the line in October.
.enough/├─ 2026-03-12-spec.md— Pre-Build spec · signed├─ 2026-03-12-ship.md— Ship Verdict · 9hrs├─ 2026-05-04-triage-mobile-app.md— Post-Launch · DO MANUALLY├─ 2026-05-04-triage-notion-export.md— Post-Launch · WATCH├─ 2026-06-21-pricing.md— Pricing Verdict · $9/mo├─ 2026-09-04-drift-audit.md— Drift Audit · 2 breaches└─ 2026-11-30-sunset.md— Sunset · KILL · postmortem---
id: 2026-03-12-spec
type: pre-build-spec
product: newsletter analytics
created: 2026-03-12
deadline: 2026-04-12
domain: b2b-saas
signed_by: tanuj
kill_if: <10 paying / 30d
---Every verdict carries your name, a date, a deadline, and the kill criterion. The line is set before the build starts.
Future sessions open .enough/ first. Prior cuts ground the current answer. You can't re-litigate without naming what changed.
Drift Audit grep-checks the repo for the cuts you signed. If you built it anyway, it quotes you back to yourself.
What's enough for a B2B sales motion is not enough for a consumer habit loop, and neither matches a creator's audience-first build. Each pack rewires the cut tests, the evidence ladder, and the One Metric for its world.
One workspace. One role. One price. A weekly metric email.
An empty state that's the product. A 60-second first value. One core loop.
Write button. Publish button. One subscribe link. A plaintext email digest.
The 18 patterns the skill checks against, with the manual version that ships this week. Each one carries a promotion trigger — the named condition that earns it back into the build.

Drop it into your .claude/skills directory or upload to Claude.ai. The ledger writes itself into your repo at .enough/. No accounts. No tracking. No upsell.

$ cd ~/.claude/skills
$ git clone \
https://github.com/tanujrajputdev/enough
→ skill ready. ask claude: "use the enough skill on this."▍
enough is free, open source, and one skill long. Take a verdict. Cut a feature. Sign the ledger. Go outside. The work is finished — and next month, it stays finished.