Write a Sprint Retrospective Prompt That Assigns Owned Actions
Turn raw retro notes into ranked themes and owned action items with one sprint retrospective prompt and a locked output contract. Copy the prompt and reuse it.
A sprint retrospective prompt has one failure mode that every template online walks right into: it produces themes nobody owns. You get a tidy "What went well / What didn't" summary, the meeting ends, and three weeks later the same problem shows up because no action item had a name attached.
Most retro content is a menu of formats. Mad-Sad-Glad, Start-Stop-Continue, sailboat. Those organize the conversation. They don't synthesize the output. The chained four-step frameworks floating around are mostly blog theory that nobody runs live during a 30-minute retro.
What a working team actually needs is one paste-ready prompt that takes the raw notes, ranks the themes, and assigns each action to a person with a due signal.
What you can do with a retro prompt
- Cluster a wall of sticky-note text into 4 to 6 ranked themes
- Separate signal from one-off venting so the team doesn't action a single grumpy comment
- Turn each top theme into an action item with an owner and a due signal
- Keep dissenting notes visible instead of averaging them into bland consensus
- Compare this sprint's themes against last sprint's to catch recurring problems
- Produce a short summary the team can paste straight into the next planning doc
Why "owned actions" is the whole job
Here's the take. A retro that ends with themes is half-finished. Themes are diagnosis. Action items with owners are treatment. Most AI retro prompts stop at diagnosis because it's the easy part, and the model is happy to write a thoughtful paragraph about "communication challenges" that obligates nobody.
The fix is a hard rule in the output contract: every action item must name an owner from {{team_roster}}, or the model has to flag that the theme has no clear owner. That second branch matters. An unowned action is a real finding, not a gap to paper over.
"Recommend next steps" produces orphan advice. "Assign each action to a name from {{team_roster}}, or mark it OWNER UNKNOWN" produces accountability. The difference is one line in the output contract, and it's the line that decides whether the retro changes anything.
Anatomy of the prompt
Put the role and rules first, the raw notes in the middle, the contract last. A retro dumps a lot of unstructured text into {{retro_notes}}, and a contract placed before that wall of notes gets ignored. Models weight recent tokens, so the format spec belongs at the end.
Role: You are a retrospective facilitator.
Team roster: {{team_roster}}
Sprint: {{sprint_name}}
Prior themes (optional): {{prior_themes}}
Raw notes:
{{retro_notes}}
Output format:
1. 4-6 ranked themes, each with a one-line summary and a note count
2. Keep any dissenting note visible under its theme
3. Action items: Theme | Action | Owner (from roster) | Due signal
4. Mark any action with no clear owner as OWNER UNKNOWN
Return only the themes and the action table. No preamble.
How models cluster differently
Claude is steadier at honest clustering. It will keep a contradictory note ("standups are useless" next to "standups are the only sync we have") as genuine disagreement instead of collapsing both into "mixed feelings on standups." GPT-4o clusters fast but smooths conflict by default, so you have to say "preserve disagreement" explicitly. Gemini sometimes invents a sentiment label the notes don't support. The fix for all three is the same: tell the model to quote the note, not characterize it.
Step-by-step usage
1. Collect the notes
Export the retro board or the survey responses into one block. Don't clean them up. The mess is the input.
2. Set the roster
Fill {{team_roster}} with the names that can own an action. The model can only assign owners it's been given.
3. Run the prompt
Paste it. Read the ranked themes first, then check the action table for OWNER UNKNOWN rows.
4. Resolve the unowned actions
Every OWNER UNKNOWN row is a live decision for the team. Assign it in the room, then update the prompt input and rerun if you want a clean record.
5. Carry themes forward
Save this sprint's themes into {{prior_themes}} for next time. That's how you catch the problem that keeps coming back.
Prompt-craft patterns
Pattern one: rank by note count, not by drama. Tell the model to weight a theme by how many notes mention it. One loud complaint shouldn't outrank a quiet pattern five people noticed.
Rank themes by the number of distinct notes that mention them,
not by how strongly any single note is phrased.
Pattern two: quote, don't summarize, the dissent. A summarized disagreement reads as consensus. A quoted one stays sharp. This is the single most useful guardrail in the whole prompt.
Pattern three: a due signal, not a date. The model doesn't know your calendar, so don't ask for a date it'll hallucinate. Ask for "this sprint / next sprint / backlog" and let the owner set the real deadline.
Variables you'll set
| Variable | Required | What it is |
|---|---|---|
{{retro_notes}} | Yes | The raw board export or survey text, uncleaned |
{{team_roster}} | Yes | Names eligible to own an action item |
{{sprint_name}} | Yes | Label for this sprint, used in the summary |
{{prior_themes}} | No | Last sprint's themes, to flag recurring problems |
Getting started
- Export the retro board into
{{retro_notes}}as-is. - List the team in
{{team_roster}}. - Run the prompt and scan the ranked themes.
- Find every OWNER UNKNOWN row and assign it live.
- Confirm no theme invented a sentiment the notes don't back.
- Paste the action table into your tracker.
- Stash the themes in
{{prior_themes}}for next sprint.
The Sprint Retrospective Agent Pack ships this with the dissent-preserving rule and the owner-assignment contract already wired in, so you're not rebuilding the prompt every two weeks.
Browse the agile prompt packs →When you run retros every sprint
The Sprint Retrospective Agent Pack handles this end-to-end: the {{team_roster}} variable feeds an action table where every row needs a named owner or an OWNER UNKNOWN flag, plus a bundled prior-themes prompt that compares sprints to catch the problem that keeps recurring. It's part of The Complete AI Prompts Bundle, a one-time lifetime license to the entire catalog plus future packs, which pays off fast if you run a retro every sprint.
The retro feeds the next planning cycle, so it pairs naturally with the product roadmap prompt that turns those learnings into a ranked plan. And if your board is cluttered enough that the retro keeps surfacing "too much WIP," the Jira backlog cleanup prompt clears it before the next sprint, and the Backlog Cleanup Agent Pack ships the verdict contract that does it. For turning ranked retro themes into a committed plan, the Connected Roadmap Alignment Agent Pack picks up where the retro leaves off.
See the full prompt catalog →Common questions
What is a sprint retrospective prompt?
Does a retro prompt replace the meeting?
Which model handles retro notes best?
Get the prompt packs this guide is built on
Ready-to-paste prompts with documented variables and usage guides for ChatGPT, Claude, and Gemini. One-time payment, own it forever.
More prompt guides

Gemini vs Claude for Long-Context Code: Window or Accuracy
The honest framing of Gemini vs Claude for long-context code isn't which model is smarter. It's a tradeoff between two different things: how much code you can fit in one prompt, and how often the mode…

An OKR Drafting Prompt That Catches Vanity Key Results
An OKR drafting prompt has to fight the model's strongest instinct: handing back something that sounds like a goal but can't be measured. Ask any model for key results and you'll get "increase user en…

A Technical Design Doc Prompt That Holds the RFC Structure
A technical design doc prompt earns its keep when it stops every author from inventing a new doc structure. Context, the options you considered, why you picked one, what breaks, how you roll it out. S…