AI made it easy to build anything. So people stopped asking whether they should.
AI coding tools removed the friction that used to filter ideas. Building is cheap now. Thinking still isn't.
The result is a mass of half-done projects solving problems that don't exist: the 379,001st Slack bot that summarizes meetings; apps with zero users that already shipped Google login, dark mode, and an onboarding flow; posts no one will read; features no one asked for.
The fix is not better AI. The fix is a tighter filter at the front.
problem-first is a Claude Code skill that prevents AI from producing unnecessary work. It refuses to write code, posts, designs, or documents until the problem has been defined, observed, and survived a high-bar scorecard.
It asks "what problem does this solve?" and keeps asking until you either find a real answer or realize you don't need to build this.
9 out of 10 conversations should end with "actually, I don't need this." That's not a failure. That's the point.
User: Add Google login to my app
AI: What problem does this solve?
User: So users don't have to type passwords
AI: Which users? How many do you have?
User: I'm still building the app
AI: So zero users are complaining about passwords. What is the app?
User: It's a todo app
AI: There are ~379,000 todo apps. What makes yours different?
/plugin marketplace add https://github.com/alexeimoisseev/problem-first
/plugin install problem-first@problem-first
Clone the repo and point your agent at skills/problem-first/SKILL.md. The skill is a single Markdown file — no scripts, no dependencies.
The skill runs five phases before any output is produced:
- What problem does this solve? — push past solutions and opinions to a real, observed, quantified problem.
- Does this already exist? — find prior art. If the differentiator is cosmetic, challenge it.
- Who actually wants this? — evidence of real demand, not founder intuition.
- Could we NOT do this? — exhaust alternatives: doing nothing, deleting something, a conversation, an existing tool.
- Selective output — only if the prior phases failed AND the scorecard passes.
A weighted scorecard decides whether output happens. Pass threshold: 90%. Below that, output only by explicit user override — and is labeled as such. See the scorecard for the criteria.
Confidence is not evidence. The more articulately someone explains why they need something, the harder the skill pushes back. A good argument without evidence is still just an argument.
The winning outcome is the user realizing they don't need to build the thing.
The scorecard in SKILL.md is the single source of truth. Adding or removing criteria? Edit only that section; the percentage formula (sum / (10 × N) × 100) keeps every other reference in this repo valid.
MIT © 2026 Alexei Moisseev