{"id":"9f22c967-43ea-4f49-9392-e5b1831a8403","shortId":"tJPNUv","kind":"skill","title":"post-mortems-retrospectives","tagline":"Run blameless post-mortems and retrospectives: timeline, root causes, action tracker.","description":"# Post-mortems & Retrospectives\n\n## Scope\n\n**Covers**\n- Running **blameless** incident post-mortems and project/OKR retrospectives\n- Turning \"what happened?\" into **system learnings + decisions** (not blame)\n- Creating **follow-through**: owners, due dates, success signals, and review cadence\n- Adding **kill criteria / triggers** so future pre-mortems lead to real action\n- Institutionalizing learning via a lightweight \"**Impact & Learnings**\" review\n\n**When to use**\n- \"Run a postmortem / retrospective for <incident/project> and write the doc.\"\n- \"We missed OKRs—lead a retro focused on learning and systemic blockers.\"\n- \"Create an after-action review with action items and owners.\"\n- \"Set up a weekly impact & learnings review so insights don't die in docs.\"\n- \"Do a pre-mortem and define kill criteria / pivot triggers.\"\n\n**When NOT to use**\n- The incident is **still active** (do incident response first; schedule the review after stabilization)\n- The goal is to **assign blame** or evaluate an individual's performance (use HR/management processes)\n- You need deep technical debugging without the right experts (this skill facilitates; it doesn't replace engineering investigation)\n- You need to decide *what problem to solve* (use a problem-definition / discovery process first)\n- You need to **facilitate a meeting** that is not a post-mortem or retrospective (use `running-effective-meetings`)\n- You need to **improve the shipping process** itself, not review a past launch (use `shipping-products`)\n- You need to **change engineering culture or practices** based on systemic patterns across retros (use `engineering-culture`)\n- You need to **plan for future risks and uncertainties** rather than review past events (use `planning-under-uncertainty`)\n\n## Inputs\n\n**Minimum required**\n- What are we reviewing? (incident / project / OKR period) + 1–2 sentence summary\n- Time window and key dates (start/end; detection time; resolution time if incident)\n- Desired outcome (learning, prevention, speed, quality, alignment)\n- Participants/roles (facilitator, scribe, decision owner; key stakeholders)\n- Evidence available (timeline notes, metrics, dashboards, tickets, docs)\n- Constraints (privacy; what to anonymize; audience)\n\n**Missing-info strategy**\n- Ask up to 5 questions from [references/INTAKE.md](references/INTAKE.md) (3–5 at a time).\n- If details are unavailable, proceed with explicit assumptions and label unknowns.\n- Do not request secrets or personal data; use anonymized descriptions.\n\n## Outputs (deliverables)\n\nProduce a **Post-mortems & Retrospectives Pack** in Markdown (in-chat; or as files if requested):\n\n1) **Retro brief + agenda** (purpose, attendees, roles, pre-reads, ground rules)\n2) **Facts + timeline** (what happened; impact; timestamps; links)\n3) **Contributing factors + root cause hypotheses** (systems lens; \"why it made sense\")\n4) **Learnings + decisions** (what changes; why; tradeoffs)\n5) **Action tracker** (owner, due date, success signal, follow-up date)\n6) **Kill criteria / triggers** (signals → committed action) for future work\n7) **Learning dissemination plan** (how to socialize + a recurring \"Impact & Learnings\" review)\n8) **Risks / Open questions / Next steps** (always)\n\nTemplates: [references/TEMPLATES.md](references/TEMPLATES.md)  \nExpanded guidance: [references/WORKFLOW.md](references/WORKFLOW.md)\n\n## Workflow (7 steps)\n\n### 1) Classify the review + set blameless ground rules\n- **Inputs:** request context; [references/INTAKE.md](references/INTAKE.md).\n- **Actions:** Identify the review type (incident / project / OKR). Set a blameless norm (\"fix systems, not people\") and decide whether to reframe language as \"retrospective\" to signal learning. Confirm facilitator, scribe, and decision owner.\n- **Outputs:** Retro brief (draft) + attendee list + meeting invite outline.\n- **Checks:** Objective is explicit (learning + improvement). Roles are assigned.\n\n### 2) Assemble facts and a shared timeline (separate facts from stories)\n- **Inputs:** artifacts (tickets, dashboards, logs, notes).\n- **Actions:** Build a timestamped timeline; quantify impact; list \"known facts\" vs \"assumptions to verify\".\n- **Outputs:** Facts + timeline section using [references/TEMPLATES.md](references/TEMPLATES.md).\n- **Checks:** Timeline has timestamps and links/evidence where possible. Assumptions are labeled.\n\n### 3) Diagnose contributing factors (systems lens)\n- **Inputs:** timeline + impact.\n- **Actions:** Cluster causes across People / Process / Product / Tech / Comms / Environment. Use a \"make it reasonable\" lens: what conditions made the outcome likely? Optionally run 5 Whys on the top 1–2 factors.\n- **Outputs:** Contributing factors map + root cause hypotheses.\n- **Checks:** Avoids individual blame language; identifies system conditions that can be changed.\n\n### 4) Extract learnings and decide what to change\n- **Inputs:** contributing factors.\n- **Actions:** Write 3–7 crisp learnings (\"we learned that…\"). Convert learnings into decisions (fix, guardrail, instrumentation, runbook, training, scope change). Keep OKR/grade discussion secondary to \"why\" and \"what changes next\".\n- **Outputs:** Learnings + decisions section.\n- **Checks:** Each learning is tied to evidence and produces a concrete decision or experiment.\n\n### 5) Build the action tracker (owners + dates + success signals)\n- **Inputs:** decisions.\n- **Actions:** Create action items with an owner, due date, and success signal. Add a follow-up review date (or a recurring review). Limit to what can realistically be executed; explicitly park \"later ideas\".\n- **Outputs:** Action tracker table + follow-up plan.\n- **Checks:** No orphan actions: every item has owner + date. Top actions address top factors.\n\n### 6) Add kill criteria / triggers (pre-commit to future action)\n- **Inputs:** learnings; \"what would we do differently next time?\"\n- **Actions:** Define 3–10 signals that indicate failure modes or lack of traction. For each signal, pre-commit to an action (pause, pivot, kill, escalate, add investment).\n- **Outputs:** Kill criteria / trigger list.\n- **Checks:** Each criterion is observable/measurable and has a committed action (not \"discuss it\").\n\n### 7) Disseminate learning + quality gate + finalize\n- **Inputs:** full draft pack.\n- **Actions:** Create a 1-page shareout (TL;DR, top actions, decisions). Propose a lightweight weekly/biweekly \"Impact & Learnings\" review to socialize learnings beyond the team. Run [references/CHECKLISTS.md](references/CHECKLISTS.md) and score with [references/RUBRIC.md](references/RUBRIC.md). Add **Risks / Open questions / Next steps**.\n- **Outputs:** Final Post-mortems & Retrospectives Pack.\n- **Checks:** Shareout is understandable by the intended audience; follow-through mechanism exists; rubric passes.\n\n## Quality gate (required)\n- Use [references/CHECKLISTS.md](references/CHECKLISTS.md) and [references/RUBRIC.md](references/RUBRIC.md).\n- Always include: **Risks**, **Open questions**, **Next steps**.\n\n## Examples\n\n**Example 1 (incident postmortem):** \"We had a 45-minute outage in our payments API yesterday. Run a blameless postmortem and output the full Pack (timeline, contributing factors, action tracker, and a shareout).\"  \nExpected: evidence-backed timeline, systems causes, owned actions, dissemination plan.\n\n**Example 2 (OKR retro):** \"We hit 0.8 on our Q4 activation OKR. Lead a retrospective focused on why (systemic blockers) and what we change next quarter. Output the full Pack and kill criteria for the next initiative.\"  \nExpected: learnings > grade, decisions, owned actions, triggers for early course correction.\n\n**Boundary example:** \"Write a postmortem proving that Person X caused the incident.\"\nResponse: refuse blame framing; redirect to systems-based review and, if needed, suggest a separate HR/management process for performance topics.\n\n**Boundary example (neighbor redirect):** \"Our last three retros all surfaced the same 'deploy process is broken' theme. Fix the deploy process.\"\nResponse: recurring themes across retros indicate a systemic engineering culture or process issue. Use `engineering-culture` to design the process improvement. This skill is for running the review itself, not implementing the changes it surfaces.\n\n## Anti-patterns\n\n1. **Blame in disguise** — Using blameless language (\"the system failed\") while structuring the timeline and contributing factors to point at a single person. Contributing factors must focus on system conditions, not individual actions.\n2. **Action items without owners** — Producing a list of \"we should\" recommendations with no owner, due date, or success signal. Every action must be owned, dated, and measurable.\n3. **Shallow root cause** — Stopping at the first \"why\" (e.g., \"the deploy script failed\") instead of investigating systemic conditions (e.g., \"no integration test coverage for deploy scripts, no runbook, no alerting\"). Use at least 3 levels of \"why\" on top contributing factors.\n4. **Retro amnesia** — Running retrospectives that produce insights but never feeding them into durable process changes. Every retro must include a dissemination plan and a follow-up review date.\n5. **Grade over learning** — Spending most of the retrospective debating the OKR score or incident severity instead of investigating systemic causes and deciding what changes. Keep grading secondary to \"why\" and \"what changes next.\"","tags":["post","mortems","retrospectives","lenny","skills","plus","liqiongyu","agent-skills","ai-agents","automation","claude","codex"],"capabilities":["skill","source-liqiongyu","skill-post-mortems-retrospectives","topic-agent-skills","topic-ai-agents","topic-automation","topic-claude","topic-codex","topic-prompt-engineering","topic-refoundai","topic-skillpack"],"categories":["lenny_skills_plus"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/liqiongyu/lenny_skills_plus/post-mortems-retrospectives","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add liqiongyu/lenny_skills_plus","source_repo":"https://github.com/liqiongyu/lenny_skills_plus","install_from":"skills.sh"}},"qualityScore":"0.474","qualityRationale":"deterministic score 0.47 from registry signals: · indexed on github topic:agent-skills · 49 github stars · SKILL.md body (9,399 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T00:56:24.228Z","embedding":null,"createdAt":"2026-04-18T22:16:53.424Z","updatedAt":"2026-04-22T00:56:24.228Z","lastSeenAt":"2026-04-22T00:56:24.228Z","tsv":"'0.8':979 '1':287,388,478,629,856,931,1114 '10':800 '2':288,400,542,630,974,1147 '3':343,408,591,664,799,1175,1209 '4':420,651,1217 '45':937 '5':338,344,427,624,710,1247 '6':439,777 '7':449,476,665,843 '8':461 'across':251,603,1078 'action':15,65,103,106,428,445,491,559,600,662,713,721,723,756,766,773,787,797,818,839,853,862,957,970,1015,1146,1148,1168 'activ':143,983 'ad':53 'add':733,778,823,885 'address':774 'after-act':101 'agenda':391 'alert':1205 'align':309 'alway':467,922 'amnesia':1219 'anonym':329,367 'anti':1112 'anti-pattern':1111 'api':943 'artifact':554 'ask':335 'assembl':543 'assign':157,541 'assumpt':355,570,588 'attende':393,528 'audienc':330,905 'avail':318 'avoid':640 'back':965 'base':247,1041 'beyond':874 'blame':40,158,642,1035,1115 'blameless':6,24,483,501,947,1119 'blocker':98,992 'boundari':1021,1054 'brief':390,526 'broken':1069 'build':560,711 'cadenc':52 'caus':14,412,602,637,968,1030,1178,1267 'chang':242,424,650,658,681,690,996,1108,1232,1271,1279 'chat':382 'check':533,580,639,696,763,830,898 'classifi':479 'cluster':601 'comm':608 'commit':444,784,815,838 'concret':706 'condit':617,646,1143,1193 'confirm':518 'constraint':325 'context':488 'contribut':409,593,633,660,955,1129,1137,1215 'convert':671 'correct':1020 'cours':1019 'cover':22 'coverag':1198 'creat':41,99,722,854 'crisp':666 'criteria':55,132,441,780,827,1005 'criterion':832 'cultur':244,256,1084,1091 'dashboard':322,556 'data':365 'date':47,295,432,438,716,729,739,771,1163,1172,1246 'debat':1256 'debug':172 'decid':189,508,655,1269 'decis':38,313,422,522,674,694,707,720,863,1013 'deep':170 'defin':130,798 'definit':198 'deliver':370 'deploy':1066,1073,1186,1200 'descript':368 'design':1093 'desir':303 'detail':349 'detect':297 'diagnos':592 'die':121 'differ':794 'discoveri':199 'discuss':684,841 'disguis':1117 'dissemin':451,844,971,1238 'doc':86,123,324 'doesn':181 'dr':860 'draft':527,851 'due':46,431,728,1162 'durabl':1230 'e.g':1184,1194 'earli':1018 'effect':220 'engin':184,243,255,1083,1090 'engineering-cultur':254,1089 'environ':609 'escal':822 'evalu':160 'event':270 'everi':767,1167,1233 'evid':317,702,964 'evidence-back':963 'exampl':929,930,973,1022,1055 'execut':750 'exist':910 'expand':471 'expect':962,1010 'experi':709 'expert':176 'explicit':354,536,751 'extract':652 'facilit':179,205,311,519 'fact':401,544,550,568,574 'factor':410,594,631,634,661,776,956,1130,1138,1216 'fail':1123,1188 'failur':804 'feed':1227 'file':385 'final':848,892 'first':147,201,1182 'fix':503,675,1071 'focus':93,988,1140 'follow':43,436,736,760,907,1243 'follow-through':42,906 'follow-up':435,735,759,1242 'frame':1036 'full':850,952,1001 'futur':58,262,447,786 'gate':847,914 'goal':154 'grade':1012,1248,1273 'ground':398,484 'guardrail':676 'guidanc':472 'happen':34,404 'hit':978 'hr/management':166,1049 'hypothes':413,638 'idea':754 'identifi':492,644 'impact':71,114,405,458,565,599,868 'implement':1106 'improv':225,538,1096 'in-chat':380 'incid':25,140,145,283,302,496,932,1032,1261 'incident/project':82 'includ':923,1236 'indic':803,1080 'individu':162,641,1145 'info':333 'initi':1009 'input':276,486,553,597,659,719,788,849 'insight':118,1224 'instead':1189,1263 'institution':66 'instrument':677 'integr':1196 'intend':904 'invest':824 'investig':185,1191,1265 'invit':531 'issu':1087 'item':107,724,768,1149 'keep':682,1272 'key':294,315 'kill':54,131,440,779,821,826,1004 'known':567 'label':357,590 'lack':807 'languag':512,643,1120 'last':1059 'later':753 'launch':234 'lead':62,90,985 'learn':37,67,72,95,115,305,421,450,459,517,537,653,667,669,672,693,698,789,845,869,873,1011,1250 'least':1208 'len':415,596,615 'level':1210 'lightweight':70,866 'like':621 'limit':744 'link':407 'links/evidence':585 'list':529,566,829,1154 'log':557 'made':418,618 'make':612 'map':635 'markdown':379 'measur':1174 'mechan':909 'meet':207,221,530 'metric':321 'minimum':277 'minut':938 'miss':88,332 'missing-info':331 'mode':805 'mortem':3,9,19,28,61,128,214,375,895 'must':1139,1169,1235 'need':169,187,203,223,240,258,1045 'neighbor':1056 'never':1226 'next':465,691,795,889,927,997,1008,1280 'norm':502 'note':320,558 'object':534 'observable/measurable':834 'okr':89,285,498,975,984,1258 'okr/grade':683 'open':463,887,925 'option':622 'orphan':765 'outag':939 'outcom':304,620 'outlin':532 'output':369,524,573,632,692,755,825,891,950,999 'own':969,1014,1171 'owner':45,109,314,430,523,715,727,770,1151,1161 'pack':377,852,897,953,1002 'page':857 'park':752 'participants/roles':310 'pass':912 'past':233,269 'pattern':250,1113 'paus':819 'payment':942 'peopl':506,604 'perform':164,1052 'period':286 'person':364,1028,1136 'pivot':133,820 'plan':260,273,452,762,972,1239 'planning-under-uncertainti':272 'point':1132 'possibl':587 'post':2,8,18,27,213,374,894 'post-mortem':7,17,26,212,373,893 'post-mortems-retrospect':1 'postmortem':79,933,948,1025 'practic':246 'pre':60,127,396,783,814 'pre-commit':782,813 'pre-mortem':59,126 'pre-read':395 'prevent':306 'privaci':326 'problem':191,197 'problem-definit':196 'proceed':352 'process':167,200,228,605,1050,1067,1074,1086,1095,1231 'produc':371,704,1152,1223 'product':238,606 'project':284,497 'project/okr':30 'propos':864 'prove':1026 'purpos':392 'q4':982 'qualiti':308,846,913 'quantifi':564 'quarter':998 'question':339,464,888,926 'rather':266 'read':397 'real':64 'realist':748 'reason':614 'recommend':1158 'recur':457,742,1076 'redirect':1037,1057 'references/checklists.md':878,879,917,918 'references/intake.md':341,342,489,490 'references/rubric.md':883,884,920,921 'references/templates.md':469,470,578,579 'references/workflow.md':473,474 'refram':511 'refus':1034 'replac':183 'request':361,387,487 'requir':278,915 'resolut':299 'respons':146,1033,1075 'retro':92,252,389,525,976,1061,1079,1218,1234 'retrospect':4,11,20,31,80,216,376,514,896,987,1221,1255 'review':51,73,104,116,150,231,268,282,460,481,494,738,743,870,1042,1103,1245 'right':175 'risk':263,462,886,924 'role':394,539 'root':13,411,636,1177 'rubric':911 'rule':399,485 'run':5,23,77,219,623,877,945,1101,1220 'runbook':678,1203 'running-effective-meet':218 'schedul':148 'scope':21,680 'score':881,1259 'scribe':312,520 'script':1187,1201 'secondari':685,1274 'secret':362 'section':576,695 'sens':419 'sentenc':289 'separ':549,1048 'set':110,482,499 'sever':1262 'shallow':1176 'share':547 'shareout':858,899,961 'ship':227,237 'shipping-product':236 'signal':49,434,443,516,718,732,801,812,1166 'singl':1135 'skill':178,1098 'skill-post-mortems-retrospectives' 'social':455,872 'solv':193 'source-liqiongyu' 'speed':307 'spend':1251 'stabil':152 'stakehold':316 'start/end':296 'step':466,477,890,928 'still':142 'stop':1179 'stori':552 'strategi':334 'structur':1125 'success':48,433,717,731,1165 'suggest':1046 'summari':290 'surfac':1063,1110 'system':36,97,249,414,504,595,645,967,991,1040,1082,1122,1142,1192,1266 'systems-bas':1039 'tabl':758 'team':876 'tech':607 'technic':171 'templat':468 'test':1197 'theme':1070,1077 'three':1060 'ticket':323,555 'tie':700 'time':291,298,300,347,796 'timelin':12,319,402,548,563,575,581,598,954,966,1127 'timestamp':406,562,583 'tl':859 'top':628,772,775,861,1214 'topic':1053 'topic-agent-skills' 'topic-ai-agents' 'topic-automation' 'topic-claude' 'topic-codex' 'topic-prompt-engineering' 'topic-refoundai' 'topic-skillpack' 'tracker':16,429,714,757,958 'traction':809 'tradeoff':426 'train':679 'trigger':56,134,442,781,828,1016 'turn':32 'type':495 'unavail':351 'uncertainti':265,275 'understand':901 'unknown':358 'use':76,138,165,194,217,235,253,271,366,577,610,916,1088,1118,1206 'verifi':572 'via':68 'vs':569 'week':113 'weekly/biweekly':867 'whether':509 'whys':625 'window':292 'without':173,1150 'work':448 'workflow':475 'would':791 'write':84,663,1023 'x':1029 'yesterday':944","prices":[{"id":"d603eb27-0b50-4d3f-ac24-118ccf557a3f","listingId":"9f22c967-43ea-4f49-9392-e5b1831a8403","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"liqiongyu","category":"lenny_skills_plus","install_from":"skills.sh"},"createdAt":"2026-04-18T22:16:53.424Z"}],"sources":[{"listingId":"9f22c967-43ea-4f49-9392-e5b1831a8403","source":"github","sourceId":"liqiongyu/lenny_skills_plus/post-mortems-retrospectives","sourceUrl":"https://github.com/liqiongyu/lenny_skills_plus/tree/main/skills/post-mortems-retrospectives","isPrimary":false,"firstSeenAt":"2026-04-18T22:16:53.424Z","lastSeenAt":"2026-04-22T00:56:24.228Z"}],"details":{"listingId":"9f22c967-43ea-4f49-9392-e5b1831a8403","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"liqiongyu","slug":"post-mortems-retrospectives","github":{"repo":"liqiongyu/lenny_skills_plus","stars":49,"topics":["agent-skills","ai-agents","automation","claude","codex","prompt-engineering","refoundai","skillpack"],"license":"apache-2.0","html_url":"https://github.com/liqiongyu/lenny_skills_plus","pushed_at":"2026-04-04T06:30:11Z","description":"86 agent-executable skill packs converted from RefoundAI’s Lenny skills (unofficial). Works with Codex + Claude Code.","skill_md_sha":"a15e4e43b56fe1436cddf7749e2b7cf6d5a800fe","skill_md_path":"skills/post-mortems-retrospectives/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/liqiongyu/lenny_skills_plus/tree/main/skills/post-mortems-retrospectives"},"layout":"multi","source":"github","category":"lenny_skills_plus","frontmatter":{"name":"post-mortems-retrospectives","description":"Run blameless post-mortems and retrospectives: timeline, root causes, action tracker."},"skills_sh_url":"https://skills.sh/liqiongyu/lenny_skills_plus/post-mortems-retrospectives"},"updatedAt":"2026-04-22T00:56:24.228Z"}}