extract-parameters-fro…
Use when the user wants to extract parameters from a PlanExe extraction-input digest (the markdown produced by…
Use after the napkin_math pipeline has produced parameters/bounds/scenarios/montecarlo JSON to generate a plan assessment (assessment.md) — a thin interpretation layer over the intermediary artifacts. Emits a JSON manifest, a provenance map, gate verdicts (Critical / Fragile /
$ npx -y skills add planexeorg/planexe --skill summarize-assessment --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/summarize-assessmentContext preview
The summary Claude sees to decide when to auto-load this skill.
Use after the napkin_math pipeline has produced parameters/bounds/scenarios/montecarlo JSON to generate a plan assessment (assessment.md) — a thin interpretation layer over the intermediary artifacts. Emits a JSON manifest, a provenance map, gate verdicts (Critical / Fragile /
name: summarize-assessment description: Use after the napkin_math pipeline has produced parameters/bounds/scenarios/montecarlo JSON to generate a plan assessment (assessment.md) — a thin interpretation layer over the intermediary artifacts. Emits a JSON manifest, a provenance map, gate verdicts (Critical / Fragile / Marginal / Robust), failure drivers, confidence and trust boundaries, scenario sanity check, and suggested next actions. The artifact is a navigation/judgment file, not a copy of the raw simulation data.
A thin wrapper around `experiments/napkin_math/summarize_assessment.py`. The script reads the pipeline artifacts and emits `assessment.md` next to them. The output is an **interpretation layer**: it tells the next reader of this directory what the simulation tested, which gates fail or pass, which inputs drive the result, which assumptions remain unvalidated, and what to inspect next. The raw distributions live in `montecarlo.json`; `assessment.md` references them via the provenance map rather than reproducing them.
Not for: producing the simulation itself (`monte-carlo`), running scenarios (`run-scenarios`), or extracting parameters from a report.
1. **Locate the inputs.** Required: `parameters.json`. Optional but recommended: `bounds.json`, `scenarios.json`, `montecarlo.json`. `validation.json` and `montecarlo_settings.json` are picked up automatically from the same directory if present. The script degrades gracefully if any optional file is missing — it just omits that section. If `parameters.json` is missing, ask.
2. **Invoke the script.** Requires Python 3.11+ (no extra deps):
/opt/homebrew/bin/python3.11 experiments/napkin_math/summarize_assessment.py \
--parameters <path>/parameters.json \
--bounds <path>/bounds.json \
--scenarios <path>/scenarios.json \
--montecarlo <path>/montecarlo.json \
[--output <path>/assessment.md]Default output: `<dir-of-parameters>/assessment.md`. The script prints the output path on stdout.
3. **Report back.** Tell the user the output path. If the user asks for a verdict in-conversation, read `assessment.md` and quote the gate-verdict rows and critical-findings bullets verbatim — don't paraphrase.
Verdicts come from the user's own threshold definitions in the Monte Carlo settings. No identifier-string or unit-string interpretation — domain-bias-free.
Each threshold has an operator (`>=`, `<=`, etc.) and a value. The user wrote the threshold because they want it to pass. The verdict is the pass probability in the simulation:
| Band | Pass probability | Verdict | Note | |---|---|---|---| | ≥ 80% | strong majority | **Robust** | passes in the strong majority of runs | | 50–80% | uncomfortable | **Marginal** | passes more often than not but uncomfortably close | | 20–50% | minority pass | **Fragile** | fails in the majority of runs | | < 20% | rarely passes | **Critical** | rarely passes under current bounds |
Any output classified Critical or Fragile also gets a "bottom line" callout at the top of the report.
The script does **not** invent thresholds for outputs the user did not declare. To get a verdict on an output, declare a threshold on it in the Monte Carlo settings file.
`assessment.md` is written to be consumed by the next program or process that touches this directory — a downstream pipeline stage, a planning loop, a follow-on extractor, a future invocation of this same workflow. A human can also read it, but the writing optimises for token-density of useful signal over engagement hooks. The output describes **what the file is** (an interpretation layer over the simulation artifacts); it does not label its audience.
What that means concretely:
These are not stylistic preferences. They are how this skill is meant to communicate.
1. **Critical findings first.** After the artifact contract, machine summary, provenance map, modelling frame, and simulation settings, the first interpretation section is `## Critical findings`. It consolidates every signal that the plan does not survive its own assumptions: Critical and Fragile thresholds, scenario warnings, numbers the model could not compute, and inputs the plan does not supply at all. If nothing qualifies, the section is omitted entirely — silence is the only acceptable form of good news.
2. **No sugar-coating.** A 5% pass probability is "rarely passes under current bounds", not "shows some challenges". A base-scenario value on the wrong side of a declared threshold is "the gate fails at the plan's own central assumptions", not "may warrant further attention". Use the strongest accurate language without overclaiming epistemic
Use when the user wants to extract parameters from a PlanExe extraction-input digest (the markdown produced by…
Use when the user wants to extract parameters, modelling values, or key variables from a PlanExe report (HTML or text) for napkin…
Use when the user wants to generate low/base/high assumption ranges (bounds) for missing or uncertain variables in a validated…
Use when the user wants to turn a validated extract-parameters-from-full JSON into a Python module of deterministic functions…
Use when the user wants Monte Carlo simulation of a PlanExe model — sampling from bounds to produce output distributions…
Use when the user wants to run the napkin-math pipeline end-to-end on a PlanExe report, or resume a partially populated output…