← All guides

Workflows · July 11, 2026 · 3 min read

Make AI prove its work before you call it done

AI says done long before the work is done. Define the acceptance check in the prompt and make the agent produce the proof: tests, screenshots, a green build.

The problem

Ask an AI agent to build something and it will tell you it is done. Often it is not. The code compiles but the feature does not work, the test file exists but was never run, the screen renders on one path and crashes on another. Done from a model is a claim, not a fact, and every time you accept the claim without evidence, you ship the gap.

How do you make AI prove its work?

You define the acceptance check before the work starts, put it in the prompt, and require the agent to produce the proof itself: a passing test run, a screenshot from the real running app, a green build. If the agent cannot show the evidence, the task is not done. I call this verification-first prompting, and it turns reviewing claims into reviewing proof.

Every build I ship ends this way. My dog vision camera app shipped with 16 unit tests and a Playwright end-to-end run that makes 20 assertions against the real app, plus iOS simulator screenshots saved in the repo. My productivity tracker’s latest build went up for review with 50 of 50 tests passing after an end-to-end pass in the browser. My agent cockpit shipped in five phases as stacked pull requests, and the rule for every phase was the same: no merge until it passes a full acceptance run on the machine it will actually run on. Even the repo behind this website has the rule written into its runbook: verify every change with a build that finishes clean.

The prompt to copy

Put the acceptance check in the prompt before any code exists:

Build <feature>. Before writing any code, define the acceptance
check: the exact commands you will run and the output that proves
it works. Then build it. Definition of done: every check passes
AND you show me the evidence (test output, a screenshot of the
real app, or the green build log). Never report done without the
evidence. If a check fails, fix it and rerun until it passes.

Two upgrades once the habit sticks. First, separate the builder from the checker: I run review as its own agent with fresh context, and the setup is in run a team of AI agents from one prompt. Second, verify loops make sessions long, so when the chat starts filling up, save your Claude context and continue fresh with nothing lost.

An agent that cannot show its evidence has not finished, it has stopped.

Do this now

  1. Take the next task you were about to hand to AI and write the acceptance check first: the command and the output that proves it works.
  2. Paste the prompt above with your feature and your check filled in.
  3. Reject the first done that arrives without evidence. One rejection is usually all it takes for the habit to stick, on both sides.

Claude Code

Turn this into a Claude skill

Paste this into Claude Code. It reads this guide and builds a skill shaped to how you work.

Read the guide at https://aiwithamirthan.com/guides/make-ai-prove-it-works-before-you-ship. Then build me a Claude Code skill from it, personalized to how I actually work.

1. Fetch and read the full guide at the URL above.
2. Look at my setup so the skill fits me, not a generic template: skim my repos, my CLAUDE.md / AGENTS.md files, my existing skills, and my stack.
3. Create a new skill (a SKILL.md with a clear name, description, and steps) that lets me do what this guide teaches, adapted to my tools and goals.
4. Tell me where you saved it and how to invoke it.

If anything about my setup is unclear, ask me one or two questions first.

Want to build this yourself?

Join Claude Code Academy: courses, build alongs, and builders turning AI into real systems. And I post a new build on Instagram nearly every day.