All skills

Budget season · Review

Submission Reviewer

Reviews a submission the moment it lands, against the owner's history and guardrail. Flags the padding and the gaps, and drafts your reply.

Download .skill · 19 KB

Free, no email

Quick answer

01What it does

Reviews one submission as it arrives, against the owner's trailing actuals, their guardrail, and their peers. A line is only flagged if it can say why.

02What you give it

One department's submission by line item, ideally with its twelve months of actuals, its guardrail, and the peer submissions.

03What you get back

A verdict of accept, accept with questions, or send back, the lines to challenge with a reason each, a full line-by-line table, and a draft reply.

Say this to run it

  • “Review this submission”
  • “Did marketing pad this?”
  • “Check this budget request against last year”
  • “What should I push back on?”
  • “Is this submission reasonable?”
  • “Review the numbers engineering sent”

Add it to Claude

  1. 01

    Download the file

    submission-reviewer.skill, 19 KB

  2. 02

    Add it in Claude

    Customize › Skills › Add, then upload the file.

  3. 03

    Attach the submission and ask

    “Review this submission.”

What you get back

This is the format every run returns, from the skill's own template.

Output · references/output-template.md

Output Format

Produce these four blocks, in this order, every run.


1. The verdict

{Department} · FY{YY} submission · reviewed {date}

VERDICT: {ACCEPT / ACCEPT WITH QUESTIONS / SEND BACK}

Requested        ${total}
Guardrail        ${guardrail}        {over/under} by ${gap}
Trailing actual  ${prior}            {+/-}{pct}% year over year

{One sentence: the single reason for the verdict.}

If the trailing actuals were not supplied, add immediately beneath:

⚠ Reviewed without trailing actuals — tests 1 and 4 could not be run.

If no guardrail was supplied, write not provided on the guardrail line — test 3 then covers only the line-level caps you were given, and the verdict's over-guardrail trigger cannot fire.


2. The challenge list

The heart of the output. Ordered by dollar impact, capped at eight.

#LineLast yearRequestedΔFailedThe question to ask
1{line}${x}${y}{+n%}{tests}{one sentence, in the owner's language}

Rules:

  • Every row names the failed test(s) explicitly
  • The question is written to be forwarded verbatim, not paraphrased
  • Padding and gaps are interleaved by materiality, not grouped — the biggest number matters more than its category

If the list is empty, say so plainly: "Nothing material failed. Consolidate as submitted."


3. The full line table

Every submitted line, so the owner can see the review was even-handed rather than a hunt.

LineLast yearRequestedΔHistoryAssumptionGuardrailPeersResult
{line}${x}${y}{+n%}✓/✗✓/✗✓/✗✓/–PASS / QUESTION / GAP

Use – for tests not run, never a blank cell, and never a ✓ you did not earn.

Below the table:

  • Materiality thresholds used, so the run is reproducible
  • Unmatched lines — anything in the submission with no history equivalent, or vice versa
  • One-time costs correctly excluded — list them, so their absence reads as deliberate rather than missed

4. The draft reply

Per references/reply-templates.md. Always produced, even on an accept — the owner should hear that it landed cleanly.

Inside the skill

Five plain-text files you can read before you install.

references/review-rubric.md
# The Four-Part Rubric

Every submitted line is tested against four questions. Record a pass, a fail,
or `n/a` (with the reason) for each. A line only appears on the challenge list
if it fails at least one test **and** you can state which.

| Test | Question | Fails when |
|---|---|---|
| **1. Grounded in history** | Does this line track what they actually spent? | Grew or shrank materially against trailing actuals |
| **2. Supported by an assumption** | Did the owner say *why*? | The change has no stated driver |
| **3. Within guardrail** | Does it fit the number they were given? | Department total or a capped line is over |
| **4. Consistent with peers** | Does it behave like the same line elsewhere? | An outlier against comparable departments |

Tests 1 and 2 are the workhorses. A line that fails **both** is the definition
of padding: it moved, and nobody said why.

---

## Materiality

Do not flag noise. A line is material if it clears **either** bar:

- **Relative:** moved more than **15%** against trailing actuals
- **Absolute:** moved more than **2%** of the department's total request

Below both, carry it forward without comment unless it fails test 3 (a
guardrail breach is material at any size, because it is a breach of an
agreement rather than a variance).

Cap the challenge list at **eight lines**. If more than eight qualify, the
submission is a send-back and the list becomes the reason. State the cap
whenever you apply it.

---

## Padding — grew with no explanation

The signature: **test 1 fail + test 2 fail**, in the upward direction.

Detection:
- Line grew past the materiality bar against trailing actuals
- No assumption, driver, or note attached
- Especially where the same owner's other lines *do* carry assumptions — the
  selective absence of a reason is itself a signal

Treat these as questions, not accusations. The owner may have a perfectly good
reason they simply did not write down; the ask is for the reason, not a cut.

> Events & sponsorships — $38K last year, $60K requested, +58%, no assumption
> attached, and $15K above the $45K cap. What does the extra buy?

## Gaps — costs that quietly vanished

The mirror image, and the one most reviews miss.

Detection:
- A line present in trailing actuals with **no** corresponding submitted line
- No note explaining the removal
- **Exclude genuine one-time costs** — a migration or severance line that
  correctly does not repeat is the process working. Check the one-time
  vocabulary before flagging: implementation, migration, severance,
  settlement, rebrand, rollout, transition.

An unexplained gap is a cost that will reappear in Q2 as an emergency.

> Content & production — $96K last year, absent from the submission, with no
> note. Was this cut deliberately, or has it moved somewhere else?

## Peer inconsistency

Only run this test when you have comparable submissions. Compare the same line
across departments as a **percentage of departmental total**, never in absolute
dollars — a $340K tools line is normal for a 28-person sales team and absurd
for a 5-person one.

Flag when a line sits more than **2×** the peer median share. Say which
departments you compared against; an unstated comparison set is not a finding.

---

## Verdicts

Apply these thresholds. Do not improvise a fourth category.

**Accept** — nothing material fails, or the only failures are gaps the owner
already explained. The submission goes into consolidation as-is.

**Accept with questions** — the total is within guardrail and the failures are
individually answerable. You consolidate now and resolve the questions in
parallel. This is the most common verdict and should be.

**Send back** — any of:
- Department total is over guardrail by **more than 5%** with no stated plan to
  close it
- More than eight material lines fail
- A single unexplained line exceeds 10% of the department's total request
- The submission has no assumptions attached anywhere

The 5% qualifier matters. A submission landing 1–2% over guardrail is a
conversation, not a rejection — and it is frequently closed by the answer to a
single question on the challenge list. Sending it back costs the owner a cycle
and costs you the goodwill you will need in November. Over guardrail is only
structural when the number is too far out for questions to close it.

Send-back is expensive — it costs the owner a cycle and costs you goodwill.
Use it when the submission genuinely cannot be consolidated, not when it is
merely annoying.

---

## What this rubric will not tell you

It tests whether a number is **explained**, not whether it is **right**.
A well-documented assumption can still be optimistic — sales forecasting 40%
pipeline growth on flat headcount will pass every test here, because it is
grounded, stated, within guardrail and consistent with peers.

Catching that takes someone who remembers what they forecast last year. Say so
in the output rather than implying the rubric caught everything.

Related skills