sensitivity-tables
Installation
SKILL.md
Sensitivity Tables (One- and Two-Variable)
When to use
Use when a strategy or finance model has a single key output and you want to show how that output responds as one or two drivers vary across a range. Typical drivers are price, volume, discount rate, growth, churn, or cost per unit. This skill BUILDS a downloadable .xlsx from scratch in the Claude app (openpyxl plus numpy), with live formulas and a recalc-and-verify pass. It is not the Claude for Excel add-in.
What it builds
A single Sensitivity tab that attaches to an existing model. It references the model's input cells and output cell, lays out one-variable and two-variable grids, and color-scales the result block. If the source model lives on another sheet, the grid links to it with cross-sheet references so it stays live.
Build workflow
- Identify the output cell (for example
Model!B40holding NPV) and the one or two input cells that drive it (for exampleModel!B6discount rate,Model!B7growth). - Confirm the output is a live formula chain back to those inputs. If the output is hardcoded, stop and wire the model first; a Data Table over a constant returns the constant.
- Choose input ranges around the base case (for example base discount rate 10 percent, sweep 6 to 14 percent in steps of 2).
- Build the native Excel Data Table structure: corner formula, input axes, and the
{=TABLE(r,c)}array (see spec). - ALSO build the code-computed grid as a robust fallback: re-evaluate the model in Python across every input combination and write the resulting values as a labeled matrix.
- Apply a 3-color scale to the result block and label both axes with the input cell names.
- Add the Checks block.
- Recalculate the workbook in a real engine (headless LibreOffice).
- Verify zero formula errors (#REF!, #DIV/0!, #VALUE!, #NAME?), confirm the checks pass, then deliver the .xlsx.