Give your AI a Monte Carlo forecasting engine: probabilistic project timelines, cost ranges, and 'when will it be done' delivery forecasts. Fully local, no API keys.
Strong tool definitions with excellent descriptions (150-250 chars each), complete JSON Schema with proper types and constraints. All 5 tools have clear names starting with action verbs (forecast_*, pert_*, sensitivity_*). Parameters are well-typed with enums, ranges, and descriptions. Output schemas are documented in descriptions. Minor gaps: no explicit error handling guidance in descriptions, no per-tool output schema JSON, and no confirmation/dry-run patterns for potentially expensive Monte Carlo iterations.
Answer 'when will it be done?' from historical throughput instead of per-task estimates. Give the number of items completed in each recent period (e.g. stories per sprint) and the remaining backlog; the tool bootstraps future periods to forecast how many periods are needed to clear the backlog. Returns P50/P80/P90/P95 in periods, and calendar dates when a start date and period length are supplied. Optionally model scope creep with `splitRate`.
Run a Monte Carlo simulation over a list of cost line items, each with an optimistic / most-likely / pessimistic amount, to produce a probabilistic forecast of the TOTAL budget. Returns P50/P80/P90/P95, mean, standard deviation, and a distribution shape. Optionally give a `budget` to get the probability of coming in at or under it. Ideal for building a contingency-aware estimate instead of a single point number.
Run a Monte Carlo simulation over a list of tasks, each with an optimistic / most-likely / pessimistic duration, to produce a probabilistic forecast of the TOTAL project duration. Returns P50/P80/P90/P95, mean, standard deviation, and a distribution shape. Optionally give a `target` to get the probability of finishing within it. Use this instead of guessing a single deadline: it turns three-point estimates into calibrated confidence levels. Tasks are summed (run in series).
Compute a classic PERT estimate from tasks with optimistic / most-likely / pessimistic values. Returns each task's expected value and standard deviation, the rolled-up project mean and standard deviation, and the value achievable at each confidence level (via a normal approximation). Instant and deterministic - use it for a quick estimate or to cross-check a Monte Carlo forecast. Assumes tasks are independent and summed.
No explicit error handling guidance in tool descriptions. LLMs cannot determine recovery paths for invalid inputs (e.g., backlog < 0, iterations > 200000, malformed dates).
Output schemas are described in natural language but not provided as formal JSON Schema. LLMs cannot programmatically parse response structure or plan downstream operations.
No confirmation or dry-run pattern for computationally expensive operations. Monte Carlo with 200k iterations could timeout or consume excessive resources without user awareness.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Identify which tasks contribute most to the uncertainty in a project total. Runs the Monte Carlo simulation and, for each task, computes its correlation with the total and its share of the total variance. Returns tasks ranked from biggest to smallest driver, so you know where reducing estimate uncertainty or de-risking the work has the most impact. This is the data behind a tornado chart.
Parameter 'distribution' enum values (pert, triangular, normal, lognormal, uniform) lack descriptions explaining when to use each. LLMs cannot reason about which distribution fits the domain.
No guidance on when to use forecast_completion vs forecast_duration. Both estimate project timelines but via different methods (historical throughput vs three-point estimates). Descriptions should clarify the choice.