< Battleship Prompts

The "Battleship Prompt": fire three differently-worded prompts at the same task in parallel Claude Code sessions and see which one hits[1]. This gives better coverage - abstractions, edge cases, and failure modes.

More importantly, it's making me better at prompting.

This works best when the outcome is clear but the path isn’t. I’ll bracket the space: one prompt for the simplest solution, one for the most comprehensive[2], one from a different constraint entirely[3].

Here is an abridged recent example:

  1. Minimal: "Make sure the locale defaults to en-us when rendering the email template".
  2. Contextual: "When the locale is unknown in the email template renderer, determine the best locale to use for the circumstances".
  3. System-level: "Ensure that all users in the system have a sensible locale based upon their use of the product".

I had to unlearn “never throw away code.” If code isn't the bottleneck any more, you optimize for outcome and time, not artifact preservation. This is a muscle worth building.

In practice, I'll spin up three Claude Code sessions and run them in parallel. Often one will land the task immediately. In the example above, I ended up merging (1) and (3). The fallback was a no-brainer. The system-level prompt found a better way to infer user locales from product usage.

Over time you need this less. You start writing the prompt that lands on the first attempt[4]. That’s when you know it’s working.

I write about AI, organizations, and engineering leverage: find out about me and subscribe here.

Discuss and share via the meta page . Filed under AI, Code, Prompts, and 100PR.

Footnotes

  1. Prompts are wishes, and different wishes for the same thing get cursed in different ways. Battleship lets you see which wish was "least cursed".

  2. This could be as simple as the same prompt, but with "do it the easy/hard way" appended.

  3. Another approach is to have one of the prompts be a Comment-Only Prompt. In this case if the others do not work, I jump in to that worktree and complete the work interactively with Claude.

  4. There's a faint echo of ensemble methods in machine learning here -- multiple models, same problem, aggregate the result. Except the "models" are different framings of the same task, and I'm the aggregation layer reading diffs over coffee.