Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Write the purchase request that gets approved — the cost-of-not-buying framing, the ROI math at the approver's altitude, the alternatives-considered section that preempts the obvious pushback, and the right-sized ask for the approval tier. Use when asked justify this tool/hire/equipment purchase, write the budget request, my requests keep getting deferred, or make the business case for this spend. Produces the justification memo: the problem priced, the ROI shown, alternatives dispatched, and th
.claude/skills/mohitagw15856-purchase-justification/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | -1% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 101% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 62% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 78% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 102% | 0% |
Purchase requests die of vagueness, not price: "we need this tool, it's $8k" gives the approver nothing to weigh, so deferral — the polite no — wins by default. The justification that works is the proposal-skeleton specialized for spend: the problem priced first (what not-buying costs, in the approver's currency — hours, risk, revenue), the ROI math honest and conservative (one inflated payback poisons the requester's every future ask), the alternatives-considered section dispatching the obvious pushbacks ("can't we use what we have?") before they're raised, and the ask sized to its approval tier — because a $4,800 pilot approved this week beats a $50k platform deferred to next fiscal year.
Ask for these if not provided:
The status-quo cost in the approver's currency, conservative, shown]
What, TCO over the term · payback math with labeled assumptions · the even-at-half sentence]
| Option | Covers | Fails | Cost | |---|---|---|---| Do-nothing (priced) · the cheaper path (steelmanned) · the ask]
Amount, vendor, date · pilot-sized if crossing tiers · the reversibility line · appendix pointer]
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 27,505 | 26,267 | -5% | 1 | 1 | 0% | 4,010 | 4,174 | +4% | 0 | 0 | — |
case-02 | fail→pass | 40,216 | 27,599 | -31% | 1 | 1 | 0% | 5,295 | 5,253 | -1% | 0 | 0 | — |
case-03 | fail→fail | 26,681 | 40,519 | +52% | 1 | 1 | 0% | 3,674 | 4,205 | +14% | 0 | 0 | — |
case-04 | pass→pass | 25,053 | 26,502 | +6% | 1 | 1 | 0% | 2,778 | 4,322 | +56% | 0 | 0 | — |
case-05 | fail→fail | 23,611 | 23,238 | -2% | 1 | 1 | 0% | 2,561 | 3,981 | +55% | 0 | 0 | — |
case-06 | fail→pass | 16,649 | 14,731 | -12% | 1 | 1 | 0% | 1,764 | 3,554 | +101% | 0 | 0 | — |
case-07 | fail→fail | 14,251 | 24,049 | +69% | 1 | 1 | 0% | 2,237 | 4,346 | +94% | 0 | 0 | — |
case-08 | fail→fail | 23,854 | 18,997 | -20% | 1 | 1 | 0% | 2,389 | 3,348 | +40% | 0 | 0 | — |
case-09 | fail→fail | 10,569 | 16,548 | +57% | 1 | 1 | 0% | 1,460 | 2,739 | +88% | 0 | 0 | — |
case-10 | fail→fail | 24,382 | 19,883 | -18% | 1 | 1 | 0% | 2,161 | 4,409 | +104% | 0 | 0 | — |
case-11 | fail→fail | 14,520 | 18,876 | +30% | 1 | 1 | 0% | 2,022 | 3,763 | +86% | 0 | 0 | — |
case-12 | fail→fail | 13,550 | 23,825 | +76% | 1 | 1 | 0% | 1,742 | 2,848 | +63% | 0 | 0 | — |
case-13 | fail→pass | 21,322 | 18,961 | -11% | 1 | 1 | 0% | 2,344 | 3,790 | +62% | 0 | 0 | — |
case-14 | fail→fail | 15,555 | 22,710 | +46% | 1 | 1 | 0% | 2,278 | 4,610 | +102% | 0 | 0 | — |
case-15 | fail→pass | 17,614 | 18,921 | +7% | 1 | 1 | 0% | 2,440 | 4,335 | +78% | 0 | 0 | — |
case-16 | fail→fail | 12,254 | 16,325 | +33% | 1 | 1 | 0% | 1,842 | 4,024 | +118% | 0 | 0 | — |
case-17 | fail→fail | 12,712 | 13,590 | +7% | 1 | 1 | 0% | 2,174 | 3,382 | +56% | 0 | 0 | — |
case-18 | pass→pass | 19,573 | 21,513 | +10% | 1 | 1 | 0% | 2,463 | 3,992 | +62% | 0 | 0 | — |
case-19 | fail→pass | 15,122 | 20,197 | +34% | 1 | 1 | 0% | 1,903 | 3,853 | +102% | 0 | 0 | — |
case-20 | pass→pass | 19,166 | 13,022 | -32% | 1 | 1 | 0% | 2,512 | 3,790 | +51% | 0 | 0 | — |
case-21 | pass→pass | 16,308 | 24,549 | +51% | 1 | 1 | 0% | 3,018 | 5,441 | +80% | 0 | 0 | — |
case-22 | pass→pass | 48,122 | 30,655 | -36% | 1 | 1 | 0% | 3,917 | 6,380 | +63% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +23 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.