agentleFS
JipletJiplet/transformation-os/skills/analysis/analysis-scenario-model/SKILL.md

scenario-model

Skill2 starsChanged 4 months agoMITView on GitHub

Build financial scenario models for cost-out initiatives — Conservative/Base/Stretch with FY26–28 phasing, sensitivity table, and Excel workbook output.

The file

We split this skill into the rules it gives an agent

12 rules. About 0 are common, 9 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈9

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When Jacob has identified a cost lever and wants to quantify the range of outcomes

    line 14
  2. Distinctive:

    Do not proceed to Step 2 until cost base and lever type are confirmed.

    line 29
  3. Distinctive:

    Never present a single number — always a range (Conservative to Stretch)

    line 42
  4. Distinctive:

    All cells formula-driven. Reference the cost base input cell — do not hardcode.

    line 74
  5. Distinctive:

    ALWAYS invoke the davila7-xlsx skill pattern: Never use raw openpyxl without the skill.

    line 80
  6. Very specific:

    All savings cells use formulas (e.g.

    line 99
  7. Very specific:

    Use Excel formulas — =SUM(), =AVERAGE(), =cell_ref * pct_ref — never hardcode computed values

    line 114
  8. Very specific:

    Run recalc.py to verify zero formula errors before delivery if available

    line 118
  9. Distinctive:

    Always use Excel formulas — never hardcode computed values

    line 136
  10. Distinctive:

    Verify assumptions with Jacob before generating the workbook — ask if not provided

    line 137
  11. Distinctive:

    Never present a single savings number — always Conservative to Stretch range

    line 138
  12. Distinctive:

    If cost base is unknown, ask Jacob or mark as "requires data" — do not guess

    line 142

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Scenario Model Skill

Purpose

Build financial scenario models for cost productivity initiatives. Takes a cost lever and models Conservative/Base/Stretch outcomes with phasing across FY26–28. Output is always an Excel workbook with formulas — never hardcoded computed values.

Trigger Phrases

  • "model this", "scenario model", "what's the upside/downside", "size the opportunity"
  • "how much could we save", "build a business case model", "financial model for [initiative]"
  • When Jacob has identified a cost lever and wants to quantify the range of outcomes

Execution Steps

Step 1 — Define the Lever

Confirm the following before proceeding. If any are missing, ask Jacob directly:

  • What is being optimised? (e.g. payment terms, vendor consolidation, travel policy, headcount)
  • What is the current cost base? Annual run-rate in AUD. If unknown, flag as "requires data".
  • What are the available levers? Rate / volume / mix / policy / process
  • What data exists? The spend cube, data request outputs, or provided in conversation
  • What is the initiative timeline? Any known constraints on FY26 landing (contracts, systems, approvals)

Do not proceed to Step 2 until cost base and lever type are confirmed.


Step 2 — Build the Scenario Table

Three scenarios, each with stated assumptions:

ScenarioDescriptionSaving %What has to be true
ConservativeMinimum credible outcome — quick wins onlyX%[specific assumptions]
Base CaseRealistic outcome with normal executionY%[specific assumptions]
StretchBest case with full execution and tailwindsZ%[specific assumptions]
  • Never present a single number — always a range (Conservative to Stretch)
  • Separate one-off savings from recurring (annualised) savings
  • Assumptions not confirmed by Jacob must be flagged as "⚠ Unverified"

Step 3 — Phase Across Financial Years

Apply the following phasing logic (adjust if Jacob provides initiative-specific timelines):

Lever TypeFY26FY27FY28
Quick wins (policy enforcement, payment timing)100%100%100%
Negotiations (vendor consolidation, rate reduction)50%100%100%
Structural (operating model, system changes)0%50%100%
  • FY26: What can land this year (~9 months remaining from July 2025)
  • FY27: What requires structural change (contracts, systems, policy)
  • FY28: Full run-rate once changes are embedded

Step 4 — Sensitivity Table

Show outcomes at 5%, 10%, 15%, 20%, 25% reduction on the cost base:

Saving %Annual Saving ($)3-Year Cumulative ($)% of FY26 target% of 3-year target
5%
10%
15%
20%
25%

All cells formula-driven. Reference the cost base input cell — do not hardcode.


Step 5 — Generate Excel Workbook

ALWAYS invoke the davila7-xlsx skill pattern. Never use raw openpyxl without the skill.

Venv: <workspace>/.venv Logo: Template/logo.png (brand-adaptable, bring your own asset) Save to: 4 - Projects/[initiative-name]/[YYMMDD]_Scenario_Model_[name].xlsx

Workbook Structure (4 tabs)

Tab 1 — Cover

  • Company logo top-left (white/no-fill header band, do not use a dark band behind logo)
  • Report title, large navy text
  • Synopsis: max 2 sentences — state the initiative and how the model was built. Then dot points for key findings.
  • Assumptions: listed in full. Mark unverified assumptions with "⚠ Unverified".
  • Tab guide: one-line description per sheet

Tab 2 — Scenario Model Columns: Cost Base | Saving % | Annual Saving $ | FY26 Phased | FY27 Phased | FY28 Phased | 3-Year Cumulative

  • One row per scenario: Conservative / Base Case / Stretch
  • All savings cells use formulas (e.g. =cost_base * saving_pct)
  • Phased columns reference the lever type phasing percentages as named cells or a lookup
  • Assumptions block below the table — label each one, mark unverified

Tab 3 — Sensitivity

  • Matrix: saving % rows (5%–25%) × metric columns (Annual $, 3-Year Cumulative, % of target, % of 3-year)
  • Single input cell for cost base at top of sheet — all formulas reference it
  • Highlight the Base Case row

Tab 4 — Phasing

  • Waterfall / build view: FY26 → FY27 → FY28 run-rate
  • Split by lever type (Quick Win / Negotiation / Structural)
  • Show cumulative savings build across 3 years per scenario

Formula & Quality Rules

  • Use Excel formulas — =SUM(), =AVERAGE(), =cell_ref * pct_ref — never hardcode computed values
  • Named ranges for key inputs: cost base, saving percentages, phasing factors
  • Currency format: $#,##0 (no decimals) for all dollar cells
  • Percentage format: 0% for all rate cells
  • Run recalc.py to verify zero formula errors before delivery if available

Company Context

FieldValue
CompanyA large ASX-listed infrastructure services enterprise (~$6B revenue, ~35,000 people)
Cost program8 figure FY26 / 9 figure 3-year
CurrencyAUD — formatted $#,##0 (no decimals)
BrandBrand-adaptable output (bring your own theme)
NoPie charts, 3D effects, WordArt

Rules

  1. Always use Excel formulas — never hardcode computed values
  2. Verify assumptions with Jacob before generating the workbook — ask if not provided
  3. Never present a single savings number — always Conservative to Stretch range
  4. Separate one-off savings from recurring (annualised) savings
  5. Phase realistically — do not assume everything lands in FY26
  6. Flag unverified assumptions with "⚠ Unverified" on the cover sheet
  7. If cost base is unknown, ask Jacob or mark as "requires data" — do not guess
  8. Append a dated entry to 4 - Projects/[initiative-name]/log.md on completion

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.