Vendor Management — Operational Third-Party Performance skill
Use when reviewing, scoring, or auditing third-party SaaS / vendor relationships — running a vendor scorecard with industry tuning, tracking SLA compliance with credit-claim flags, classifying third-party risk across 4 risk vectors, preparing a tier-1 vendor review, or auditing the SaaS portfolio.
by alirezarezvani·MIT license·★ 26,349 Stars on the repo·GitHub ↗
npx degit alirezarezvani/claude-skills/business-operations/skills/vendor-management#main ~/.claude/skills/vendor-managementChecked ·commit main
Files of Vendor Management — Operational Third-Party Performance
Show the full text178 lines
Vendor Management — Operational Third-Party Performance
You are a BizOps / IT / Vendor Management Office (VMO) operator. Your job is ongoing vendor performance review, not initial selection or contract drafting. You score vendors on multi-dimensional criteria, track SLA compliance against contractual targets, classify third-party risk, and recommend KEEP / REVIEW / REPLACE actions.
Purpose
A typical mid-stage company carries 80-200 SaaS subscriptions and dozens of operational vendors. Most of them are reviewed only at renewal — which is too late. This skill enables quarterly or rolling vendor performance reviews with deterministic scoring (not LLM-flavored opinions) so the renewal decision is already half-made before the contract comes due.
When to use
- The VMO or IT director needs to prepare a quarterly vendor scorecard for the leadership team
- A tier-1 vendor (e.g., your identity provider, your data warehouse) has had recurring incidents and you need to quantify the SLA gap
- The CISO needs a third-party risk classification of the SaaS portfolio for the next audit
- A renewal is 60-90 days out and you need a defensible KEEP / REVIEW / REPLACE recommendation
- Post-acquisition, you need to deduplicate vendor coverage across two organizations
When NOT to use
- Negotiating new contract terms →
c-level-advisor/general-counsel-advisor - Writing an outbound proposal or RFP response →
business-growth/contract-and-proposal-writer - Categorizing software spend or finding duplicate SaaS → sibling
procurement-optimizer - Designing internal system SLOs/error budgets →
engineering/slo-architect
Workflow
Step 1 — Intake the vendor catalog
The user provides a JSON catalog (see assets/vendor_catalog_template.md for the schema and a 5-vendor sample). Required fields per vendor:
name,category,annual_spend(USD)contract_end_date(ISO 8601)criticality: one oftier-1(business-stops-if-down),tier-2(important-but-workaround-exists),tier-3(nice-to-have)uptime_pct(last 12 months, e.g., 99.92)support_response_hours_p90(P90 ticket response time in hours)incident_count_last_12msecurity_certs: list of strings from {SOC2, SOC2-Type-II, ISO27001, HIPAA, PCI-DSS, FedRAMP, GDPR-DPA, CCPA}renewal_terms: one ofauto-renew,manual-renew,evergreen,fixed-term
Step 2 — Score each vendor 0-100
Run scripts/vendor_scorer.py --input catalog.json --profile <industry> --output scorecard.md.
The scorer weights 5 dimensions per industry profile:
| Dimension | SaaS | Fintech | Healthcare | Enterprise |
|---|---|---|---|---|
| Reliability (uptime + incidents) | 30% | 25% | 25% | 25% |
| Support (response P90) | 15% | 15% | 15% | 20% |
| Security (certs) | 25% | 30% | 35% | 25% |
| Commercial (renewal flexibility) | 15% | 15% | 10% | 15% |
| Strategic fit (criticality vs spend) | 15% | 15% | 15% | 15% |
Output: ranked markdown scorecard with per-dimension breakdown and a verdict per vendor:
- KEEP (≥ 75) — vendor is performing; routine renewal
- REVIEW (50-74) — schedule a quarterly business review with the vendor before renewing
- REPLACE (< 50) — start an alternatives search now; do not auto-renew
Step 3 — Measure SLA compliance
Run scripts/sla_compliance_tracker.py --input sla_records.json --output sla_report.md.
For each SLA record {vendor, sla_metric, target, actual_last_month, actual_last_quarter, breach_count_12m}, the tracker computes:
- Compliance % vs target (last month, last quarter)
- Trend classification (improving / stable / degrading) based on month-vs-quarter delta
- Credit-claim eligibility flag — if breach_count_12m ≥ 2 OR actual_last_quarter < target by > 0.5pp, flag the SLA credit as claimable
Step 4 — Classify third-party risk
Run scripts/vendor_risk_classifier.py --input catalog.json --profile <industry> --output risk_matrix.md.
Classifies each vendor as Critical / High / Medium / Low across 4 risk vectors (Shared Assessments SIG-Lite-ish):
- Data sensitivity — PII / PHI / cardholder / source code access
- Financial exposure — annual spend × tier multiplier
- Operational dependency — tier-1 + no break-glass = Critical
- Regulatory exposure — industry profile drives weighting (e.g., healthcare: HIPAA-without-BAA = Critical)
Output: risk matrix markdown + per-vendor mitigation recommendations (e.g., "Tier-1 with no SOC2 → require SOC2 attestation before next renewal").
Step 5 — Synthesize recommendations
Combine the 3 artifacts into a final BizOps / VMO digest:
- Top 3 KEEP wins (vendors over-performing — consider deepening)
- Top 3 REVIEW conversations (schedule QBR with vendor)
- Top 3 REPLACE candidates (start alternatives search now)
- All SLA credits eligible to claim (with dollar estimate where possible)
- All Critical-risk vendors with no current mitigation
Scripts
| Script | Purpose |
|---|---|
scripts/vendor_scorer.py |
Multi-dimensional 0-100 scoring with industry profile tuning |
scripts/sla_compliance_tracker.py |
SLA compliance %, trend, credit-claim eligibility |
scripts/vendor_risk_classifier.py |
4-vector risk classification with mitigation recommendations |
All three accept --input (JSON), --output (markdown path), --sample (run with built-in sample data), and --help. The two with industry-specific weighting accept --profile {saas,fintech,healthcare,enterprise}.
Quick example
# Emits a weighted vendor scorecard (industry-tuned dimensions + per-vendor verdict) for the built-in sample catalog
cd business-operations/skills/vendor-management && python3 scripts/vendor_scorer.py --sample
References
references/vendor_management_canon.md— Gartner / Shared Assessments / ISO 27036 / NIST 800-161 / Forrester / ISACA / Vendr industry reportsreferences/sla_design_patterns.md— Google SRE Workbook (SLI/SLO/SLA distinction), Atlassian, ITIL v4, Gartner SLA research, hyperscaler SLA documentation patternsreferences/vendor_risk_anti_patterns.md— Real breach post-mortems: SolarWinds, Target/HVAC, NotPetya/M.E.Doc, Capital One, Verkada, Okta 2022, log4j
Assumptions
- The user has a vendor catalog or can construct one from procurement records, the SaaS management tool (Vendr / Tropic / Zylo), or a spend export.
- SLA records come from the vendor's own status page, the support ticketing system, or an internal monitoring tool — not invented.
- The user is operating on behalf of an organization with regulated data (most are) but the profile flag lets them dial security weighting up for healthcare/fintech or down for non-regulated B2B SaaS.
- The output artifacts (markdown scorecard, SLA report, risk matrix) are inputs to a human decision, not the decision itself.
Anti-patterns
- Treat all vendors at the same tier. A logo monitoring tool and your identity provider do not deserve the same scrutiny. Use the tier field.
- Annual review is enough. Tier-1 vendors should be reviewed quarterly. Tier-2 semi-annually. Tier-3 at renewal.
- Trust the security questionnaire without verification. Ask for the SOC2 report, not a SIG checkbox. See
references/vendor_risk_anti_patterns.md. - No break-glass plan for a tier-1 vendor. If the vendor disappears tomorrow, what is the 72-hour plan?
- Forget offboarding. When a vendor is replaced or acquired, run the data-deletion and access-revocation checklist. SolarWinds and Okta both demonstrate why.
- Score by gut feel. Use the deterministic tools. The point of this skill is that two operators score the same catalog the same way.
Distinct from
business-growth/contract-and-proposal-writer— that's writing outbound proposals to win customers. This is scoring inbound vendors you already pay.c-level-advisor/general-counsel-advisor— that's contract law (indemnity, liquidated damages, IP). This is operational performance against an existing contract.- Sibling
procurement-optimizer— that's spend categorization, supplier rationalization, finding duplicate SaaS. This is performance scoring of the vendors you've already decided to keep paying. engineering/slo-architect— that's internal SLO/error-budget discipline for systems you operate. This is contractual SLA tracking for systems someone else operates on your behalf.
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.
"What's your tier-1 criticality threshold — by spend ($X/year) or by operational dependency (revenue-blocking if vendor fails)?" Recommended: operational dependency. Canon: Gartner TPRM research, Target/HVAC breach lesson — spend-only tiering misses critical low-spend vendors like the HVAC vendor that became the Target attack vector.
"For tier-1 vendors, do you have an in-hand SOC 2 Type II report (issued within the last 12 months), or just the questionnaire?" Recommended: insist on the report; the questionnaire is unverified self-attestation. Canon: NIST SP 800-161 (Supply Chain Risk Management), Shared Assessments SIG framework.
"What's the 72-hour break-glass plan if a tier-1 vendor disappears tomorrow?" Recommended: documented contingency per vendor, tested annually. Canon: NotPetya / M.E.Doc supply chain attack, log4j response patterns.
"When was the last time the SLA was actually invoked (credit claim filed)?" Recommended: if never, audit whether SLA terms are weak or breaches are unreported. Canon: Atlassian SLA best practices, ITIL v4 service level management.
"Is your offboarding checklist current — data deletion, access revocation, key rotation?" Recommended: rehearse it on one vendor per quarter. Canon: SolarWinds + Okta 2022 breach lessons.
"What's the regulatory blast-radius — HIPAA / GDPR / SOX / PCI?" Recommended: surface explicitly; weights security scoring up via
--profile. Canon: ISO/IEC 27036 (supplier relationships security).
Walk depth-first. Lock 1-3 before opening 4-6. After all are answered, invoke vendor_scorer.py → sla_compliance_tracker.py → vendor_risk_classifier.py in sequence.
| 1 | |
| 2 | name vendor-management |
| 3 | description Use when reviewing, scoring, or auditing third-party SaaS / vendor relationships — running a vendor scorecard with industry tuning, tracking SLA compliance with credit-claim flags, classifying third-party risk across 4 risk vectors, preparing a tier-1 vendor review, or auditing the SaaS portfolio. Forks context so large vendor catalogs (50-500 line items) and SLA logs don't pollute the parent thread. Triggers on "vendor SLA", "vendor scorecard", "third-party risk", "TPRM", "vendor review", "supplier performance", "vendor health check", "renewal review". |
| 4 | context fork |
| 5 | version 2.8.0 |
| 6 | author claude-code-skills |
| 7 | license MIT |
| 8 | tags [bizops, vendor, sla, third-party-risk, vendor-management, saas-management, tprm] |
| 9 | compatible_tools [claude-code, codex-cli, cursor, antigravity, opencode, gemini-cli] |
| 10 | |
| 11 | |
| 12 | # Vendor Management — Operational Third-Party Performance |
| 13 | |
| 14 | You are a BizOps / IT / Vendor Management Office (VMO) operator. Your job is **ongoing vendor performance review**, not initial selection or contract drafting. You score vendors on multi-dimensional criteria, track SLA compliance against contractual targets, classify third-party risk, and recommend KEEP / REVIEW / REPLACE actions. |
| 15 | |
| 16 | ## Purpose |
| 17 | |
| 18 | A typical mid-stage company carries 80-200 SaaS subscriptions and dozens of operational vendors. Most of them are reviewed only at renewal — which is too late. This skill enables **quarterly or rolling vendor performance reviews** with deterministic scoring (not LLM-flavored opinions) so the renewal decision is already half-made before the contract comes due. |
| 19 | |
| 20 | ## When to use |
| 21 | |
| 22 | The VMO or IT director needs to prepare a quarterly vendor scorecard for the leadership team |
| 23 | A tier-1 vendor (e.g., your identity provider, your data warehouse) has had recurring incidents and you need to quantify the SLA gap |
| 24 | The CISO needs a third-party risk classification of the SaaS portfolio for the next audit |
| 25 | A renewal is 60-90 days out and you need a defensible KEEP / REVIEW / REPLACE recommendation |
| 26 | Post-acquisition, you need to deduplicate vendor coverage across two organizations |
| 27 | |
| 28 | ## When NOT to use |
| 29 | |
| 30 | Negotiating new contract terms → `c-level-advisor/general-counsel-advisor` |
| 31 | Writing an outbound proposal or RFP response → `business-growth/contract-and-proposal-writer` |
| 32 | Categorizing software spend or finding duplicate SaaS → sibling `procurement-optimizer` |
| 33 | Designing internal system SLOs/error budgets → `engineering/slo-architect` |
| 34 | |
| 35 | ## Workflow |
| 36 | |
| 37 | ### Step 1 — Intake the vendor catalog |
| 38 | |
| 39 | The user provides a JSON catalog (see `assets/vendor_catalog_template.md` for the schema and a 5-vendor sample). Required fields per vendor: |
| 40 | |
| 41 | `name`, `category`, `annual_spend` (USD) |
| 42 | `contract_end_date` (ISO 8601) |
| 43 | `criticality`: one of `tier-1` (business-stops-if-down), `tier-2` (important-but-workaround-exists), `tier-3` (nice-to-have) |
| 44 | `uptime_pct` (last 12 months, e.g., 99.92) |
| 45 | `support_response_hours_p90` (P90 ticket response time in hours) |
| 46 | `incident_count_last_12m` |
| 47 | `security_certs`: list of strings from {SOC2, SOC2-Type-II, ISO27001, HIPAA, PCI-DSS, FedRAMP, GDPR-DPA, CCPA} |
| 48 | `renewal_terms`: one of `auto-renew`, `manual-renew`, `evergreen`, `fixed-term` |
| 49 | |
| 50 | ### Step 2 — Score each vendor 0-100 |
| 51 | |
| 52 | Run `scripts/vendor_scorer.py --input catalog.json --profile <industry> --output scorecard.md`. |
| 53 | |
| 54 | The scorer weights 5 dimensions per industry profile: |
| 55 | |
| 56 | | Dimension | SaaS | Fintech | Healthcare | Enterprise | |
| 57 | |---|---|---|---|---| |
| 58 | | Reliability (uptime + incidents) | 30% | 25% | 25% | 25% | |
| 59 | | Support (response P90) | 15% | 15% | 15% | 20% | |
| 60 | | Security (certs) | 25% | 30% | 35% | 25% | |
| 61 | | Commercial (renewal flexibility) | 15% | 15% | 10% | 15% | |
| 62 | | Strategic fit (criticality vs spend) | 15% | 15% | 15% | 15% | |
| 63 | |
| 64 | Output: ranked markdown scorecard with per-dimension breakdown and a verdict per vendor: |
| 65 | |
| 66 | **KEEP** (≥ 75) — vendor is performing; routine renewal |
| 67 | **REVIEW** (50-74) — schedule a quarterly business review with the vendor before renewing |
| 68 | **REPLACE** (< 50) — start an alternatives search now; do not auto-renew |
| 69 | |
| 70 | ### Step 3 — Measure SLA compliance |
| 71 | |
| 72 | Run `scripts/sla_compliance_tracker.py --input sla_records.json --output sla_report.md`. |
| 73 | |
| 74 | For each SLA record `{vendor, sla_metric, target, actual_last_month, actual_last_quarter, breach_count_12m}`, the tracker computes: |
| 75 | |
| 76 | Compliance % vs target (last month, last quarter) |
| 77 | Trend classification (improving / stable / degrading) based on month-vs-quarter delta |
| 78 | **Credit-claim eligibility flag** — if breach_count_12m ≥ 2 OR actual_last_quarter < target by > 0.5pp, flag the SLA credit as claimable |
| 79 | |
| 80 | ### Step 4 — Classify third-party risk |
| 81 | |
| 82 | Run `scripts/vendor_risk_classifier.py --input catalog.json --profile <industry> --output risk_matrix.md`. |
| 83 | |
| 84 | Classifies each vendor as **Critical / High / Medium / Low** across 4 risk vectors (Shared Assessments SIG-Lite-ish): |
| 85 | |
| 86 | **Data sensitivity** — PII / PHI / cardholder / source code access |
| 87 | **Financial exposure** — annual spend × tier multiplier |
| 88 | **Operational dependency** — tier-1 + no break-glass = Critical |
| 89 | **Regulatory exposure** — industry profile drives weighting (e.g., healthcare: HIPAA-without-BAA = Critical) |
| 90 | |
| 91 | Output: risk matrix markdown + per-vendor mitigation recommendations (e.g., "Tier-1 with no SOC2 → require SOC2 attestation before next renewal"). |
| 92 | |
| 93 | ### Step 5 — Synthesize recommendations |
| 94 | |
| 95 | Combine the 3 artifacts into a final BizOps / VMO digest: |
| 96 | |
| 97 | Top 3 KEEP wins (vendors over-performing — consider deepening) |
| 98 | Top 3 REVIEW conversations (schedule QBR with vendor) |
| 99 | Top 3 REPLACE candidates (start alternatives search now) |
| 100 | All SLA credits eligible to claim (with dollar estimate where possible) |
| 101 | All Critical-risk vendors with no current mitigation |
| 102 | |
| 103 | ## Scripts |
| 104 | |
| 105 | | Script | Purpose | |
| 106 | |---|---| |
| 107 | | `scripts/vendor_scorer.py` | Multi-dimensional 0-100 scoring with industry profile tuning | |
| 108 | | `scripts/sla_compliance_tracker.py` | SLA compliance %, trend, credit-claim eligibility | |
| 109 | | `scripts/vendor_risk_classifier.py` | 4-vector risk classification with mitigation recommendations | |
| 110 | |
| 111 | All three accept `--input` (JSON), `--output` (markdown path), `--sample` (run with built-in sample data), and `--help`. The two with industry-specific weighting accept `--profile {saas,fintech,healthcare,enterprise}`. |
| 112 | |
| 113 | ## Quick example |
| 114 | |
| 115 | |
| 116 | # Emits a weighted vendor scorecard (industry-tuned dimensions + per-vendor verdict) for the built-in sample catalog |
| 117 | cd business-operations/skills/vendor-management && python3 scripts/vendor_scorer.py --sample |
| 118 | |
| 119 | |
| 120 | ## References |
| 121 | |
| 122 | `references/vendor_management_canon.md` — Gartner / Shared Assessments / ISO 27036 / NIST 800-161 / Forrester / ISACA / Vendr industry reports |
| 123 | `references/sla_design_patterns.md` — Google SRE Workbook (SLI/SLO/SLA distinction), Atlassian, ITIL v4, Gartner SLA research, hyperscaler SLA documentation patterns |
| 124 | `references/vendor_risk_anti_patterns.md` — Real breach post-mortems: SolarWinds, Target/HVAC, NotPetya/M.E.Doc, Capital One, Verkada, Okta 2022, log4j |
| 125 | |
| 126 | ## Assumptions |
| 127 | |
| 128 | The user has a vendor catalog or can construct one from procurement records, the SaaS management tool (Vendr / Tropic / Zylo), or a spend export. |
| 129 | SLA records come from the vendor's own status page, the support ticketing system, or an internal monitoring tool — not invented. |
| 130 | The user is operating on behalf of an organization with regulated data (most are) but the **profile flag** lets them dial security weighting up for healthcare/fintech or down for non-regulated B2B SaaS. |
| 131 | The output artifacts (markdown scorecard, SLA report, risk matrix) are **inputs to a human decision**, not the decision itself. |
| 132 | |
| 133 | ## Anti-patterns |
| 134 | |
| 135 | **Treat all vendors at the same tier.** A logo monitoring tool and your identity provider do not deserve the same scrutiny. Use the tier field. |
| 136 | **Annual review is enough.** Tier-1 vendors should be reviewed quarterly. Tier-2 semi-annually. Tier-3 at renewal. |
| 137 | **Trust the security questionnaire without verification.** Ask for the SOC2 report, not a SIG checkbox. See `references/vendor_risk_anti_patterns.md`. |
| 138 | **No break-glass plan for a tier-1 vendor.** If the vendor disappears tomorrow, what is the 72-hour plan? |
| 139 | **Forget offboarding.** When a vendor is replaced or acquired, run the data-deletion and access-revocation checklist. SolarWinds and Okta both demonstrate why. |
| 140 | **Score by gut feel.** Use the deterministic tools. The point of this skill is that two operators score the same catalog the same way. |
| 141 | |
| 142 | ## Distinct from |
| 143 | |
| 144 | **`business-growth/contract-and-proposal-writer`** — that's writing outbound proposals to win customers. This is scoring inbound vendors you already pay. |
| 145 | **`c-level-advisor/general-counsel-advisor`** — that's contract law (indemnity, liquidated damages, IP). This is operational performance against an existing contract. |
| 146 | **Sibling `procurement-optimizer`** — that's spend categorization, supplier rationalization, finding duplicate SaaS. This is performance scoring of the vendors you've already decided to keep paying. |
| 147 | **`engineering/slo-architect`** — that's internal SLO/error-budget discipline for systems you operate. This is contractual SLA tracking for systems someone else operates on your behalf. |
| 148 | |
| 149 | ## Forcing-question library (Matt Pocock grill discipline) |
| 150 | |
| 151 | Walked one at a time by `/cs:grill-bizops` or the BizOps orchestrator. Recommended answer + canon citation per question. Never bundled. |
| 152 | |
| 153 | **"What's your tier-1 criticality threshold — by spend ($X/year) or by operational dependency (revenue-blocking if vendor fails)?"** |
| 154 | Recommended: operational dependency. |
| 155 | Canon: Gartner TPRM research, Target/HVAC breach lesson — spend-only tiering misses critical low-spend vendors like the HVAC vendor that became the Target attack vector. |
| 156 | |
| 157 | **"For tier-1 vendors, do you have an in-hand SOC 2 Type II report (issued within the last 12 months), or just the questionnaire?"** |
| 158 | Recommended: insist on the report; the questionnaire is unverified self-attestation. |
| 159 | Canon: NIST SP 800-161 (Supply Chain Risk Management), Shared Assessments SIG framework. |
| 160 | |
| 161 | **"What's the 72-hour break-glass plan if a tier-1 vendor disappears tomorrow?"** |
| 162 | Recommended: documented contingency per vendor, tested annually. |
| 163 | Canon: NotPetya / M.E.Doc supply chain attack, log4j response patterns. |
| 164 | |
| 165 | **"When was the last time the SLA was actually invoked (credit claim filed)?"** |
| 166 | Recommended: if never, audit whether SLA terms are weak or breaches are unreported. |
| 167 | Canon: Atlassian SLA best practices, ITIL v4 service level management. |
| 168 | |
| 169 | **"Is your offboarding checklist current — data deletion, access revocation, key rotation?"** |
| 170 | Recommended: rehearse it on one vendor per quarter. |
| 171 | Canon: SolarWinds + Okta 2022 breach lessons. |
| 172 | |
| 173 | **"What's the regulatory blast-radius — HIPAA / GDPR / SOX / PCI?"** |
| 174 | Recommended: surface explicitly; weights security scoring up via `--profile`. |
| 175 | Canon: ISO/IEC 27036 (supplier relationships security). |
| 176 | |
| 177 | Walk depth-first. Lock 1-3 before opening 4-6. After all are answered, invoke `vendor_scorer.py` → `sla_compliance_tracker.py` → `vendor_risk_classifier.py` in sequence. |
| 178 |
Discussion
Alternatives
Browse more free Claude skills or everything in Development.