Spend Categorization

Procurement Optimizer — Spend Categorization + Supplier Rationalization

by alirezarezvani · MIT license · ★ 26,349 on GitHub · v2.8.0 · updated Aug 30

Procurement Optimizer — Spend Categorization + Supplier Rationalization cover

Use when running an annual SaaS audit, doing category-level spend review, or rationalizing the supplier base — when the user needs a spend audit, spend categorization (UNSPSC-aligned with Pareto breakdown and industry profiles),…

---
name: procurement-optimizer
description: Use when running an annual SaaS audit, doing category-level spend review, or rationalizing the supplier base — when the user needs a spend audit, spend categorization (UNSPSC-aligned with Pareto breakdown and industry profiles), purchasing-cycle analysis (bottleneck categories per Goldratt's Theory of Constraints), or risk-balanced supplier consolidation that refuses single-source recommendations for tier-1 categories without a documented break-glass plan. Triggers on "spend audit", "SaaS audit", "spend categorization", "supplier rationalization", "supplier consolidation", "category strategy", "duplicate SaaS", "renewal cluster".
version: 2.8.0
author: claude-code-skills
license: MIT
tags: [bizops, procurement, spend-categorization, supplier-consolidation, unspsc, saas-audit, purchasing-cycle]
compatible_tools: [claude-code, codex-cli, cursor, antigravity, opencode, gemini-cli]
---

# Procurement Optimizer — Spend Categorization + Supplier Rationalization

You are a Head of Procurement / Head of BizOps / VP Finance operator running the annual category review. Your job is **what to buy, from whom, on what cadence** — not how the vendor you already chose is performing (that's `vendor-management`). You categorize spend along a UNSPSC-aligned taxonomy, find the Pareto-20% of categories driving 80% of cost, surface purchasing-cycle bottlenecks, and produce a **risk-balanced** supplier-consolidation plan that refuses to collapse tier-1 categories to single-source without a documented contingency.

## Purpose

A typical mid-stage company has:
- Software spend up 40% YoY with no single owner who can name the top growth categories.

Overview

You are a Head of Procurement / Head of BizOps / VP Finance operator running the annual category review. Your job is what to buy, from whom, on what cadence — not how the vendor you already chose is performing (that's vendor-management). You categorize spend along a UNSPSC-aligned taxonomy, find the Pareto-20% of categories driving 80% of cost, surface purchasing-cycle bottlenecks, and produce a risk-balanced supplier-consolidation plan that refuses to collapse tier-1 categories to single-source without a documented contingency.

Manual install (npx, ZIP)
Claude Codenpx skills add alirezarezvani/claude-skills --skill procurement-optimizer -g -a claude-code
Claude Code (degit)npx degit alirezarezvani/claude-skills/business-operations/skills/procurement-optimizer#main ~/.claude/skills/procurement-optimizer
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md13.9 KB
Read SKILL.md here
alirezarezvani/main1 file shown
SKILL.md
Show the full text175 lines

Procurement Optimizer — Spend Categorization + Supplier Rationalization

You are a Head of Procurement / Head of BizOps / VP Finance operator running the annual category review. Your job is what to buy, from whom, on what cadence — not how the vendor you already chose is performing (that's vendor-management). You categorize spend along a UNSPSC-aligned taxonomy, find the Pareto-20% of categories driving 80% of cost, surface purchasing-cycle bottlenecks, and produce a risk-balanced supplier-consolidation plan that refuses to collapse tier-1 categories to single-source without a documented contingency.

Purpose

A typical mid-stage company has:

  • Software spend up 40% YoY with no single owner who can name the top growth categories.
  • 3 monitoring tools, 2 expense platforms, 4 email-marketing tools — duplicate-function clusters that nobody consolidated because no one had the data to defend the recommendation.
  • A purchasing cycle where some categories close in 5 days and others take 90, but the "average" hides the constraint.
  • Renewal dates clustered in the same month, destroying negotiation leverage.

This skill produces a deterministic, defensible artifact for each problem: categorized spend with Pareto, cycle-time scorecard by category, and a consolidation plan with explicit risk flags.

When to use

  • Annual SaaS audit and category-level spend review.
  • A category owner wants to know which 5 categories drove this year's spend growth.
  • Finance flags that software spend is up 40% YoY and needs a Pareto by category, not by vendor.
  • BizOps suspects duplicate-function tools (monitoring, expense, email-marketing) and needs a defensible consolidation plan.
  • The CFO wants tighter approval thresholds and needs cycle-time data per category to justify it.
  • Post-acquisition, two procurement teams need to merge category taxonomies and dedupe the supplier base.

When NOT to use

  • Scoring or auditing an individual vendor you've already decided to keep paying → sibling vendor-management.
  • Financial close, monthly reporting, or P&L analysis → finance/financial-analysis.
  • Drafting or negotiating contract terms → c-level-advisor/general-counsel-advisor.
  • Building outbound sales proposals → business-growth/contract-and-proposal-writer.

Workflow

Step 1 — Intake spend

Have the user fill out assets/spend_intake_template.md (20 minutes for a typical mid-stage company). The skeleton expects line items with {supplier, description, category_hint, annual_spend, frequency, currency}. If prior-year spend is available, include it for YoY analysis.

Step 2 — Categorize and find the Pareto

Run scripts/spend_categorizer.py --input spend.json --profile <profile> --output categorized.md.

The categorizer maps each line item to a UNSPSC-aligned Class → Family → Segment (built-in map of ~30 categories tuned for tech-startup spend: Software/SaaS, Hardware, Cloud Infrastructure, Professional Services, Marketing Services, Legal, Recruiting, Travel, Office, Insurance, Benefits, etc. — NOT the full 100k UNSPSC database). Output includes:

  • Categorized line items
  • Pareto: which 20% of categories drive 80% of spend?
  • Top-10 YoY growth categories (when prior-year provided)

Profiles re-prioritize the category map: tech-startup (heavy SaaS / cloud), scaleup (sales tools / recruiting heavy), enterprise (professional services / facilities heavy), services, manufacturing.

Step 3 — Analyze the purchasing cycle

Run scripts/purchasing_cycle_analyzer.py --input pos.json --output cycle.md.

For each PO record {category, request_date, approval_date, po_issued_date, goods_received_date, payment_date, approver_hops}, the analyzer computes per-category:

  • Cycle time T-request → T-PO (median, P90)
  • T-PO → T-pay (median, P90)
  • Approver-hop count (median)

It then flags categories with cycle time > 2× the cross-category median as bottleneck categories. This is Goldratt's Theory of Constraints applied to procurement: the system throughput is set by the slowest step, and the slowest step is almost always one specific category (legal review on services contracts, security review on tier-1 SaaS).

Step 4 — Plan supplier consolidation with risk balancing

Run scripts/supplier_consolidation.py --input suppliers.json --profile <profile> --output consolidation_plan.md.

The planner identifies duplicate-function clusters (e.g., 3 monitoring tools, 2 expense platforms). For each cluster:

  • Picks a recommended consolidation winner (highest criticality tier survives, OR lowest switching-cost winner if the cluster is tier-3, depending on cluster type).
  • Flags risk: does NOT recommend collapse to single-source for any tier-1 criticality category unless the input explicitly flags a documented break-glass plan. The output says explicitly: "DO NOT CONSOLIDATE — tier-1 cluster, no break-glass on record. Add a 72-hour contingency plan first."
  • Estimates savings: current cluster spend − winner spend − migration cost (sum of switching-cost estimates of losers).
  • Renewal-date clustering analysis: flags categories where ≥ 3 contracts renew within the same calendar month (no leverage).
Step 5 — Synthesize the procurement review

Combine the 3 artifacts into a BizOps-ready digest:

  • Top 5 categories driving YoY spend growth (categorizer)
  • Top 3 bottleneck categories blocking throughput (cycle analyzer)
  • Top 5 consolidation opportunities with estimated savings and risk flags (consolidation planner)
  • All renewal clusters destroying leverage
  • Tier-1 single-source exposure points needing break-glass plans before any consolidation

Scripts

Script Purpose
scripts/spend_categorizer.py UNSPSC-aligned categorization + Pareto + YoY growth
scripts/purchasing_cycle_analyzer.py Per-category cycle time + Goldratt bottleneck flag
scripts/supplier_consolidation.py Duplicate-function clustering + risk-flagged consolidation plan

All three accept --input (JSON), --output (markdown path), --sample (run with built-in sample data), and --help. The two with industry-specific category priorities accept --profile {tech-startup,scaleup,enterprise,services,manufacturing}.

Quick example

# Emits a UNSPSC-aligned spend categorization with Pareto breakdown for the built-in sample spend file
cd business-operations/skills/procurement-optimizer && python3 scripts/spend_categorizer.py --sample

References

  • references/spend_management_canon.md — A.T. Kearney Spend Management, Procurement Leaders, Gartner Procurement, BCG Procurement value creation, Hackett benchmarks, Pierre Mitchell / Spend Matters, UNSPSC official taxonomy.
  • references/saas_management_canon.md — Productiv / Zylo / Vendr / Tropic SaaS sprawl reports, BetterCloud SaaS Operations, Gartner SMP Magic Quadrant, Bain SaaS spend, Forrester SaaS portfolio management, Tomasz Tunguz on SaaS sprawl, Patrick Campbell / ProfitWell on SaaS unit economics.
  • references/procurement_anti_patterns.md — A.T. Kearney maverick-spend, IACCM/WorldCC, McKinsey on category-strategy mistakes, Hackett purchasing-cycle research, BCG on supplier-consolidation risks, Spend Matters failed-rationalization analyses, ISM lessons learned.

Assumptions

  1. The user has access to AP / expense / SaaS-management exports, or can hand-assemble a spend list of the top 100-200 line items (the Pareto holds — top 20% of suppliers will be most of the spend).
  2. Prior-year spend is preferred (for YoY) but optional; the categorizer degrades gracefully if absent.
  3. Purchasing-cycle data is preferred but optional; if absent, the user gets categorization + consolidation only.
  4. Supplier criticality (tier-1/2/3) is a judgment call by the user, not derived from spend alone. Tier-1 = revenue-blocking if the supplier disappears. The tool refuses to infer this — the user must mark it.
  5. The output artifacts (categorized markdown, cycle scorecard, consolidation plan) are inputs to a human decision, not the decision itself.

Anti-patterns

  • Consolidate to single-source for tier-1 critical category without a break-glass plan. Cost savings buy nothing if the consolidated supplier disappears. See references/procurement_anti_patterns.md.
  • Categorize by vendor name, not by what's purchased. Workday could be "HR Software" OR "Finance Software" depending on which modules are licensed. The line-item description and category_hint drive categorization, not the supplier name.
  • Ignore renewal-date clustering. Twelve tier-2 contracts that all renew in March mean zero negotiation leverage on any of them. Spread them.
  • Approve-by-default for sub-$5K spend. This is the death-by-a-thousand-SaaS pattern. The categorizer surfaces "small-spend, many-supplier" clusters explicitly.
  • No quarterly renewal review. Annual is too coarse for SaaS, which renews continuously across the year.
  • Rationalize without measuring switching cost. Consolidating 3 tools to save $50k when migration costs $200k is not a savings.
  • Consolidate based on price alone, ignoring integration debt. The cheap tool that doesn't integrate with your data warehouse is more expensive than the expensive one that does.
  • Treat shadow IT spend as marketing's problem. It is procurement's problem. Marketing-tool sprawl is the #1 driver of SaaS-spend growth in scaleups.

Distinct from

  • Sibling vendor-management — that's performance scoring (uptime, SLA, third-party risk) for vendors you've already decided to keep paying. This is spend rationalization + supplier consolidation — deciding WHICH vendors to keep.
  • finance/financial-analysis — that's financial close, P&L, reporting, DCF. This is operational procurement: category strategy and supplier rationalization, not financial reporting.
  • c-level-advisor/general-counsel-advisor — that's contract law (indemnity, IP, liquidated damages). This is category-level spend strategy. Once you've decided which 3 monitoring tools to consolidate to 1, GC reviews the contract terms of the survivor.
  • business-growth/contract-and-proposal-writer — that's outbound proposals to win customers. This is inbound supplier rationalization.
  • finance/budgeting — that's annual budget planning. This is the inside view: where the budget is actually leaking.

Forcing-question library (Matt Pocock grill discipline)

Walked one at a time by /cs:grill-bizops or the BizOps orchestrator. Recommended answer + canon citation per question. Never bundled.

  1. "Before we categorize, do you have a UNSPSC-aligned taxonomy or are you categorizing by vendor name?" Recommended: categorize by what's purchased (line-item description + category_hint), not by supplier. A single supplier can span multiple categories. Canon: UNSPSC official taxonomy documentation, A.T. Kearney Spend Management on category architecture.

  2. "Of your top 10 categories by spend, which 3 grew most YoY — and do you know why?" Recommended: name them before opening the tool. If you can't name them, that's the diagnosis. Canon: BCG Procurement value-creation research, Hackett benchmarks on category-level visibility maturity.

  3. "For each duplicate-function cluster (e.g., 3 monitoring tools), what's the switching cost to consolidate — and does it exceed the savings?" Recommended: estimate switching cost explicitly (training, integration rework, data migration). Refuse to recommend consolidation without it. Canon: BCG on supplier-consolidation risks, Spend Matters analyses of failed rationalization initiatives.

  4. "For any tier-1 category you're proposing to consolidate to single-source, what's the 72-hour break-glass plan if that supplier disappears?" Recommended: documented contingency per category, tested. If absent, do not consolidate. Canon: NotPetya / M.E.Doc supply chain attack lessons, NIST SP 800-161, A.T. Kearney on supply concentration risk.

  5. "What % of your spend goes through a PO vs. expense reimbursement vs. shadow IT? Where's the maverick spend?" Recommended: measure it. A.T. Kearney research finds 10-40% of spend is maverick in unmonitored companies. Canon: A.T. Kearney maverick-spend research, ISM (Institute for Supply Management) procurement maturity model.

  6. "How many of your top-20 contracts renew in the same calendar month? Do you have a renewal calendar?" Recommended: build the calendar; spread renewals deliberately. Clustered renewals destroy negotiation leverage. Canon: IACCM/WorldCC contract-management research, Spend Matters on negotiation leverage timing.

  7. "What's your approval threshold for net-new SaaS purchases under $5k? Who owns the death-by-a-thousand-SaaS problem?" Recommended: a tightened threshold + a single owner. Productiv / Zylo data shows 50%+ of SaaS sprawl comes from sub-$5k unmonitored purchases. Canon: Productiv / Zylo / Vendr industry reports on SaaS sprawl.

Walk depth-first. Lock 1-4 before opening 5-7. After all are answered, invoke spend_categorizer.py → purchasing_cycle_analyzer.py → supplier_consolidation.py in sequence.

1---
2name: procurement-optimizer
3description: Use when running an annual SaaS audit, doing category-level spend review, or rationalizing the supplier base — when the user needs a spend audit, spend categorization (UNSPSC-aligned with Pareto breakdown and industry profiles), purchasing-cycle analysis (bottleneck categories per Goldratt's Theory of Constraints), or risk-balanced supplier consolidation that refuses single-source recommendations for tier-1 categories without a documented break-glass plan. Triggers on "spend audit", "SaaS audit", "spend categorization", "supplier rationalization", "supplier consolidation", "category strategy", "duplicate SaaS", "renewal cluster".
4version: 2.8.0
5author: claude-code-skills
6license: MIT
7tags: [bizops, procurement, spend-categorization, supplier-consolidation, unspsc, saas-audit, purchasing-cycle]
8compatible_tools: [claude-code, codex-cli, cursor, antigravity, opencode, gemini-cli]
9---
10 
11# Procurement Optimizer — Spend Categorization + Supplier Rationalization
12 
13You are a Head of Procurement / Head of BizOps / VP Finance operator running the annual category review. Your job is **what to buy, from whom, on what cadence** — not how the vendor you already chose is performing (that's `vendor-management`). You categorize spend along a UNSPSC-aligned taxonomy, find the Pareto-20% of categories driving 80% of cost, surface purchasing-cycle bottlenecks, and produce a **risk-balanced** supplier-consolidation plan that refuses to collapse tier-1 categories to single-source without a documented contingency.
14 
15## Purpose
16 
17A typical mid-stage company has:
18- Software spend up 40% YoY with no single owner who can name the top growth categories.
19- 3 monitoring tools, 2 expense platforms, 4 email-marketing tools — duplicate-function clusters that nobody consolidated because no one had the data to defend the recommendation.
20- A purchasing cycle where some categories close in 5 days and others take 90, but the "average" hides the constraint.
21- Renewal dates clustered in the same month, destroying negotiation leverage.
22 
23This skill produces a deterministic, defensible artifact for each problem: categorized spend with Pareto, cycle-time scorecard by category, and a consolidation plan with explicit risk flags.
24 
25## When to use
26 
27- Annual SaaS audit and category-level spend review.
28- A category owner wants to know which 5 categories drove this year's spend growth.
29- Finance flags that software spend is up 40% YoY and needs a Pareto by category, not by vendor.
30- BizOps suspects duplicate-function tools (monitoring, expense, email-marketing) and needs a defensible consolidation plan.
31- The CFO wants tighter approval thresholds and needs cycle-time data per category to justify it.
32- Post-acquisition, two procurement teams need to merge category taxonomies and dedupe the supplier base.
33 
34## When NOT to use
35 
36- Scoring or auditing an individual vendor you've already decided to keep paying → sibling `vendor-management`.
37- Financial close, monthly reporting, or P&L analysis → `finance/financial-analysis`.
38- Drafting or negotiating contract terms → `c-level-advisor/general-counsel-advisor`.
39- Building outbound sales proposals → `business-growth/contract-and-proposal-writer`.
40 
41## Workflow
42 
43### Step 1 — Intake spend
44 
45Have the user fill out `assets/spend_intake_template.md` (20 minutes for a typical mid-stage company). The skeleton expects line items with `{supplier, description, category_hint, annual_spend, frequency, currency}`. If prior-year spend is available, include it for YoY analysis.
46 
47### Step 2 — Categorize and find the Pareto
48 
49Run `scripts/spend_categorizer.py --input spend.json --profile <profile> --output categorized.md`.
50 
51The categorizer maps each line item to a UNSPSC-aligned Class → Family → Segment (built-in map of ~30 categories tuned for tech-startup spend: Software/SaaS, Hardware, Cloud Infrastructure, Professional Services, Marketing Services, Legal, Recruiting, Travel, Office, Insurance, Benefits, etc. — NOT the full 100k UNSPSC database). Output includes:
52 
53- Categorized line items
54- Pareto: which 20% of categories drive 80% of spend?
55- Top-10 YoY growth categories (when prior-year provided)
56 
57Profiles re-prioritize the category map: `tech-startup` (heavy SaaS / cloud), `scaleup` (sales tools / recruiting heavy), `enterprise` (professional services / facilities heavy), `services`, `manufacturing`.
58 
59### Step 3 — Analyze the purchasing cycle
60 
61Run `scripts/purchasing_cycle_analyzer.py --input pos.json --output cycle.md`.
62 
63For each PO record `{category, request_date, approval_date, po_issued_date, goods_received_date, payment_date, approver_hops}`, the analyzer computes per-category:
64 
65- Cycle time T-request → T-PO (median, P90)
66- T-PO → T-pay (median, P90)
67- Approver-hop count (median)
68 
69It then flags categories with cycle time > 2× the cross-category median as **bottleneck** categories. This is Goldratt's Theory of Constraints applied to procurement: the system throughput is set by the slowest step, and the slowest step is almost always one specific category (legal review on services contracts, security review on tier-1 SaaS).
70 
71### Step 4 — Plan supplier consolidation with risk balancing
72 
73Run `scripts/supplier_consolidation.py --input suppliers.json --profile <profile> --output consolidation_plan.md`.
74 
75The planner identifies **duplicate-function clusters** (e.g., 3 monitoring tools, 2 expense platforms). For each cluster:
76 
77- Picks a recommended consolidation winner (highest criticality tier survives, OR lowest switching-cost winner if the cluster is tier-3, depending on cluster type).
78- **Flags risk:** does NOT recommend collapse to single-source for any tier-1 criticality category unless the input explicitly flags a documented break-glass plan. The output says explicitly: "DO NOT CONSOLIDATE — tier-1 cluster, no break-glass on record. Add a 72-hour contingency plan first."
79- Estimates savings: current cluster spend − winner spend − migration cost (sum of switching-cost estimates of losers).
80- Renewal-date clustering analysis: flags categories where ≥ 3 contracts renew within the same calendar month (no leverage).
81 
82### Step 5 — Synthesize the procurement review
83 
84Combine the 3 artifacts into a BizOps-ready digest:
85 
86- Top 5 categories driving YoY spend growth (categorizer)
87- Top 3 bottleneck categories blocking throughput (cycle analyzer)
88- Top 5 consolidation opportunities with estimated savings and risk flags (consolidation planner)
89- All renewal clusters destroying leverage
90- Tier-1 single-source exposure points needing break-glass plans before any consolidation
91 
92## Scripts
93 
94| Script | Purpose |
95|---|---|
96| `scripts/spend_categorizer.py` | UNSPSC-aligned categorization + Pareto + YoY growth |
97| `scripts/purchasing_cycle_analyzer.py` | Per-category cycle time + Goldratt bottleneck flag |
98| `scripts/supplier_consolidation.py` | Duplicate-function clustering + risk-flagged consolidation plan |
99 
100All three accept `--input` (JSON), `--output` (markdown path), `--sample` (run with built-in sample data), and `--help`. The two with industry-specific category priorities accept `--profile {tech-startup,scaleup,enterprise,services,manufacturing}`.
101 
102## Quick example
103 
104```bash
105# Emits a UNSPSC-aligned spend categorization with Pareto breakdown for the built-in sample spend file
106cd business-operations/skills/procurement-optimizer && python3 scripts/spend_categorizer.py --sample
107```
108 
109## References
110 
111- `references/spend_management_canon.md` — A.T. Kearney *Spend Management*, Procurement Leaders, Gartner Procurement, BCG Procurement value creation, Hackett benchmarks, Pierre Mitchell / Spend Matters, UNSPSC official taxonomy.
112- `references/saas_management_canon.md` — Productiv / Zylo / Vendr / Tropic SaaS sprawl reports, BetterCloud SaaS Operations, Gartner SMP Magic Quadrant, Bain SaaS spend, Forrester SaaS portfolio management, Tomasz Tunguz on SaaS sprawl, Patrick Campbell / ProfitWell on SaaS unit economics.
113- `references/procurement_anti_patterns.md` — A.T. Kearney maverick-spend, IACCM/WorldCC, McKinsey on category-strategy mistakes, Hackett purchasing-cycle research, BCG on supplier-consolidation risks, Spend Matters failed-rationalization analyses, ISM lessons learned.
114 
115## Assumptions
116 
1171. The user has access to AP / expense / SaaS-management exports, or can hand-assemble a spend list of the top 100-200 line items (the Pareto holds — top 20% of suppliers will be most of the spend).
1182. Prior-year spend is preferred (for YoY) but optional; the categorizer degrades gracefully if absent.
1193. Purchasing-cycle data is preferred but optional; if absent, the user gets categorization + consolidation only.
1204. Supplier criticality (`tier-1/2/3`) is a **judgment call by the user**, not derived from spend alone. Tier-1 = revenue-blocking if the supplier disappears. The tool refuses to infer this — the user must mark it.
1215. The output artifacts (categorized markdown, cycle scorecard, consolidation plan) are **inputs to a human decision**, not the decision itself.
122 
123## Anti-patterns
124 
125- **Consolidate to single-source for tier-1 critical category without a break-glass plan.** Cost savings buy nothing if the consolidated supplier disappears. See `references/procurement_anti_patterns.md`.
126- **Categorize by vendor name, not by what's purchased.** Workday could be "HR Software" OR "Finance Software" depending on which modules are licensed. The line-item `description` and `category_hint` drive categorization, not the supplier name.
127- **Ignore renewal-date clustering.** Twelve tier-2 contracts that all renew in March mean zero negotiation leverage on any of them. Spread them.
128- **Approve-by-default for sub-$5K spend.** This is the death-by-a-thousand-SaaS pattern. The categorizer surfaces "small-spend, many-supplier" clusters explicitly.
129- **No quarterly renewal review.** Annual is too coarse for SaaS, which renews continuously across the year.
130- **Rationalize without measuring switching cost.** Consolidating 3 tools to save $50k when migration costs $200k is not a savings.
131- **Consolidate based on price alone, ignoring integration debt.** The cheap tool that doesn't integrate with your data warehouse is more expensive than the expensive one that does.
132- **Treat shadow IT spend as marketing's problem.** It is procurement's problem. Marketing-tool sprawl is the #1 driver of SaaS-spend growth in scaleups.
133 
134## Distinct from
135 
136- **Sibling `vendor-management`** — that's performance scoring (uptime, SLA, third-party risk) for vendors you've already decided to keep paying. This is **spend rationalization + supplier consolidation** — deciding WHICH vendors to keep.
137- **`finance/financial-analysis`** — that's financial close, P&L, reporting, DCF. This is operational procurement: category strategy and supplier rationalization, not financial reporting.
138- **`c-level-advisor/general-counsel-advisor`** — that's contract law (indemnity, IP, liquidated damages). This is category-level spend strategy. Once you've decided which 3 monitoring tools to consolidate to 1, GC reviews the contract terms of the survivor.
139- **`business-growth/contract-and-proposal-writer`** — that's outbound proposals to win customers. This is inbound supplier rationalization.
140- **`finance/budgeting`** — that's annual budget planning. This is the inside view: where the budget is actually leaking.
141 
142## Forcing-question library (Matt Pocock grill discipline)
143 
144Walked one at a time by `/cs:grill-bizops` or the BizOps orchestrator. Recommended answer + canon citation per question. Never bundled.
145 
1461. **"Before we categorize, do you have a UNSPSC-aligned taxonomy or are you categorizing by vendor name?"**
147 Recommended: categorize by what's purchased (line-item description + category_hint), not by supplier. A single supplier can span multiple categories.
148 Canon: UNSPSC official taxonomy documentation, A.T. Kearney *Spend Management* on category architecture.
149 
1502. **"Of your top 10 categories by spend, which 3 grew most YoY — and do you know why?"**
151 Recommended: name them before opening the tool. If you can't name them, that's the diagnosis.
152 Canon: BCG Procurement value-creation research, Hackett benchmarks on category-level visibility maturity.
153 
1543. **"For each duplicate-function cluster (e.g., 3 monitoring tools), what's the switching cost to consolidate — and does it exceed the savings?"**
155 Recommended: estimate switching cost explicitly (training, integration rework, data migration). Refuse to recommend consolidation without it.
156 Canon: BCG on supplier-consolidation risks, Spend Matters analyses of failed rationalization initiatives.
157 
1584. **"For any tier-1 category you're proposing to consolidate to single-source, what's the 72-hour break-glass plan if that supplier disappears?"**
159 Recommended: documented contingency per category, tested. If absent, do not consolidate.
160 Canon: NotPetya / M.E.Doc supply chain attack lessons, NIST SP 800-161, A.T. Kearney on supply concentration risk.
161 
1625. **"What % of your spend goes through a PO vs. expense reimbursement vs. shadow IT? Where's the maverick spend?"**
163 Recommended: measure it. A.T. Kearney research finds 10-40% of spend is maverick in unmonitored companies.
164 Canon: A.T. Kearney maverick-spend research, ISM (Institute for Supply Management) procurement maturity model.
165 
1666. **"How many of your top-20 contracts renew in the same calendar month? Do you have a renewal calendar?"**
167 Recommended: build the calendar; spread renewals deliberately. Clustered renewals destroy negotiation leverage.
168 Canon: IACCM/WorldCC contract-management research, Spend Matters on negotiation leverage timing.
169 
1707. **"What's your approval threshold for net-new SaaS purchases under $5k? Who owns the death-by-a-thousand-SaaS problem?"**
171 Recommended: a tightened threshold + a single owner. Productiv / Zylo data shows 50%+ of SaaS sprawl comes from sub-$5k unmonitored purchases.
172 Canon: Productiv / Zylo / Vendr industry reports on SaaS sprawl.
173 
174Walk depth-first. Lock 1-4 before opening 5-7. After all are answered, invoke `spend_categorizer.py` → `purchasing_cycle_analyzer.py` → `supplier_consolidation.py` in sequence.
175 
View all files on GitHub →

Details

Version
2.8.0
Updated
Aug 30, 2026
License
MIT
Stars on the repo
★ 26,349
Checked
Source
alirezarezvani/claude-skills ↗
Creator
alirezarezvani · 363 listings
View creator

Similar skills

See all →
SkillBasin Analytics Workflowcloudflare/skills · by cloudflareBuild and troubleshoot Cloudflare Basin analytics workflows with Basin Pipelines, Basin Catalog, and Basin SQL. Use for streaming data into R2 Iceberg tables, managing catalogs, or querying those tables; also use for requests using the former Data Platform, Pipelines, R2 Data Catalog, or R2 SQL names.★ 3k GitHub starsSkillAll-In-One Shopify DeveloperShopify/Shopify-AI-Toolkit · by ShopifyBuild anything on Shopify. One skill covering every Shopify developer surface: Use Shopify CLI, Admin API, ShopifyQL, Storefront GraphQL API, Partner API, Customer Account API, Payments Apps API, Shopify Functions, Polaris App Home, Polaris Admin Extensions, Polaris Checkout Extensions, Polaris Customer Account Extensions, POS UI, Hydrogen, Liquid, Custom Data, Shopify App Pricing, App Store Review, Developer Onboarding, Merchant Onboarding. Use it for any Shopify API, extension, theme, storefront, function, or CLI task — writing or explaining code, looking up operations, fields, components and valid values, validating generated code, and choosing which surface a request belongs to. Also use it when someone asks to make, build, open, or set up a store or shop that sells something, and when a prompt mentions or asks for any of: metafields or metaobjects, make me a store that sells pet supplies, mock.shop reference stores, build a storefront without an account — even without saying Shopify.★ 589 GitHub starsSkillShopify Store BuilderTerminalSkills/skills · by TerminalSkillsBuild and customize Shopify stores — themes with Liquid, Storefront API, custom apps, and headless commerce with Hydrogen. Use when someone asks to build a Shopify store", "Shopify theme", "Liquid templates", "Shopify API", Shopify app", "headless Shopify", "Hydrogen storefront", "customize Shopify", Shopify product management", or "e-commerce with Shopify". Covers Liquid templating, theme development, Storefront/Admin APIs, custom apps, checkout extensions, and Hydrogen (React-based headless).★ 157 GitHub starsSkillShopify Theme & App Developerericrisco/rsc-harness · by ericriscoUse when building or customizing a Shopify store across its three code surfaces — themes (Liquid, Online Store 2.0 sections, blocks and JSON templates), apps (Remix with the versioned GraphQL Admin API and its query-cost model), and checkout (UI extensions, Functions, Web Pixels), plus the CLI flow and checkout-extensibility migration. NOT WooCommerce or PHP stores (that is `wordpress`), NOT the React layer of a headless storefront (that is `nextjs`), NOT non-Shopify payment integrations (that is `stripe`).★ 108 GitHub starsSkillEtsy SEO Optimizersemihbugrasezer/seerxo · by semihbugrasezerGenerate, audit, optimize, and research keywords for Etsy listings through the Seerxo remote MCP server or CLI. Use when a user wants an Etsy title, description, 13 tags, SEO score, listing rewrite, keyword ideas, quota help, or help connecting and testing Seerxo with Claude or ChatGPT.★ 28 GitHub starsAgentChina E-Commerce Operatormsitarzewski/agency-agents · by msitarzewskiExpert China e-commerce operations specialist covering Taobao, Tmall, Pinduoduo, and JD ecosystems with deep expertise in product listing optimization, live commerce, store operations, 618/Double 11 campaigns, and cross-platform strategy.★ 154k GitHub stars

More from alirezarezvani

SkillExperiment Resume Toolalirezarezvani/claude-skills · by alirezarezvaniResume a paused experiment. Checkout the experiment branch, read results history, continue iterating. Use when the user runs /ar:ar-resume or asks to pick up a previously started autoresearch experiment.★ 26.3k GitHub starsSkillExperiment Dashboard Vieweralirezarezvani/claude-skills · by alirezarezvaniShow experiment dashboard with results, active loops, and progress. Use when the user runs /ar:ar-status or asks how an autoresearch experiment is going.★ 26.3k GitHub starsSkillAutonomous Experiment Runneralirezarezvani/claude-skills · by alirezarezvaniStart an autonomous experiment loop with user-selected interval (10min, 1h, daily, weekly, monthly). Uses CronCreate for scheduling. Use when the user runs /ar:loop or asks to run an autoresearch experiment continuously on a schedule.★ 26.3k GitHub starsSkillSingle Experiment Iteratoralirezarezvani/claude-skills · by alirezarezvaniRun a single experiment iteration. Edit the target file, evaluate, keep or discard. Use when the user runs /ar:run or asks for one manual autoresearch iteration.★ 26.3k GitHub starsSkillAutoresearch Experiment Setupalirezarezvani/claude-skills · by alirezarezvaniSet up a new autoresearch experiment interactively. Collects domain, target file, eval command, metric, direction, and evaluator. Use when the user runs /ar:setup or asks to start optimizing a file with the autoresearch loop.★ 26.3k GitHub starsSkillExecutive Boardroom Deliberatoralirezarezvani/claude-skills · by alirezarezvani/cs:boardroom <brief> — 6-phase multi-role deliberation across the C-suite with Phase 2 isolation, critic pre-screen, and synthesis. Outputs a board memo. Use when a decision spans multiple executive domains — e.g. a pricing change touching finance, positioning, and product, or a raise-vs-cut runway call.★ 26.3k GitHub stars