The "Battleship Prompt": fire three differently-worded prompts at the same task in parallel Claude Code sessions and see which one hits[1]. You see more of the edge cases, and 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:
- Minimal: "Make sure the locale defaults to en-us when rendering the email template".
- Contextual: "When the locale is unknown in the email template renderer, determine the best locale to use for the circumstances".
- 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, and throw the losers away. It takes practice.
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].