Claude doesn’t have your in its head until you point at it. Cold-start get cold-start answers.
The five-part shape of an opener that gives Claude what it needs:
- Location — the file, folder, page, or document involved
- Symptom — what’s currently happening
- Repro — how to make the symptom happen (URL, test name, user step)
- Desired — what should happen instead
- Constraint (optional) — anything that’s locked in (don’t break X, must use Y)
Bad: “Fix the dashboard.”
Good: “In src/pages/dashboard.tsx, the empty-state placeholder is overlapping the chart legend. Repro: log in as empty@example.com and open /dashboard. I want the placeholder centred and the legend hidden when there’s no data.”
Notice: the good version is one short paragraph, not a wall of text. Specificity beats length.
When the prompt is more open than a bug fix — exploring a new area, planning a refactor — front-load the grounding with the “Read X. Then ask Y” pattern:
Read
src/services/billing.tsandsrc/routes/billing.ts. Then tell me where invoice totals are computed and whether there’s a single source of truth.
Two sentences. First sets context, second asks the question. Stops Claude from guessing what file you meant.
What doesn’t belong in an opener
Notice what the five-part shape has no room for: a role-play preamble. “You are a world-class senior engineer…” is the most-copied opener on the internet and it does nothing for you. The words that earn their place are the ones pointing at your project. See the drop-the-persona tip.