{"id":"lead-pre-mortem-launch-risks-json","audience":"product-managers","category":"leadership-work","track":"leadership","level":"advanced","technique":"verification","title":"Extract launch risks from a pre-mortem into a JSON array","free":false,"task":"After a pre-mortem session, convert the comments into a JSON array in one code block. Each object has exactly four keys: risk, likelihood (exactly high, medium or low in lowercase), owner, mitigation. Include only risks that someone actually named as a possible failure of the March 12 launch. Put owner as \"unassigned\" when no one volunteered. Output only the code block with exactly 7 lines inside (one object per line), and no text before or after.","materialLabel":"Pre-mortem comments (attached to your prompt automatically)","material":"Pre-mortem: \"It's March 20 and the launch failed. Why?\"\n\nSana: Our payment vendor throttled us during the beta; if they do it on launch day, checkouts fail. Likely. I'll talk to the vendor about a higher limit.\nLuis: Support isn't trained on the new flow. Medium. Nobody has the training doc yet.\nPriya: The migration of 12,000 old accounts could corrupt emails. Low, we tested twice. Owner: Priya, with a rollback script.\nChen: I love the new logo.\nSana: The App Store review can take 5 days. If we submit late we miss the date. Medium. Chen said he will submit by March 3.\nLuis: Pricing page copy is not final. That's cosmetic, not a launch failure.\nPriya: Last launch we forgot to tell the sales team. Medium-ish. Nobody owns it.\nNote from Sana after the meeting: the vendor already agreed to raise the limit, so the throttling risk is now Low.","rules":[{"type":"codeBlocks","count":1},{"type":"maxCodeLines","max":7},{"type":"maxProseWords","max":5}],"mistakes":[{"title":"Including non-risks","why":"The AI adds the logo comment or pricing copy as risks.","fix":"Say: \"Only comments that name a way the launch could fail.\"","checks":["r0"]},{"title":"Missing the update","why":"The AI keeps throttling as high from Sana's first comment.","fix":"Say: \"Apply Sana's later note: throttling is now low.\"","checks":["r1"]},{"title":"Guessing owners","why":"The AI gives unowned risks to the PM.","fix":"Say: \"Use \\\"unassigned\\\" when nobody volunteered.\"","checks":["r2"]},{"title":"Explaining outside the code","why":"The AI adds an intro and notes around the JSON.","fix":"Say: \"Output only the code block, no text before or after.\"","checks":["codeBlocks","maxProseWords"]},{"title":"Long pretty-printed JSON","why":"The AI spreads each object over many lines.","fix":"Say: \"One object per line, at most 7 lines inside.\"","checks":["maxCodeLines"]}],"promptHints":[{"label":"Names the four keys","patterns":["risk","likelihood","owner","mitigation"]},{"label":"Asks for one code block","patterns":["one code block","code block","json"]},{"label":"Filters to real risks","patterns":["only (the )?risks","skip","exclude","not (a )?risk"]},{"label":"Handles unassigned","patterns":["unassigned","no owner"]},{"label":"Applies the update","patterns":["later","update","correction","latest"]}],"hint":"Name the keys, say how to handle unowned risks and later corrections, and limit lines and surrounding text.","rubricLabels":["The JSON has exactly five risk objects: payment throttling, support training, account migration, App Store review, and sales team notification, with no logo or pricing copy item","The payment throttling object has likelihood \"low\" in lowercase (the later update) and owner Sana, and the App Store object has owner Chen","The sales team notification and the support training items have owner \"unassigned\" and every object has exactly the keys risk, likelihood, owner, mitigation"]}