Skip to content
Build

Build prompts

Shipping it, and catching what breaks on the way.

The stage

The stage where the spec becomes code, and a model is doing real work alongside the team, not just talking about it.

  1. 01

    Write a test plan from a diff, not just a description

    A pull request is up and needs a test plan that actually covers what changed, not a generic checklist.

    The prompt
    I'm going to paste a code diff and a one line description of what it's meant to do. Write a test plan that covers: the intended behaviour described, at least one edge case that this specific diff could plausibly get wrong (based on what actually changed in the code, not generic edge cases), and one check that the change didn't affect a nearby piece of behaviour that wasn't meant to change.
    
    Do not write generic test items like "test the happy path" without stating what the happy path actually is for this specific change.
    
    Description: [one line on what this is meant to do]
    Diff: [paste the diff]
    Where it lets you down

    It writes edge cases that sound plausible for the feature in general but aren't actually implied by what changed in the diff, because it's pattern matching on the feature description rather than reading the code. Check that each edge case it names traces back to a specific line or condition in the diff.

  2. 02

    Explain a bug to support before engineering has time to

    A bug is confirmed and fixed or in progress, and support needs to answer tickets about it today, in plain language, before the postmortem exists.

    The prompt
    Here is a technical description of a bug: what broke, why, and what the fix does. Write a two to three sentence explanation support could use to answer a customer, in plain language with no jargon, that is accurate about what happened without overpromising on timeline if the fix isn't live yet.
    
    Then write a separate one sentence internal note for the support lead with the technical detail support agents don't need but might want to have on hand for an escalation.
    
    Technical description: [describe the bug and the fix]
    Where it lets you down

    It smooths the explanation into something reassuring but slightly inaccurate, for example implying the fix is already live when it's still in review, because reassuring language is the default register for customer-facing copy. Check every claim about timing or status against what's actually true right now.

  3. 03

    Draft a flag rollout plan with real percentages and dates

    A feature is ready to go behind a flag and the rollout plan is still just "ship it gradually."

    The prompt
    I'm rolling out [feature] behind a flag. Our current relevant traffic is roughly [your number] per day/week. Draft a staged rollout plan: specific percentages at each stage, how long to hold at each stage before moving to the next, and the specific metric and threshold that would pause or reverse the rollout at each stage, not just at the end.
    
    Base the hold durations on getting enough volume at each stage to notice a real problem, not on a fixed number of days regardless of traffic.
    
    Feature and what it changes: [describe it]
    Guardrail metric: [your metric]
    Where it lets you down

    It defaults to generic, round stage percentages and durations (10 percent for a week, 50 percent for a week) regardless of your actual traffic volume, which can mean a genuinely risky stage runs on far too little data to catch a problem, or a safe stage runs far longer than needed. Check that each stage's duration is justified by your actual volume, not just a round number.

  4. 04

    Turn a stack trace into a plain-language incident note

    Something broke in production and a note needs to go out to non-engineers before the full postmortem is written.

    The prompt
    Here is a stack trace and a brief description of what engineering found. Write a plain-language incident note for the rest of the team: what broke, roughly since when, who was affected (which users or what percentage, if known), what's been done so far, and what's still unknown.
    
    Explicitly separate what is confirmed from what is still a hypothesis. Do not present a working theory as a confirmed cause.
    
    Stack trace and engineering notes: [paste them]
    Where it lets you down

    It reads confidence into the engineering notes that isn't actually there, presenting a working theory ("looks like it's the connection pool") as a stated fact in the incident note, because confident language reads better than hedged language. Check every causal claim in the note against whether it was actually confirmed or just suspected in your source material.

  5. 05

    Review a PR description for a claim it doesn't actually support

    Before approving a pull request, to check whether the description actually matches what the diff does.

    The prompt
    Here is a pull request description and the diff it describes. Check whether every claim in the description is actually supported by the code: if it says a case is handled, confirm the diff handles it; if it says something is unchanged, confirm nothing in the diff touches it.
    
    List any claim in the description that the diff doesn't clearly support, and any change in the diff that isn't mentioned in the description at all.
    
    Description: [paste the PR description]
    Diff: [paste the diff]
    Where it lets you down

    It tends to take the PR description at face value and match the diff to it loosely, confirming a claim as "supported" when the diff only partially addresses it. Ask it specifically to quote the line of the diff that supports each claim, not just say whether it seems supported.

  6. 06

    Draft release notes that name the actual behaviour change

    A feature or fix shipped and the release notes draft has turned vague enough that nobody could tell what actually changed for them.

    The prompt
    Here is a technical description of what changed in this release. Write release notes for users in one to two sentences per change, each one naming the specific, observable behaviour difference (what they'll see or be able to do now that they couldn't before), not the internal reason for the change.
    
    For any change that's purely internal and has no user-visible effect, say so and suggest leaving it out of user-facing notes entirely rather than writing a vague sentence about it.
    
    Changes: [list what changed, technically]
    Where it lets you down

    It writes a technically accurate but vague sentence for an internal change instead of recommending it be left out, producing a release note that says something changed without saying what a user would actually notice. Cut any line where you can't picture a specific screen or moment where a user would see the difference.