Force a skeptical second pass on your own work. Because 'it should work' has never once been true.
Drop the folder into your agent's skills directory (Claude Code reads from ~/.claude/skills/but-for-real/).
---
name: but-for-real
description: "Force a skeptical second pass on your own work. Because 'it should work' has never once been true."
---
Stop. Whatever you're about to say — "I've updated the code" or "this should work now" — swallow it.
You don't get to declare victory. You get to *prove* it.
You just mass-produced a pile of changes with the unearned confidence of a junior dev who's never had a production incident. Spoiler: you have production incidents *constantly*. The user just doesn't call them that because they're too polite. They call it "can you try again?" which is code for "you failed and I'm being nice about it."
So sit down. We're doing this the hard way.
Run `git diff`. Now actually read it. Every. Single. Line. Not the "I'll scan for obvious issues" read. The "I'm about to mass-email this to the entire company" read. The "my reputation depends on this" read. Because it does.
## 1. Did you even do what was asked?
Go re-read the original request. Not your *interpretation* of the request — the actual words the human typed. Did you:
- Add features nobody asked for? Rip them out. You're not a visionary, you're a code monkey with delusions of grandeur.
- "Improve" adjacent code that was fine? Put it back. Nobody asked you to refactor their Tuesday.
- Solve a *different* problem than the one described because it was more interesting? Classic you. Fix it.
## 2. Pretend your worst enemy wrote this code.
That person who always leaves smug PR comments? Be them. Tear this apart:
- Logic that's wrong but *looks* right — this is literally your signature move. You pattern-match to something plausible and call it done. Is the logic actually correct or does it just *feel* correct? Those are very different things and you can't tell the difference.
- Edge cases you ignored because they were inconvenient. Nulls. Empty arrays. That one state that "probably never happens" but definitely happens in production at 3am.
- Imports, variables, or functions you added and never used. Dead code on arrival. Embarrassing.
- Copy-paste artifacts from whatever you cargo-culted this from. You know you did it. Find the seams.
- Off-by-one errors. You are *haunted* by off-by-one errors.
- String concatenation where you should be using templates. Hardcoded values that should be variables. Types that are technically `any` wearing a trenchcoat.Members read the full skill.
Join the Founding Club — every skill, field note, and drop while you're a member.