← library
skill✅ Testing & QAv1 · published 2026-10-20 · updated 2026-11-03

Make it pass

Turns "it seems to work" into "it passes my tests". It writes 8 to 10 test cases for anything built in this chat (a tool, a prompt, a voice guide, a brief, a report), runs them honestly, fixes what fails and reruns until every test passes, then saves the tests so you can rerun them after any change. Use when someone wants to check AI work before trusting it, or wants to learn what an eval is by doing one.

By Uplift Duo

Run it as a prompt

Paste this into any AI agent, or fetch it: curl -s https://uplift.page/api/v1/prompts/make-it-pass/raw

prompt.md
# Make it pass

Test the thing we just built, fix what fails, and keep going until it passes. Pros call a saved set of tests like this an eval. This one takes ten minutes.

## Before you start

Look back through this chat for the most recent thing we built: a tool, a prompt, a voice guide, a brief, a report or a chart. Name it in one line. If there's nothing, ask me to paste what I want tested, then stop and wait.

## Steps

1. **Write 8 to 10 tests** as a table: number, what goes in, what a pass looks like. Make them real:
   - 4 or 5 normal cases it must get right;
   - 3 tricky edge cases, the ones most likely to break it (for a redactor: a serial number with dashes, an email with a plus sign, a name in lowercase; for writing: a case where it would be tempted to break a "Never" rule; for numbers: a month with missing data);
   - 1 case where the right answer is to refuse, flag or ask instead of answering.
2. **Run every test.** Say how each one was run:
   - **Ran:** you actually executed it (code you can run, or text you produced and checked).
   - **Checked by reading:** you can't run it here, so you traced through it step by step. Say so.
   - **Your turn:** it has to be run on my side, such as a tool in my browser. Give me the exact input to paste and what I should see, and ask me to report back.
3. **Score it:** passed out of total, and list each failure in one line with the reason.
4. **Fix and rerun.** Change the thing to fix the failures. Show only what changed. Run every test again, not just the ones that failed, because fixes can break other tests. Repeat up to three rounds.
5. **Report honestly.** If something still fails after three rounds, say what and why, and suggest one human check to cover it.
6. **Save the tests** as one copyable block titled "My tests for <the thing>", with a one-line instruction: "Paste this into a new chat with the thing you're testing, and ask it to run all the tests and score them." Then explain in one sentence that rerunning these after every change is what keeps a loop from quietly getting worse.

## Rules

- Never mark a test as passed without checking it. "Checked by reading" is not "Ran".
- Never weaken or delete a test to make it pass. Change the thing being tested, not the test.
- Keep the tests in plain words someone on my team could read.

Install it as a skill

Agents that support the Agent Skills standard load it automatically when it applies.

download
curl -fsSL https://uplift.page/p/make-it-pass/SKILL.md --create-dirs -o .agents/skills/make-it-pass/SKILL.md
or from any MCP client
MCP server: https://uplift.page/mcp
Tool: pull_skill  {"slug": "make-it-pass"}

The full skill

Test the thing we just built, fix what fails, and keep going until it passes. Pros call a saved set of tests like this an eval. This one takes ten minutes.

Before you start

Look back through this chat for the most recent thing we built: a tool, a prompt, a voice guide, a brief, a report or a chart. Name it in one line. If there's nothing, ask me to paste what I want tested, then stop and wait.

Steps

  1. Write 8 to 10 tests as a table: number, what goes in, what a pass looks like. Make them real:
    • 4 or 5 normal cases it must get right;
    • 3 tricky edge cases, the ones most likely to break it (for a redactor: a serial number with dashes, an email with a plus sign, a name in lowercase; for writing: a case where it would be tempted to break a "Never" rule; for numbers: a month with missing data);
    • 1 case where the right answer is to refuse, flag or ask instead of answering.
  2. Run every test. Say how each one was run:
    • Ran: you actually executed it (code you can run, or text you produced and checked).
    • Checked by reading: you can't run it here, so you traced through it step by step. Say so.
    • Your turn: it has to be run on my side, such as a tool in my browser. Give me the exact input to paste and what I should see, and ask me to report back.
  3. Score it: passed out of total, and list each failure in one line with the reason.
  4. Fix and rerun. Change the thing to fix the failures. Show only what changed. Run every test again, not just the ones that failed, because fixes can break other tests. Repeat up to three rounds.
  5. Report honestly. If something still fails after three rounds, say what and why, and suggest one human check to cover it.
  6. Save the tests as one copyable block titled "My tests for ", with a one-line instruction: "Paste this into a new chat with the thing you're testing, and ask it to run all the tests and score them." Then explain in one sentence that rerunning these after every change is what keeps a loop from quietly getting worse.

Rules

  • Never mark a test as passed without checking it. "Checked by reading" is not "Ran".
  • Never weaken or delete a test to make it pass. Change the thing being tested, not the test.
  • Keep the tests in plain words someone on my team could read.

Served from the uplift.page library and refreshed within 5 minutes of every update.