Performs annual SaaS and spend audits by categorizing expenses using UNSPSC-aligned taxonomies, identifying Pareto-driven cost centers, analyzing purchasing cycle bottlenecks, and generating risk-balanced supplier consolidation plans.
Say it in your own words; the assistant finds this recipe by itself. Examples:
Use this skill when conducting an annual review of software or total spend to identify duplicate tools and cost drivers. It is ideal for rationalizing the supplier base, analyzing purchasing cycle times to find bottlenecks, or creating a defensible consolidation strategy that accounts for single-source risks.
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.
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.
vendor-management.finance/financial-analysis.c-level-advisor/general-counsel-advisor.business-growth/contract-and-proposal-writer.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.
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:
Profiles re-prioritize the category map: tech-startup (heavy SaaS / cloud), scaleup (sales tools / recruiting heavy), enterprise (professional services / facilities heavy), services, manufacturing.
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:
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).
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:
Combine the 3 artifacts into a BizOps-ready digest:
| 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}.
# 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/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.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.references/procurement_anti_patterns.md.description and category_hint drive categorization, not the supplier name.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.Walked one at a time by /cs-grill-bizops or the BizOps orchestrator. Recommended answer + canon citation per question. Never bundled.
"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.
"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.
"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.
"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.
"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.
"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.
"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.
LICENSESKILL.mdassets/spend_intake_template.mdreferences/procurement_anti_patterns.mdreferences/saas_management_canon.mdreferences/spend_management_canon.mdscripts/purchasing_cycle_analyzer.pyscripts/spend_categorizer.pyscripts/supplier_consolidation.pyVendored from alirezarezvani/claude-skills, commit 27cfcd0fb0a4, path business-operations/skills/procurement-optimizer, licence MIT. The upstream licence file ships inside the skill.