IntermediateAgent Skill

Procurement Optimizer

Run procurement spend analysis to understand where money goes and where purchasing gets delayed. Give your assistant spend lines, supplier records and purchase-order dates; this Skill uses Python tools to organize categories, inspect cycle-time bottlenecks and propose supplier consolidation options while keeping concentration and continuity risks in view.

Views
0
Copies
0
Favorites
0
Editorial Score
82/100
01

What this Skill does

Procurement optimization involves both economics and operating reliability. This Skill separates category-level spend, purchasing-cycle delays and supplier concentration, so a potential saving can be discussed alongside the practical cost of changing suppliers or processes.

Use it before a procurement review, renewal discussion or consolidation project. The tools analyze supplied exports and produce recommendations for the team to validate. They do not update an ERP, negotiate terms or establish that an estimated saving can actually be achieved.

02

What makes it different

01

Approach and advantage

Three tools separate spend categorization, purchasing delays and consolidation opportunities. That makes it easier to distinguish a high-cost category from a slow approval process and assign the right kind of follow-up to each issue.

02

What you can use it for

Supplier criticality, renewal dates and contingency plans provide context for consolidation suggestions. Use that information to compare potential savings with concentration risk before reducing the number of suppliers or changing an important source.

03

Before you install

Inputs to prepare

Spend line items, supplier records, purchase-order dates, renewal dates, criticality, and contingency plans.

Agent and runtime

Use a Skill-capable agent with file access. Python 3 is required for the bundled Python helpers; inspect their sample schemas before supplying data.

Scope to confirm

Recommendations are based on supplied exports. No ERP writeback or negotiation is performed, and estimated savings need validation.

04

Install and get started

Copy this request into Codex or Claude Code. The assistant downloads the original repository at the specified commit, installs the complete files and checks required dependencies.

  1. Open Codex or Claude Code with local file and terminal access.
  2. Copy the request below into the app you are using. The assistant will select that app’s installation directory.
  3. Check the returned path and file checks. Start a new session if needed, then ask the assistant to use the installed Skill.
Install procurement-optimizer in the app I am using and carry out the file installation, not just explain it. Original repository: https://github.com/alirezarezvani/claude-skills.git Commit: 6d2f02ea077eead1bee5411a31bcc6db5a11a70c Skill folder: business-operations/skills/procurement-optimizer 1. Download this exact source into a new directory. Read SKILL.md and its setup references before running any bundled scripts. Do not substitute another author’s package. 2. For Codex, use ~/.agents/skills/procurement-optimizer; for Claude Code, use ~/.claude/skills/procurement-optimizer. Install only for my current app. Install the complete Skill folder, including scripts, references, assets and bundled notices. Keep any root license with the installed folder. Check all destination folders first; if any already exist, report differences before replacing them. 3. Compare the source and installed file lists and hashes. Inspect documented runtimes, dependencies and required connections. Configure only the local dependencies needed for this Skill; use an isolated environment when appropriate. Ask me to complete any account login locally, without putting credentials in chat. 4. Report the source commit, actual installation path, file-check results and any remaining runtime setup. Explain how to invoke procurement-optimizer in this app. Check discovery separately from file copying; start a new session if needed. Do not run production tasks or claim a successful business outcome from installation alone.
05

Original Skill.md

This is the unchanged source SKILL.md for the reviewed version. Install the complete package to retain referenced scripts, assets, and instructions. Starter prompts below are EcomAgentTools examples.

---
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".
license: MIT
metadata:
  version: 2.8.0
  author: claude-code-skills
  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.
- 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

```bash
# 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.
06

Get started

Starter prompts for the main use cases—copy and use them directly.

01

Find overlapping software spend categories

Find overlapping software spend categories Use for: Find overlapping software spend categories. Prepare: Spend line items, supplier records, purchase-order dates, renewal dates, criticality, and contingency plans.

Show prompt and variablesHide prompt and variables
Use the installed procurement-optimizer Skill. Task: Find overlapping software spend categories. Inputs: [INPUT]. Constraints: [CONSTRAINTS]. Check missing information first. Produce a reviewable result with evidence, assumptions, and next steps. Recommendations are based on supplied exports. No ERP writeback or negotiation is performed, and estimated savings need validation.

Replace these variables

[INPUT]
Spend line items, supplier records, purchase-order dates, renewal dates, criticality, and contingency plans.
[CONSTRAINTS]
Scope, allowed actions, output format, and review requirements.
02

Identify delays in the purchase approval cycle

Identify delays in the purchase approval cycle Use for: Identify delays in the purchase approval cycle. Prepare: Spend line items, supplier records, purchase-order dates, renewal dates, criticality, and contingency plans.

Show prompt and variablesHide prompt and variables
Use the installed procurement-optimizer Skill. Task: Identify delays in the purchase approval cycle. Inputs: [INPUT]. Constraints: [CONSTRAINTS]. Check missing information first. Produce a reviewable result with evidence, assumptions, and next steps. Recommendations are based on supplied exports. No ERP writeback or negotiation is performed, and estimated savings need validation.

Replace these variables

[INPUT]
Spend line items, supplier records, purchase-order dates, renewal dates, criticality, and contingency plans.
[CONSTRAINTS]
Scope, allowed actions, output format, and review requirements.
03

Compare supplier consolidation with continuity risk

Compare supplier consolidation with continuity risk Use for: Compare supplier consolidation with continuity risk. Prepare: Spend line items, supplier records, purchase-order dates, renewal dates, criticality, and contingency plans.

Show prompt and variablesHide prompt and variables
Use the installed procurement-optimizer Skill. Task: Compare supplier consolidation with continuity risk. Inputs: [INPUT]. Constraints: [CONSTRAINTS]. Check missing information first. Produce a reviewable result with evidence, assumptions, and next steps. Recommendations are based on supplied exports. No ERP writeback or negotiation is performed, and estimated savings need validation.

Replace these variables

[INPUT]
Spend line items, supplier records, purchase-order dates, renewal dates, criticality, and contingency plans.
[CONSTRAINTS]
Scope, allowed actions, output format, and review requirements.
07

Worked example: Find worthwhile consolidation in annual purchasing data

Ten fictional suppliers provide annual spend, purchasing cycle times, contracts and migration costs. The merchant wants fewer redundant tools without losing critical backup services for superficial savings.

Steps and prompt

  1. Prepare the attached business materials, preserving amounts, units, dates and metric definitions.
  2. Review our software and supplier spend before renewals. Categorize spend, compare growth, locate approval delays and evaluate consolidation choices. Calculate first-year net savings after migration and implementation costs, then recommend a renewal plan with dependencies, acceptance criteria and exit actions.
  3. Submit the exact prompt below. Read the primary deliverable on the right and download all deliverables for the team handoff.

Case input files: business-inputs.zip

Use the procurement-optimizer Skill.

Review our software and supplier spend before renewals. Categorize spend, compare growth, locate approval delays and evaluate consolidation choices. Calculate first-year net savings after migration and implementation costs, then recommend a renewal plan with dependencies, acceptance criteria and exit actions.

The attached business materials are:
- inputs/categorized.json
- inputs/consolidation.json
- inputs/cycle.json
- inputs/intake.md

Deliver a complete result.md report that the operations team can read, plus any finished files needed for this task. Keep supporting calculations and evidence with the deliverables. Write the report in English; use the requested target language for customer-facing copy. The business datasets are fictional examples unless the brief explicitly names a live public website.

What the run produced

The primary file produced by this prompt is shown below in its original language.

HarborMug procurement and renewal decision

All business amounts, suppliers, dates and management statements are synthetic. USD annual spend compares 2026 with 2025; scope is indirect purchasing, excluding product materials and finished goods.

Recommended decision

Prepare to consolidate email marketing onto HarborMail A, subject to the acceptance gates below. Exit HarborMail B and C before their March 2027 renewals only after those gates pass. This produces $18,000 recurring annual savings and $16,000 first-year net savings after $2,000 of combined migration and implementation costs. Annual recurring spend falls from $100,000 to $82,000; first-year spend including transition costs is $84,000. These are modeled savings for a full post-renewal year, not savings already achieved or a calendar-2027 forecast.

Keep both monitoring suppliers: do not consolidate tier-1 monitoring without documented contingency coverage. Retain HarborCompute while addressing its existing sole-source cloud exposure. Defer expense-platform consolidation because the modeled benefit is small. Renew legal and advertising subject to scope and budget review. Alex owns decisions, new SaaS approvals and quarterly renewal reviews; Mia owns migration training and support escalation to Alex.

HarborMail A is the operationally conservative survivor, preserving the most embedded platform and a tier-2 service. It is not the cheapest alternative: retaining C models $23,000 first-year net savings, $7,000 more than A. Alex should review that alternative before committing to A; select C only if it passes the same operational gates and its tier-3 designation is reconciled with the role currently served by tier-2 tools. The base plan below budgets A, with no assumed savings from the alternatives.

Spend, concentration and growth

Total spend rose $31,000, from $69,000 to $100,000 (+44.9%). Classifications use the purchased service and category hint, checked against the Skill's simplified UNSPSC-aligned hierarchy; these are descriptive classes, not certified official commodity codes.

ClassFamily → Segment20252026IncreaseYoYShare of 2026
Email Marketing PlatformMarTech → Marketing$24,000$36,000$12,00050%36%
AWSCloud Infrastructure → Information Technology$10,000$15,000$5,00050%15%
Outside CounselLegal → Professional Services$5,000$10,000$5,000100%10%
Expense / Spend ManagementSoftware → Information Technology$6,000$9,000$3,00050%9%
Monitoring / ObservabilitySoftware → Information Technology$12,000$15,000$3,00025%15%
Paid MediaAdvertising → Marketing$12,000$15,000$3,00025%15%

Email contributes 38.7% of the total dollar increase; cloud and legal each contribute 16.1%. Together they explain 71.0% of growth. Management attributes these to duplicate email tools, increased cloud capacity and more contract reviews; these explanations are supplied assertions, not independently established causes. Expense, monitoring and paid media tie for the remaining growth positions; there is no unique fourth or fifth category. Legal leads percentage growth at 100%, while email leads dollar growth.

The portfolio does not exhibit an 80/20 spend split. The generated report selects one of six classes as its rounded-down “top 20%”: email covers 36% of spend. Email plus monitoring, cloud and paid media reach 81% across four of six categories. Concentrate savings work on email, but retain oversight of those other major categories.

Finance's supplied channel split implies $90,000 through POs, $10,000 through corporate cards and no reimbursements. Unapproved subscriptions equal $3,000, or 3% of total spend and 30% of card spend, already included in the $100,000. No transaction-level channel tags identify which suppliers make up that amount. Reconcile the card subscription list before claiming recoverable savings; do not add $3,000 to consolidation savings. Only HarborBooks B is individually below $5,000 ($3,000); this ledger does not establish a broad many-supplier small-spend cluster. Alex must check duplicate function and ownership for every net-new SaaS request, including those below $5,000.

Approval delays and the constraint

Calendar days are used. Each category has two observations. P90 uses linear interpolation and is descriptive with such a small sample.

CategoryRequest→approval medianApproval→PO medianRequest→PO median / P90PO→payment median / P90Median hopsDecision
Outside Counsel29130 / 3430 / 304Bottleneck
AWS617 / 7.830 / 302Next longest; below threshold
Monitoring / Observability516 / 6.830 / 302Below threshold
Expense / Spend Management415 / 5.830 / 301Below threshold
Email Marketing Platform314 / 4.830 / 301Below threshold

The median of category request-to-PO medians is 6 days. Only outside counsel exceeds the strict greater-than-12-day bottleneck threshold; there are not three demonstrated bottlenecks. Its approval stage takes 29 of 30 median days (96.7%), with four approval hops. The event dates locate the delay before approval but do not identify which approver or review queue caused it. Paid Media has no cycle records.

Apply the Theory of Constraints sequence to outside counsel first: Alex should capture queue owner, receipt and completion times for each approval, require a complete scope-and-budget intake, and run legal and budget reviews in parallel where permitted. Preserve necessary legal review. Proposed acceptance targets for the next five comparable requests are median request-to-PO ≤12 days, P90 ≤15 days, approval-to-PO ≤1 day, no skipped required reviews and no overdue renewal decision caused by approval routing. These are targets, not measured improvements. If missed, inspect the longest approval queue before changing other categories. The uniform 30-day PO-to-payment interval does not establish an AP bottleneck or late payments; contractual due dates are absent.

Consolidation economics and choices

First-year net savings = current cluster annual spend − retained annual spend − one-time migration and implementation cost. The supplied switching estimates include training, data migration and integration changes. They are used as combined implementation costs, avoiding double counting. No separate setup fee, overlap cost, termination charge or revised capacity quote is supplied. Any additional cost or uplift reduces net savings dollar for dollar and must be priced before commitment.

Cluster / survivorCurrentRetained annualGross annual savingsOne-time costFirst-year netRecommendation
Email / HarborMail A$36,000$18,000$18,000$2,000$16,000Base plan, gated
Email / HarborMail B$36,000$12,000$24,000$7,000$17,000Alternative; only $1,000 more net than A
Email / HarborMail C$36,000$6,000$30,000$7,000$23,000Economic leader; conditional capacity and criticality review
Expense / HarborBooks A$9,000$6,000$3,000$500$2,500Defer
Expense / HarborBooks B$9,000$3,000$6,000$2,000$4,000Defer; higher disruption and still small benefit
Monitoring / HarborWatch A$15,000$9,000$6,000$2,000$4,000Blocked; no contingency
Monitoring / HarborWatch B$15,000$6,000$9,000$5,000$4,000Blocked; no contingency

These are three duplicate-function opportunities, with seven survivor scenarios, not seven additive opportunities. There are no fourth or fifth supported clusters. Legal, cloud and advertising have one supplier each.

The Skill proposes A for email because it has eight integrations, compared with B's two and C's one. Keeping A requires moving three source-tool integrations; replacing it requires revalidating its eight integrations as well. Function substitution and unchanged survivor quotes are management assumptions. Switching estimates already include integration rework, so integration counts do not justify inventing an extra cost against B or C. The reason to prefer A is lower transition complexity and preserved criticality, with an explicit $7,000 opportunity cost against C. If Alex confirms C can support the consolidated service at the stated price and validates the $7,000 transition estimate, C becomes the preferred economic choice; its recurring portfolio spend would be $70,000 and first-year total $77,000. Do not execute the A and C plans together.

Under the A plan, email transition cost pays back in about 1.3 months of realized gross savings ($2,000 ÷ $18,000 × 12), ignoring cash timing. An additional $6,000 of implementation, overlap or annual price uplift reduces first-year net to $10,000; $16,000 of additional costs eliminates it. Proposed approval gate: preserve at least $10,000 net first-year savings and confirm a fully priced transition before canceling anything. A negative first-year result requires reapproval rather than being presented as savings.

Expense consolidation offers at most $4,000 net under the supplied scenarios. It remains below the Skill's stated $10,000 materiality threshold and lacks a confirmed functional-substitution statement. Revisit at the next quarterly review if administrative savings or risk reduction can be evidenced; none is monetized here. Monitoring's $4,000 is excluded from the base plan regardless of survivor.

Tier-1 protection before exits

HarborWatch A and B are both tier-1, with no documented break-glass plans. Keep both until coverage is documented for the entire cluster and a test demonstrates recovery within 72 hours. Two suppliers do not by themselves prove independent failover: validate coverage overlap, independent credentials and alert delivery. The generated plan's candidate offboard names do not authorize a monitoring cancellation.

HarborCompute is already a single tier-1 cloud supplier, with ten integrations and no contingency plan. It is not detected as a duplicate cluster. Renew for continuity while Alex assigns a technical recovery owner and documents a fallback; do not treat its $15,000 switching estimate as a funded alternative or a saving.

For monitoring and cloud, the required contingency record must name an authorized alternate service or recovery arrangement, accountable operator, access method, export/backup location, restoration priorities, recovery time and data-loss limits, fallback contractual access and activation cost. Proposed milestones: 0–4 hours declare and triage; 4–24 hours restore essential telemetry or workloads from a verified export/backup; 24–72 hours activate the alternate and validate critical alerts or order-related services. Demonstrate these steps in a witnessed test, record failures and retest. No current technical plan or completed drill is evidenced for these suppliers.

Renewal plan, dependencies and acceptance

All 10 of 10 contracts, $100,000 of annual spend, renew March 1–10, 2027. Email alone also meets the category cluster rule: three contracts in March totaling $36,000. No other category has three renewals. This is the complete supplied ledger. The concentration creates workload and negotiation pressure; it does not prove that leverage is literally zero.

Notice periods, auto-renew terms, cancellation penalties and transfer rights are not supplied. Alex must read all ten contracts immediately and record the actual notice dates; any earlier contractual deadline overrides the planning dates below. No cancellation has been sent and no contract has been changed.

SupplierRenewalAnnual spendPlanned action
HarborMail AMar 1, 2027$18,000Renew as base survivor after quote and acceptance gates
HarborMail BMar 2, 2027$12,000Non-renew after accepted A migration and valid notice
HarborMail CMar 3, 2027$6,000Non-renew after accepted A migration and valid notice
HarborBooks AMar 4, 2027$6,000Renew; consolidation deferred
HarborBooks BMar 5, 2027$3,000Renew; consolidation deferred
HarborWatch AMar 6, 2027$9,000Retain continuity; no consolidation exit
HarborWatch BMar 7, 2027$6,000Retain continuity; no consolidation exit
HarborLegalMar 8, 2027$10,000Renew after scope, budget and approval-route review
HarborComputeMar 9, 2027$15,000Renew continuity; prioritize cloud contingency
HarborAdsMar 10, 2027$15,000Renew after scope and budget review; no modeled cut
Timing / ownerCompleted decision requiredAcceptance / fallback
Immediately / AlexContract and card review; establish notice deadlines, named service owners and total transition quotesAll ten contracts have verified notice terms and decision owners; $3,000 unapproved amount reconciled to subscriptions without assuming all can be removed
By Dec 1, 2026, or earlier notice cutoff / Alex with MiaChoose email survivor after comparing A, B and C; approve funding and implementation scopeDocument capability parity, criticality suitability, capacity price, all integrations and ≥$10,000 modeled net; if no survivor passes, retain current service and seek a priced short extension
By Jan 15, 2027, or earlier notice cutoff / Mia, approved by AlexFinish migration rehearsal, exports and training; obtain contingency coverage for proposed tier-1 changesEmail gates below pass; no tier-1 exit without cluster-wide documented plan and recovery test
Before earliest contractual non-renewal cutoff / AlexExecute accepted email non-renewals; negotiate the remaining renewalsWritten receipt of notices, confirmed service end dates and reviewed final invoices; if migration has failed, secure continuity terms before notice cutoff
At renewal and first invoice / Alex and finance reviewerVerify survivor price, avoided invoices and one-time expensesReconcile actual costs to model, flag slippage, and confirm no duplicate renewal charge
Quarterly / Alex; training support from MiaReview rolling 120-day renewal pipeline, tier-1/2 risk, new SaaS and card exceptionsEach due contract has a decision before its notice deadline; annually reassess tier-3 categories

For email acceptance, Mia must reconcile exported and imported contact, suppression, unsubscribe and consent records with zero unexplained differences; verify active automations, templates, segments and retention settings; run test sends for marketing and any existing order notifications; and validate every documented integration with its owner. Alex must sign off on required workflows and capacity pricing, and Mia must complete operator training and retain a usable rollback export. No production cutover is evidenced by this review. If acceptance fails, stop the cutover, restore the prior configuration from the retained export and keep source service available under agreed terms; recalculate savings for the overlap or extension.

To reduce future concentration, ask for staggered terms without assuming vendor agreement or savings: target email in March 2028, cloud in June 2028, legal in September 2028 and advertising in December 2028, with expense and monitoring scheduled into other months and monitoring renewals separated. These targets may require 15-, 18- or 21-month terms from March 2027. Alex must compare total commitment, notice rights and annualized cost before acceptance; do not buy longer terms solely to spread dates. March 2027 obligations remain until amended in writing.

Exit actions and proof of savings

For each accepted email exit, Alex must obtain non-renewal acknowledgment, confirm the final service date and settle the final invoice. Mia must export and validate business records before deletion, preserve records subject to retention requirements, remove source-tool automations and integrations, revoke API tokens and user/SSO access, rotate shared credentials where relevant, and obtain deletion confirmation for data no longer required. Alex closes the supplier record only after confirming no active recurring charge. Retain rollback access until the accepted cutover is stable; deletion follows that decision, not the initial migration rehearsal.

Finance should verify the first survivor invoice and absence of B/C renewal charges, reconcile actual transition costs against $2,000 and report realized savings separately from modeled annual savings. If any cancellation misses its deadline, revise the first-year model for the actual avoidable period and extension cost; the full $16,000 cannot be claimed automatically.

Evidence and calculation notes

The three supplied JSON datasets are preserved in evidence/. Management assumptions from intake are summarized above: scaleup profile, USD annual basis, stated growth explanations, email substitutability, unchanged survivor quotes, inclusive switching costs, channel shares and Alex/Mia ownership. No external market benchmark or supplier quote was used.

spend_categories.md, cycle_scorecard.md and consolidation_plan.md are the original Skill-generated analyses. Read their generic recommendations subject to this report's decisions: in particular, a candidate “Offboard” entry is not permission to cancel a blocked or deferred supplier.

category_calculations.csv, cycle_calculations.csv, consolidation_choices.csv, renewal_register.csv and summary.json provide inspectable calculations and renewal records. calculate.py regenerates the supporting calculations from the evidence snapshots. verification.md records input checks and consequential differences between the Skill's documented safeguards and its implementation; the stricter safeguards govern this plan.

The decision-changing gaps are unverified contract notice/exit terms, unpriced costs beyond the supplied inclusive estimates, survivor capacity and operational acceptance, and missing monitoring/cloud recovery plans. Customer-facing copy is not required for this internal procurement decision.

Merchant business data is synthetic. Website observations, when present, come from the public URLs listed in the report.

08

Risks and operating notes

Known limits

Recommendations are based on supplied exports. No ERP writeback or negotiation is performed, and estimated savings need validation.

Evidence and review

Source and package files reviewed: GitHub 6d2f02ea077e. This is a static review, not an installation or business-outcome test.

Before acting on the result

Use authorized inputs and keep secrets out of prompts. Review customer-facing claims, calculations, code changes, and any proposed external action before applying them.

Frequently asked questions

What does it do, and what is the advantage?

Categorize spend, inspect purchasing delays, and propose risk-aware supplier consolidation. Three Python tools separate category economics, purchasing-cycle bottlenecks, and supplier concentration.

How do I install it and start?

Choose the method for your agent and install the complete package, not just the displayed SKILL.md. Spend line items, supplier records, purchase-order dates, renewal dates, criticality, and contingency plans. Start a new agent session and explicitly ask to use procurement-optimizer. Try one use case below with a small sample and review the output.

Which situations is it useful for?

Find overlapping software spend categories; Identify delays in the purchase approval cycle; Compare supplier consolidation with continuity risk

What limitations should I know?

Recommendations are based on supplied exports. No ERP writeback or negotiation is performed, and estimated savings need validation.

What was checked for this page?

Source and package files reviewed: GitHub 6d2f02ea077e. This is a static review, not an installation or business-outcome test.

No reviews yet.

Leave a review

Rate every dimension, then share your real experience.

Task effectiveness
Setup and ease of use
Reliability and guardrails
Documentation clarity
Time to first useful result
Author / maintainer

Alireza Rezvani

Source and package files reviewed: GitHub 6d2f02ea077e. This is a static review, not an installation or business-outcome test.