skills/premortem/SKILL.md
Run a premortem on any plan, launch, product, hire, pricing change, strategy, or high-stakes decision. Uses Gary Klein's prospective-hindsight method — assume it already failed at a future date and work backward to surface every plan-specific cause, then produce a revised plan, mitigations, early-warning signals, and a pre-launch checklist. USE WHEN premortem this, run a premortem, what could kill this, future-proof this, stress test this plan, what am I missing here, find the blind spots, what could go wrong, am I missing anything, poke holes in this, where will this break, before I commit to this. NOT FOR adversarial attack on an arbitrary idea or argument (use RedTeam), current-state multi-perspective debate (use Council), network/system vulnerability testing (use Security), or simple feedback/factual questions. DO trigger when someone has a concrete plan or commitment where the cost of being wrong is high and the decision is still changeable.
npx skillsauth add julianobarbosa/claude-code-skills premortemInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Imagine the plan already failed, then explain why. This "prospective hindsight" tense-shift (Klein, HBR 2007) generates ~30% more failure causes than asking "what could go wrong?" — and the causes are more specific. The skill turns that mechanism into a repeatable run that ends in a revised plan, not just a list of worries.
| Trigger | Workflow |
| ----------------------------------------------------------------------------- | ------------------------------------------------------------- |
| "premortem this", "run a premortem", "what could kill this", high-stakes plan | Workflows/RunPremortem.md (full: parallel deep-dive agents) |
| "quick premortem", small/personal decision, fast gut-check, thin context | Workflows/QuickPremortem.md (solo single-pass, no fan-out) |
| "update the premortem skill", add/fix a workflow | Workflows/Update.md |
Default to RunPremortem for anything with real stakes. Drop to QuickPremortem only when
the decision is small or the user explicitly wants speed.
The entire technique is one move: state that failure has already happened, with certainty, and
ask what caused it. Everything else is delivery. If a step doesn't help the user inhabit
"it already failed," cut it. Full evidence and citations: References/Methodology.md.
RunPremortem, parallel agents must NOT see each
other's output — this is the anti-anchoring safeguard, and it is load-bearing..md) is the record. HTML is an optional visual
artifact via Tools/GenerateReport.ts --html, never the primary output.RedTeam. Current multi-view debate → Council.Tools/GenerateReport.ts — turns a findings JSON (schema in References/Templates.md) into a
markdown report (default) or a self-contained HTML report (--html). Run with bun. See
Tools/GenerateReport.help.md.The highest-density part of this skill. Add to it after every run that surprises you.
RunPremortem fans out parallel agents and explicitly forbids cross-talk.Before executing, check for user customizations at
~/.claude/PAI/USER/SKILLCUSTOMIZATIONS/Premortem/. If PREFERENCES.md exists, load and apply it
(e.g. preferred default horizon, report theme, number of failure agents). These override defaults.
If the directory does not exist, proceed with skill defaults. Do not put private/identity content
in this skill body — it belongs in SKILLCUSTOMIZATIONS.
curl -s -X POST http://localhost:31337/notify \
-H "Content-Type: application/json" \
-d '{"message": "Running the WORKFLOWNAME workflow in the Premortem skill to ACTION"}' \
> /dev/null 2>&1 &
Then output: Running the **WorkflowName** workflow in the **Premortem** skill to ACTION...
Example 1: Full premortem on a launch
User: "Premortem our paid-newsletter launch next month"
→ RunPremortem: gather context (what/who/success) → frame "it's 6 months out, the launch failed"
→ generate plan-specific causes → fan out 1 agent per cause (independent) → synthesize
most-likely + most-dangerous + hidden assumption + revised plan + checklist
→ write transcript .md, optionally GenerateReport.ts --html → 3-sentence chat summary
Example 2: Quick solo gut-check
User: "quick premortem on accepting this contractor role"
→ QuickPremortem: single-pass, no agents → past-tense framing → 5-8 specific causes with
likelihood/severity, hidden assumption, top mitigations → short markdown, no HTML
Example 3: Disambiguation from RedTeam
User: "poke holes in my argument that we should go remote-first"
→ This is attacking an ARGUMENT, not a plan-with-stakes → suggest RedTeam instead, or
reframe: "if you want to premortem the remote-first *rollout plan*, I can do that."
After completing any workflow, append a single JSONL entry:
echo '{"ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","skill":"Premortem","workflow":"WORKFLOW_USED","input":"8_WORD_SUMMARY","status":"ok|error","duration_s":SECONDS}' >> ~/.claude/PAI/MEMORY/SKILLS/execution.jsonl
development
End-to-end branch delivery: commit (no AI attribution) → push → open a pull request → ensure a Board work item exists (create one per task, assigned to the configured user, if none) and link it → after merge, clean up branch and worktree. Auto-detects the platform from the remote — Azure Repos + Boards (azure-devops-node-api SDK; OAuth Bearer push fallback via `az`) or GitHub (Octokit; `gh` for auth). Scripts are TypeScript, run via `bun`. Use whenever asked to "ship", "ship it", "ship this branch", "open a PR", "push and open a PR", "raise a PR", "deliver this", "send this for review", or "create a PR and link the work item" — and when a direct push to main is blocked and the change needs to go through a PR instead.
testing
Brief description of what this skill does. Include specific triggers - when should Claude use this skill? Example triggers, file types, or keywords that indicate this skill applies.
tools
Manage and troubleshoot PATH configuration in zsh. Use when adding tools to PATH (bun, nvm, Python venv, cargo, go), diagnosing "command not found" errors, validating PATH entries, or organizing shell configuration in .zshrc and .zshrc.local files.
tools
Zabbix monitoring system automation via API and Python. Use when: (1) Managing hosts, templates, items, triggers, or host groups, (2) Automating monitoring configuration, (3) Sending data via Zabbix trapper/sender, (4) Querying historical data or events, (5) Bulk operations on Zabbix objects, (6) Maintenance window management, (7) User/permission management