The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
Documents · SKILL.md

schedule-monte-carlo

schedule-monte-carlo

Project completion as a distribution, not a date — Monte Carlo over the task graph. Use when a plan's finish date came from summing 'likely' estimates (it's wrong, mathematically), when leadership needs a commit date, or when you need to know which tasks actually control the timeline. Produces P10/P50/P90 completion, per-task criticality (how often each tas…

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

name: schedule-monte-carlo description: "Project completion as a distribution, not a date — Monte Carlo over the task graph. Use when a plan's finish date came from summing 'likely' estimates (it's wrong, mathematically), when leadership needs a commit date, or when you need to know which tasks actually control the timeline. Produces P10/P50/P90 completion, per-task criticality (how often each task sits on the critical path), and a real .xlsx — via the bundled zero-dependency simulator, deterministic with a seed."

Schedule Monte Carlo

Summing the "likely" estimates systematically understates the finish: parallel branches mean the slowest path wins each roll, and that maximum is always worse than the middle. This skill runs the actual simulation — thousands of schedule rolls over the dependency graph — and reports the date the way it behaves: as percentiles.

Required Inputs

  • The task list with three-point estimates — per task: optimistic / likely / pessimistic (any consistent unit) and dependencies. Honest pessimistics are the whole game: "what if the API vendor ghosts us for two weeks" belongs in that number.
  • Simulation count and seed (optional; defaults 5,000 and a fixed seed — results are reproducible).

Output Format

  1. The headline gap — deterministic finish (sum-of-likelies) vs P50 vs P90, side by side. The deterministic-to-P50 gap is the lie the old plan told; show it first.
  2. The commitment guidance — promise P50 internally, P90 externally; the space between is the honesty budget. Name the dates.
  3. Criticality table — per task, the share of simulations where it sat on the critical path. The top 2-3 are where management attention belongs; a task at 0.9 criticality with a wide estimate range is the schedule.
  4. Model limits — no resource contention or calendar effects; real schedules are worse, so these are optimistic floors.

Programmatic Helper

Ships scripts/schedule_sim.py — zero dependencies, cycle-detecting, deterministic:

python3 scripts/schedule_sim.py run schedule.xlsx --tasks tasks.json --sims 5000
# tasks.json: [{"name":"design","optimistic":3,"likely":5,"pessimistic":10,"depends":[]}, …]

Prints deterministic=21.0 P10=22.3 P50=27.0 P90=32.3 · top critical: design, integrate… and writes the summary + criticality sheets. Requires a code-execution environment.

Quality Checks

  • The simulation ran (output quoted); percentiles were never eyeballed
  • The deterministic-vs-P50 gap is stated explicitly and first — it is the finding most rooms need
  • Criticality is reported per task and drives the "watch these" recommendation
  • Pessimistic estimates were interrogated: if every task's pessimistic is likely×1.2, say the inputs are optimistic theatre and the output inherits it
  • Internal-vs-external commitment dates are both named

Anti-Patterns

  • Do not present P50 as "the date" — the median loses half the time, by definition
  • Do not let uniform ±20% estimates pass silently — real uncertainty is lumpy, and flat inputs mean nobody thought about failure modes
  • Do not hide the deterministic number — showing plan-math next to real-math is how the method earns adoption
  • Do not add hidden buffers on top of P90 — the whole point is replacing padding with arithmetic
  • Do not simulate a 200-task plan at task granularity — roll up to workstreams; precision theatre at that scale is its own lie

Example Trigger Phrases

  • "When will this project really finish?"
  • "Leadership needs a commit date."
  • "Simulate our schedule instead of summing estimates."
  • "Which tasks actually drive the end date?"
Saved skills