A retrospective that produces feelings but no action items is just a shared complaint with extra steps. Teams stop taking retros seriously not because the format is wrong, but because they've sat through enough of them that ended with "good discussion, see you next sprint" and nothing actually changed.
Separate "what happened" from "what we do about it"
Most retros blur venting and problem-solving into one conversation, which means the loudest complaint gets the most airtime regardless of whether it's the most fixable one. Splitting the retro into two passes — first surface what happened, good and bad, without solving anything; then pick the highest-leverage one or two items and actually problem-solve them — keeps the session from being dominated by whoever's most frustrated that week.
Pick fewer items than feels satisfying
A retro that ends with eight action items produces zero of them, because eight is more than any team will actually track between sprints. Picking one or two — the ones that, if fixed, would have prevented the most pain — and committing to them is what makes the next retro feel different from this one, instead of generating the same list again.
Assign an owner before the meeting ends
An action item with no owner is a wish, the same way an OKR with no roadmap is. "We should communicate better" isn't an action item; "Sara will propose an async update format by Friday" is. The gap between those two sentences is almost always why retro action items quietly disappear.
Check the previous retro's items before opening new ones
The fastest way to make a retro feel pointless is to never circle back to what was decided last time. Spending the first two minutes checking off — or explicitly dropping — last retro's commitments is what turns the retro from a recurring meeting into an actual improvement loop, because the team sees, concretely, that the last round changed something.