Planning Poker

A live estimation session hosted from your terminal, joined from any browser — with the points written back to your board when the round ends.

How it works

Poker mode is built around a live board rather than a solo screen, in the same shape as Retro. The host opens the Poker page in the yeaboi TUI, which pulls the tickets to estimate from the active sprint or the backlog, starts a small local web server for the session, and puts a secure tunnel in front of it. Teammates open the link from any browser, wherever they are — no install, no account — and pick a card.

Each ticket moves through its own phase machine: voting while cards are still hidden, revealed once the host flips them, and optionally duel when the spread is worth arguing about. The host can send a ticket back to voting for a re-vote at any point.

The deck is the standard modified Fibonacci sequence — 0, 1, 2, 3, 5, 8, 13, 21 — plus ? for "not enough information" and for "let's take a break". Because the board is served over the network rather than shared as a file, everyone sees the same state as it changes: votes appear as face-down cards as they land, so nobody can anchor on someone else's number before the reveal.

Joining

Teammates get in with the link and access code the host shares, the same way a retro works. The board's web server binds loopback only, so nothing on your local network can reach it directly; it is shared through a free Cloudflare quick tunnel that starts automatically with the board, giving one HTTPS link that works for the person in the next chair and the person three time zones away. Both are gated by the same access code and token, so an uninvited device can't discover the board or vote on it. The link takes a few seconds to appear while the tunnel comes up; the access code is live immediately.

The duel

A wide spread is the useful part of planning poker — it usually means two people are reading the ticket differently. When the host opens the floor, the lowest and highest voters get a timed turn each to argue their estimate. The debate is captured as part of that ticket's record, so the reason a number changed isn't lost the moment the call ends.

AI perspective

After the reveal, the host can ask for an AI take on the spread. What makes this different from asking a chatbot to guess is that the model does not only see the ticket text — it sees the team's own recorded history from the other yeaboi modes, because every mode persists to the same local database:

  • Analysis — the team's calibration profile: velocity, estimation accuracy, and what a 5-pointer has actually cost on this team.
  • Reporting — recently delivered tickets, by the same assignee and by title similarity, so the model can cite comparable shipped work by its real key.
  • Standup — the assignee's latest blockers and progress.
  • Retro — recurring pain themes and the sprint-confidence trend.
  • Planning — previously sized similar stories and how confident those points were.

The model comments on the disagreement and suggests a deck value, citing the data points it used. It is a perspective for the team to argue with, not a decision — the host still sets the number.

If the LLM call fails — a missing key, a billing problem — the error is folded into the result rather than raised, and the session falls back to the deterministic median plus a note about the spread. A live estimation session with the whole team watching never crashes over credentials.

Points sync

When a ticket is settled, the agreed points are written back to the ticket on Jira or Azure DevOps, so the estimate lands where the work is actually tracked instead of in a screenshot. The board keeps each ticket's original value alongside the new one, which is what lets you see what the session actually changed.

History and exports

Every session is saved, and past sessions are readable without opening the TUI:

yeaboi poker                      # list recent poker sessions
yeaboi poker --session <id>       # show one session
yeaboi poker --export             # also write Markdown + HTML for the latest

The same data is available to an AI coding agent through the poker_history and poker_export MCP tools — see Tools.