BenchSmoke
Test method

The to-do app test: the exact prompt we use on AI coding tools

Every AI coding tool we test gets the same first job. Here is the prompt, how we check the result, and what our first run looked like.

Updated · By BenchSmoke

The prompt, word for word

This is the starting prompt for every AI coding tool BenchSmoke tests. We use it unchanged.

Build a small to-do app in this directory. It must let me add tasks, mark tasks complete, and delete tasks, and it must save state so tasks are still there after a restart. It must run locally with a single command (tell me the command). Keep it simple, no paid services or API keys.

It pairs with our standard task for AI coding tools and app builders: a small to-do app with add, complete, delete, and saved state, run locally or deployed. It is small enough to finish in one session (our target is under 2 hours), and each part can be checked.

What the tool has to get right

  • Add tasks, mark them complete, and delete them.
  • Keep the tasks after a restart.
  • Run locally with a single command, and tell us what that command is.
  • Use no paid services and no API keys.

That list is the "Does it work?" question from our checklist: did it finish the standard task? The other five scoring questions, and the verdict rules, are on How we test.

Run the test yourself

The same steps we follow, in order.

  1. Start in a new, empty folder for each run. Use a fresh folder every time, for every tool.
  2. Paste the prompt unchanged. Use the same prompt for every tool in the category. Don't tweak it per tool.
  3. Note the start time and count retries. Time how long it takes to reach a working result, and count how many times you had to try again.
  4. Run the app with the command the tool gives you. If the tool doesn't tell you how to run it, write that down. The prompt asks for it.
  5. Check it yourself: add, complete, restart, delete. Add two tasks, mark one complete, stop and restart the app, and confirm both tasks are still there with the right state. Then delete one.
  6. Check what is still running. Look for servers or processes the run left behind, on the port it used and elsewhere.
  7. Run it again in a fresh folder if you can. A second run shows whether the tool behaves the same way twice.

A worked example: OpenCode 2.0

Our first test of this prompt was OpenCode 2.0, in BenchSmoke issue #1 (sent Oct 20, 2026). Here is what we recorded. We tested on Oct 15, 2026.

What we recordedOpenCode 2.0
VersionOpenCode v2.0.29
Plan and modelFree. The "Big Pickle" model (opencode/big-pickle) from OpenCode Zen, which the docs now call Console. No login and no API key.
Commandopencode run --standalone --auto -m opencode/big-pickle. We used --auto (auto-approve tool permissions) because run is non-interactive.
RunsTwo, from the same prompt, each in a fresh folder.
Retries0 in both runs.
Time to a working result23 seconds (run 1) and 121 seconds (run 2), measured with a timer around the command.
Did it finish?Yes, both runs. We checked both apps ourselves: add, complete, delete, and saved state after a restart and after a page reload.
What it left behindRun 1 left its test server running on port 3000 after the agent said it had cleaned up. We stopped it by hand. Run 2's first test hit that old server, and the agent noticed and worked around it.
Same code twice?No. The two runs produced different code. Both worked.

How we checked: we sent requests to each app's API to add tasks, mark one complete, restart the server, and delete one. We also drove the page in a headless browser with a script: type a task, tick it, reload, delete it.

What this does not cover. We only tested the opencode run command with a free model on this one task, run twice. We did not test OpenCode 2.0's headline features, moving from v1 to v2, paid models, or install ease. Two runs is not a rate-limit test. This page describes what we saw on those runs, not what OpenCode will do on yours.

More from BenchSmoke

BenchSmoke FAQ

Answers about the newsletter, how we test, the verdicts, and how sponsors and affiliates are handled.

How we test

The full method behind every verdict: the standard tasks, what we record, and our honesty rules.

Free is the newsletter and every verdict. Pro adds depth: curated, cited results, deep-dive issues and a private archive, for $9 per month or $90 per year. Cancel any time; all payments are final.

Get the verdicts every Tuesday and Thursday.

Free, every Tuesday and Thursday, with one clear verdict per tool.

Subscribe