skills / business

pre-mortem

what it does

Run a pre-mortem risk analysis on a PRD or launch plan. Categorizes risks as Tigers (real problems), Paper Tigers (overblown concerns), and Elephants (unspoken worries), then classifies as launch-blocking, fast-follow, or track. Use when preparing for launch, stress-testing a product plan, or identifying what could go wrong.

Verified Before and after: 2 models 1 try per case View source Download .zip

Compare the answers

Answers from Claude Sonnet 5.5 and GPT-6.1 Sol · try 1 of 1

Same request, same model, once with the skill and once without. Read both and judge for yourself.

“We launch in two weeks. Run a pre-mortem on this plan.”

Source material given with the request

Product: Tallyhub accounting, launch of the new invoice engine on Monday, November 9. - All 48,000 customer accounts have their invoice history migrated overnight on Sunday, Nov 8. - Dry run: migrated 2,400 accounts (5%) in 3 hours. No errors. - Rollback plan: TBD. - Marketing email to all customers goes out Nov 9 at 9:00 am. - Support team briefing: Nov 6. - Sales is worried that competitor Ledgerfox might announce a similar feature this month.
with the skill
## Pre-Mortem Analysis: Tallyhub Invoice Engine **Planned launch:** Monday, November 9 **Migration:** All 48,000 customer accounts overnight on Sunday, November 8 **Recommendation:** **Do not approve the all-account cutover as currently planned.** Migration capacity and recovery readiness are launch-blocking gaps. Keep November 9 conditional on explicit go/no-go gates. *Dates below refer to the supplied launch calendar; no year was provided.* ### Failure scenario It is November 9 at 9:00 am. The marketing email arrives, but migration is still running. Some customers cannot access complete invoice histories; others encounter inconsistencies. Support is overwhelmed. The team cannot confidently restore service because rollback was never defined and new invoices have already been created. The critical mistake: treating a successful 5% dry run as proof of production readiness. ### Tigers (Real Risks) | Risk | Urgency | Assessment and mitigation | |---|---|---| | **Migration may take far longer than overnight** | **Launch-blocking** | The dry run processed **800 accounts/hour**. At that rate, 48,000 accounts take **60 hours**, excluding validation, retries, and cutover. Parallelism might improve this, but has not been demonstrated. Measure production-scale throughput and complete a timed rehearsal against a defined migration window. If it cannot fit with contingency time, reduce scope or postpone. | | **Rollback is undefined** | **Launch-blocking** | A failed migration could leave customers without a trusted invoice system. Define and rehearse recovery: validated backups, reversal or restoration, routing back to the old engine, and treatment of invoices created after cutover. A backup alone is not a rollback plan. |
Show the rest (50 more lines)
| **“No errors” may not mean financial correctness** | **Launch-blocking** | The dry run shows no reported errors; it does not establish that every invoice, balance, tax amount, payment link, and history record remained correct. Define reconciliation checks and test representative complex accounts. Resolve unexplained discrepancies before enabling migrated accounts. | | **Writes during migration could be lost, duplicated, or inconsistent** | **Launch-blocking** | The plan does not describe how invoice creation, edits, payments, scheduled jobs, or integrations behave during cutover. Establish a tested write-freeze or change-capture/replay strategy, including safe retries and a single authoritative system. | | **The launch email is not tied to operational readiness** | **Launch-blocking** | A fixed 9:00 am send could announce availability while migration or validation is failing. Make sending contingent on an explicit operational sign-off, with a named person authorized to hold it. | | **Support preparation is late and underspecified** | **Fast-follow; minimum coverage required before launch** | A November 6 briefing leaves little time to fix gaps. Before launch, support needs a known-issues guide, account-status visibility, escalation paths, customer messaging, and staffed cutover coverage. Expand training and self-service guidance within 30 days. | | **Production performance may degrade after cutover** | **Fast-follow, unless core workflows fail readiness tests** | Migration success does not prove acceptable invoice creation, search, export, or integration performance under real load. Load-test critical workflows before launch, define acceptable limits, and monitor latency and failure rates afterward. Core workflow failures should block launch. | ### Paper Tigers (Overblown Concerns) **“Ledgerfox might announce something similar, so we must launch on November 9 regardless.”** The announcement is speculative, and a competitor announcement does not itself prevent Tallyhub customers from adopting the engine. It warrants lightweight competitive monitoring and messaging preparation—not accepting financial-data or recovery risks. **Boundary:** Evidence of active deal losses or a contractual deadline would justify reassessment. Neither is provided here. ### Elephants (Unspoken Worries) These are unresolved assumptions, not established failures. Investigate them before launch. | Unspoken question | Investigation | |---|---| | **Why must all 48,000 accounts move at once?** | Engineering and Product should determine whether a small, representative canary cohort and staged rollout can isolate failures. Do not assume the architecture supports this. | | **Was the 5% sample representative?** | Compare migrated accounts with the full population by invoice volume, history size, currencies, tax complexity, integrations, and other supported edge cases. Account count alone may hide migration cost. | | **What customer benefit defines launch success?** | Product should identify the expected customer outcome and measure it alongside invoice completion rates, correctness, and support contacts. A completed migration is not sufficient proof of a successful launch. | | **Have customers been told about possible disruption?** | Confirm whether maintenance notices, integration coordination, or contractual notification requirements apply. A launch-day marketing email is not advance operational notice. | ### Action Plans for Launch-Blocking Tigers *Owners are proposed functions; assign a named accountable person to each.* | Risk | Concrete mitigation and acceptance gate | Owner | Due date | |---|---|---|---| | **Migration capacity** | Define the available window; run a production-representative, timed rehearsal including validation and retry overhead. Demonstrate completion with an agreed contingency buffer. Otherwise stage or delay. | Engineering migration lead + SRE | **Nov 4** | | **No rollback** | Document triggers, decision authority, recovery-time/data-loss limits, and handling of post-cutover writes. Rehearse recovery and verify restored data. | Engineering lead + SRE | **Nov 5** | | **Financial correctness** | Reconcile source and destination records, amounts, relationships, and key histories. Include complex accounts and critical workflow tests; resolve unexplained discrepancies. | Data/QA lead + accounting domain owner | **Nov 5** | | **Concurrent writes** | Test the chosen freeze or synchronization approach, including in-flight operations, scheduled jobs, integrations, duplicate prevention, and recovery. | Backend engineering lead | **Nov 5** | | **Unconditional marketing send** | Add a manual release gate. Send only after migration, reconciliation, and customer-facing health checks pass for the audience being announced to. Prepare delay messaging. | Marketing lead + launch commander | **Nov 6** | ### Final Go/No-Go Gate — November 6 Proceed only if: - Migration duration is demonstrated to fit the approved window. - Recovery is rehearsed, not merely documented. - Financial reconciliation and cutover-write handling pass. - Minimum support coverage and escalation procedures are ready. - One launch commander can stop the cutover and hold the email. **If any gate fails, postpone the all-account launch or use a validated, isolated staged rollout. Do not discover the recovery strategy on November 9.** *Suggested Markdown filename: `PreMortem-Tallyhub-invoice-engine-Nov-09.md`.*
without
## Pre-mortem: It’s November 10, and the launch has failed Customers can’t reliably access invoice history, some balances don’t reconcile, and support is overwhelmed. The 9:00 a.m. email sends customers into a system that is still migrating. With no tested rollback, the team must choose between prolonged downtime and risking financial-data corruption. **Assessment: the current plan is not launch-ready.** The biggest threats are migration capacity and recoverability—not Ledgerfox. ### The critical math The dry run migrated 2,400 accounts in 3 hours: **800 accounts/hour**. At that observed rate, 48,000 accounts would take **60 hours**, not overnight. An eight-hour window would require **7.5× the demonstrated throughput**, before allowing for validation, retries, or recovery. That does not prove the migration cannot finish overnight; parallelism could help. But the plan currently depends on capacity that has not been demonstrated. ## Likely failure modes | Failure mode | Why it’s plausible | Mitigation / launch gate | |---|---|---| | **Migration runs into Monday** | The observed throughput does not support the planned window. Larger accounts or production contention could make it worse. | Run a production-representative scale test, including large accounts and peak load. Require completion plus validation within the window, with a recovery buffer. Otherwise migrate in advance or stage the rollout. | | **“No errors” hides accounting discrepancies** | A completed migration is not proof of financial correctness. The 5% sample may miss credits, partial payments, tax, rounding, currencies, or unusual invoice histories. | Reconcile invoice counts, totals, balances, payment/credit links, and audit history per account. Investigate every unexplained discrepancy; do not rely only on aggregate totals. |
Show the rest (29 more lines)
| **A failed cutover cannot be reversed safely** | Rollback is TBD. Once the new engine accepts writes, switching back may lose or duplicate transactions. | Define the source of truth, cutover boundary, write handling, restore method, and treatment of post-cutover transactions. Rehearse rollback and measure recovery time before launch. | | **Partial migration leaves accounts inconsistent** | Overnight jobs can time out, retry, or stop halfway through. Concurrent customer activity can race with migration. | Use resumable, idempotent migration steps, account-level status tracking, and a defined write-consistency strategy. Test interruption, retry, and concurrent-write scenarios. | | **Marketing amplifies an unresolved incident** | The email is scheduled independently of migration success. | Make the email conditional on an explicit technical go/no-go. Assign someone authority to pause it; prepare delay messaging now. | | **Support cannot contain the impact** | A Nov 6 briefing leaves little time to uncover gaps or rehearse escalation. | Involve support now. Prepare symptom-based troubleshooting, known limitations, escalation paths, staffing, and customer-status updates. Use Nov 6 as the final rehearsal. | | **Competitive pressure overrides readiness** | Ledgerfox’s possible announcement creates urgency without reducing operational risk. | Agree on non-negotiable launch gates now. Separate announcement timing from broad technical availability where feasible. | ## What to do in the next two weeks **Within 48 hours** - Name one launch decision-maker and owners for migration, reconciliation, rollback, support, and communications. - Define the actual migration window, acceptable downtime, recovery-time target, and acceptable data-loss threshold. - Replace “rollback TBD” with a concrete design. - Select a representative test cohort by **data volume and complexity**, not just account count. **During the first week** - Demonstrate migration throughput at realistic scale and load. - Rehearse failure, restart, reconciliation, and rollback. - Prefer a staged migration or cutover with a small canary cohort and explicit stop conditions over an all-account big bang. **Before Nov 8** - Hold a formal go/no-go review based on test evidence. - Freeze the runbook, staffing, escalation tree, and customer communications. - Ensure the marketing email cannot send automatically without release approval. ## Recommendation **Do not approve the current all-account overnight cutover.** Approve it only after capacity, financial correctness, and recovery have been demonstrated. If those gates cannot be met, reduce the rollout scope or move the date. A competitor announcing first is a commercial setback. An accounting launch that loses trust in invoice history is a much harder problem to reverse.

Answers are shown exactly as the model wrote them, from the first try, and nothing is picked by hand.

The models

2 models

Claude Sonnet 5.5

made by Anthropic

claude-sonnet-5-5 · revision not reported by the provider

1 try per case · tested 3 Nov 2026

GPT-6.1 Sol

made by OpenAI

gpt-6.1-sol · revision not reported by the provider

1 try per case · tested 3 Nov 2026

The tasks

written by Carte Blanche
internal-tool-cutover

“Engineering is rolling out our new in-house support tool next month. Can you stress-test the plan?”

invoice-migration

“We launch in two weeks. Run a pre-mortem on this plan.”

meal-kit-city-launch

“We're launching meal-kit delivery in Rivertown on November 16. What could go wrong?”

per-seat-pricing

“We're switching from $299/month flat to $25 per seat per month on January 1. Poke holes in it.”

worry-list-triage

“Here's our launch plan and the team's worry list. Which of these should we actually worry about?”

Install

Download the .zip and unzip it. Put its files, in a folder named pre-mortem, here:

Claude Code~/.claude/skills/Every project. For one project only, use .claude/skills/ inside it.
Codex~/.agents/skills/Every project. For one repository only, use .agents/skills/ inside it.
Cursor~/.cursor/skills/Cursor also reads the Claude Code and Codex folders above.

Then start a new session and ask for what the skill does. Other agents that read SKILL.md have their own skills folder; check their docs.

Coming after launch: get skills from inside your agent, no download needed.