Every project has a risk register; almost none are alive. The real risks surface daily — in standups, blocker comments, and Slack threads — and never make it to the document. This playbook synthesizes those signals into a weekly-refreshed register, curated in a human ritual and never auto-published.
Workflow area: Delivery & Reporting · Tier: Core · Hands-on time: ~30 minutes setup, ~15 weekly
The traditional register is written once at kickoff, reviewed never, and consulted only in the retro, where its authors discover it predicted nothing. Meanwhile the actual early warnings were all uttered out loud: "still waiting on the platform team," "that vendor API is flakier than we thought," "has anyone heard from the security review?" AI is built for exactly this gap — reading a week of standup notes, blocker flags, and channel threads and surfacing what recurs, what ages, and what escalates in tone. What it cannot do is judge which candidate risks are real, which are noise, and which are politically radioactive if published raw. That judgment is the weekly ritual, and the ritual is why the register stays believed.
Set up the register and its sources. The register: one table wherever the team lives (Confluence, Notion, a pinned doc) — risk, category (dependency / technical / people-capacity / external), likelihood, impact, owner, mitigation, status, last-reviewed date. The sources: the week's standup notes or summaries, tracker items flagged blocked with their age, and exports from team-visible project channels. Agree with the team, openly, that these spaces feed the register — no silent listening.
Run the weekly synthesis before the ritual.
You maintain a candidate-risk feed for an engineering program.
Read this week's signals and propose register updates. You
PROPOSE; a human meeting decides. Nothing you output is
published directly.
CURRENT REGISTER: [PASTE TABLE]
THIS WEEK'S SIGNALS:
- Standup notes: [PASTE]
- Blocked items + age: [PASTE]
- Channel excerpts (team-visible): [PASTE]
Produce:
1. NEW CANDIDATES — possible risks not on the register, each
with: one-line description, category, the verbatim signal
lines that triggered it (with dates), and a confidence tag
(RECURRING — 3+ mentions / AGING — same blocker growing
older / SINGLE — one mention, may be noise).
2. UPDATES — register risks whose signals changed: escalating
(mentions increasing, language sharpening), quiet (no
mention in 2+ weeks — candidate to downgrade), or
MATERIALIZED (it happened; move to issues, stop calling it
a risk).
3. DEPENDENCY AGING TABLE — every "waiting on X" with days
waited, trend, and last contact.
4. NOT RAISED — the register's top-impact risk that had zero
signal this week (silence on a big risk is itself worth a
question).
Rules: quote signals verbatim, with dates. Never name a person
as a risk — convert "R is overloaded" to "single-owner
capacity risk on [area]". No mitigation advice unless asked.
Hold the 15-minute curation ritual. Same time weekly, leads plus anyone whose area is on the table. Walk the candidates: accept (onto the register with an owner), reject (noise — say why, which trains your own reading of the feed), or watch (SINGLEs that need another week). Good synthesis output looks like:
NEW CANDIDATES
- Vendor sandbox instability — external — RECURRING: "sandbox
down again" (Mon), "third outage this week" (Thu), "can't
test payouts" (Fri)
UPDATES
- Security review delay — ESCALATING: age 19 days, tone shift
from "pending" to "now blocking the release branch" (Wed)
DEPENDENCY AGING
- Platform schema review — 12 days — no contact since Jul 28
The human questions in the room are the ones the model cannot answer: Is the vendor issue our contract's problem or theirs? Is the security delay a queue problem or a findings problem? Who picks up the phone about the schema review, today?
Publish the curated register, not the feed. After the ritual, the human-approved table goes to stakeholders — updated risks, owners, and the one-line "what changed this week" summary. The AI's candidate feed, with its verbatim quotes and misfires, stays internal to the ritual. Two artifacts, one boundary, no exceptions.
Close the loop on materialized and retired risks. When a risk hits, note whether the register saw it coming and how early — that is your system's detection latency, and it should shrink over quarters. When a risk goes quiet for a month, retire it visibly rather than letting the register bloat into an unread wall; a 40-row register is how registers die the old death again.
Standup notes and channel excerpts contain names, frustrations, and half-formed speculation — synthesize only team-visible sources the team knows are used, process them in your approved AI tenant, strip names from anything that enters the register, and never let the raw candidate feed leave the curation ritual.
The signals were always there — AI just reads them weekly so the register finally matches reality; but the fifteen human minutes that accept, reject, and own each risk are what make it a register instead of a rumor mill with a table format.