> Vendor lifecycle — weighted selection scorecards, risk tiering, renewal and notice-deadline tracking, spend concentration, and SLA credits. Use when selecting a vendor, preparing a renewal, or reviewing a vendor portfolio.
npx skills add https://github.com/borghei/Claude-Skills --skill vendor-management
Covers the vendor lifecycle from selection to exit. Two failures dominate this
discipline: tiering vendors by spend rather than by blast radius, and losing
every point of renewal leverage to a missed notice deadline. This skill is built
around preventing both.
Before generating, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
python3 business-operations/vendor-management/scripts/vendor_scorecard.py \
--input business-operations/vendor-management/assets/sample_vendor_candidates.json \
--format text
as_of explicitly so the analysis is reproducible and reviewable later.python3 business-operations/vendor-management/scripts/portfolio_analyzer.py \
--input business-operations/vendor-management/assets/sample_portfolio.json \
--format text
python3 business-operations/vendor-management/scripts/sla_report.py \
--input business-operations/vendor-management/assets/sample_sla.json \
--format json
Score data sensitivity plus business criticality, then apply modifiers.
| Data classification | Points | | Business criticality | Points |
|--------------------|--------|---|---------------------|--------|
| PHI / health | 4 | | Critical (revenue stops in hours) | 4 |
| PII | 3 | | High (core function stops in a day) | 3 |
| Financial | 3 | | Medium (productivity loss) | 2 |
| Confidential | 2 | | Low (inconvenience) | 1 |
| Internal | 1 | | | |
| Public | 0 | | | |
Modifiers: no ready alternative +2 · network access to your systems +2 ·
subprocessors +1 · non-adequate jurisdiction +1 · vendor under 20 people +1.
| Total | Tier | Core obligations |
|-------|------|------------------|
| 8+ | Tier 1 critical | Annual security review, quarterly business review, tested exit plan, SLA with credits |
| 6-7 | Tier 2 high | Full questionnaire at onboarding, semi-annual review, documented exit plan |
| 4-5 | Tier 3 moderate | Short-form questionnaire, annual review, verified data export |
| Under 4 | Tier 4 low | Confirm what data it touches; nothing further |
Tier by blast radius, not spend. The $8K tool holding your entire customer
list outranks the $400K hosting contract holding nothing sensitive.
| Source | Worth | Requires |
|--------|-------|----------|
| A real alternative | 10-30% | 3-6 weeks of genuine evaluation, an internal sponsor willing to switch |
| Vendor fiscal timing | 10-25% | Knowing their year-end and aligning your close to it |
| Multi-year commitment | 10-20% | Price protection, exit-on-SLA-failure, and an increase cap — all three |
| Volume / consolidation | 15-30% | Real growth, not aspirational seat counts |
| Reference or case study | 5-15% | Marketing time, not money |
| Annual prepay | 5-10% | Cash-flow float, and a viability check first |
Not leverage: complaining about price, threatening to leave without an
alternative, escalating without a specific ask, or loyalty — long tenure lowers
vendor risk, which is why tenured accounts are often priced higher.
| Days before renewal | Action |
|--------------------|--------|
| 180 | Usage vs entitlement; confirm owner; decide renew / renegotiate / exit |
| 150 | Open the alternative evaluation if renegotiating seriously |
| 120 | First vendor conversation — signal expectations before they build the quote |
| 90 | Notice deadline on most annual contracts. Serve notice if there is any doubt. |
| 60 | Negotiate substance: price, increase cap, true-down, SLA credits, exit rights |
| 30 | Close; anything open now resolves in the vendor's favour |
Serving notice is not leaving — it converts an auto-renewal into a negotiation.
| Term | Target |
|------|--------|
| Annual increase cap | CPI, or 3-5% maximum |
| Seat true-down rights | At renewal, without penalty |
| Termination for SLA failure | Defined breach threshold, no penalty |
| Data export format | Open, documented, and tested |
| Subprocessor change notice | 30 days with an objection right |
| Assignment on acquisition | Consent required, or an exit right |
Seat true-down is the most valuable and least-requested term: nearly every SaaS
contract lets you add seats mid-term and forbids reducing them.
Mistake: Applying diligence proportional to contract value — heavy scrutiny on the big infrastructure contract, a credit card and no questions for the $8,000 tool.
Why it happens: Procurement owns the process and procurement thresholds are denominated in money. Approval workflows trigger on spend because that is what finance systems can see.
Instead: Tier on data sensitivity and business criticality, with modifiers for substitutability and subprocessors. The small tool holding your customer list has a far larger blast radius than the large contract holding nothing sensitive, and it is exactly the one that gets bought on a card without a security review.
Mistake: Tracking renewal dates only, then finding at day 60 that the 90-day notice window closed a month ago and the contract has auto-renewed for another year.
Why it happens: Renewal dates are what contracts and calendars display. The notice deadline is a derived date nobody computes, and auto-renew clauses are written to be easy to miss.
Instead: Track both dates per contract, and treat the notice deadline as the real one. Serve notice at the deadline as routine on anything you intend to renegotiate — it reopens the contract without committing you to leave. An unowned contract is the one this happens to, so assign an internal owner to every vendor.
Mistake: Choosing the vendor, then building a weighted scorecard whose weights and scores produce that vendor as the winner.
Why it happens: Rarely cynical. Someone forms a view during the demos, and weights get set afterwards with that view in the room — each individual weight feels defensible while the set of them is not.
Instead: Set and record the weights, with named anchors for what a 10 and a 5 look like, before any candidate is scored. Then run the sensitivity check: if the winner changes when one weight moves 50%, the result is an artifact of the weighting rather than a finding about the vendors, and the decision owner needs to see that before signing.
Mistake: Accepting a 99.9% uptime commitment with a 2% service credit and considering the risk managed.
Why it happens: The SLA exists, it has numbers in it, and it satisfies the checklist item. Nobody computes what the credit is actually worth against what an outage costs.
Instead: Price the remedy. A 2% credit on a $20K quarter is $400 for an outage that may cost you far more — that is a rounding error the vendor has already priced in, not a control. Negotiate tiered credits (5/10/25%), a cap above 20% of period fees, and a termination right after repeated breach. Losing the account changes vendor behaviour; credits do not. And measure availability against the error budget, not the percentage — missing 99.9% by half a point is nearly six times the permitted downtime.
| File | Purpose |
|------|---------|
| scripts/vendor_scorecard.py | Must-have gating, weighted scoring, cost-value ratio, and a weight-sensitivity check on the result |
| scripts/portfolio_analyzer.py | Renewal and notice-deadline tracking, derived risk tiers, HHI spend concentration, consolidation candidates |
| scripts/sla_report.py | SLA compliance with error-budget severity, credit tiers against the contractual cap, and multi-period trend |
| references/vendor-risk-tiering.md | Tiering model, per-tier obligations, onboarding diligence, concentration risk, monitoring signals, vendor distress indicators |
| references/renewal-negotiation-leverage.md | Renewal calendar, ranked leverage sources, terms beyond price, making SLAs bite, negotiation sequence, exit execution |
| assets/vendor-selection-scorecard.md | Selection deliverable: must-haves, weighted criteria with anchors, stability check, risk tier, commercial position |
| assets/vendor-review-template.md | Business review: SLA performance, usage vs entitlement, risk checks, renewal plan with milestone dates |
| assets/sample_vendor_candidates.json | Four candidates including one disqualified on a must-have and a near-tie between the top two |
| assets/sample_portfolio.json | Ten-vendor portfolio with a locked auto-renewal, an unowned contract, and a consolidation candidate |
| assets/sample_sla.json | Five metrics in both directions with credit tiers, a capped credit total, and a degrading trend |
Automatically organizes invoices and receipts for tax preparation by reading messy files, extracting key information, renaming them consistently, and sorting them into logical folders. Turns hours of manual bookkeeping into minutes of automated organization.
Expert guidance for systematic backtesting of trading strategies. Use when developing, testing, stress-testing, or validating quantitative trading strategies. Covers "beating ideas to death" methodology, parameter robustness testing, slippage modeling, bias prevention, and interpreting backtest results. Applicable when user asks about backtesting, strategy validation, robustness testing, avoiding overfitting, or systematic trading development.
This skill calculates key financial ratios and metrics from financial statement data for investment analysis
This skill provides an advanced financial modeling suite with DCF analysis, sensitivity testing, Monte Carlo simulations, and scenario planning for investment decisions
This skill retrieves upcoming earnings announcements for US stocks using the Financial Modeling Prep (FMP) API. Use this when the user requests earnings calendar data, wants to know which companies are reporting earnings in the upcoming week, or needs a weekly earnings review. The skill focuses on mid-cap and above companies (over $2B market cap) that have significant market impact, organizing the data by date and timing in a clean markdown table format. Supports multiple environments (CLI, Desktop, Web) with flexible API key management.
Crypto wallet operations via the awal CLI — sign in, check balances, send USDC/ETH/POL/SOL, trade tokens, fund the wallet, and use the x402 payment protocol to discover paid services, pay for API calls, monetize an API, or query onchain data. Use whenever the user mentions signing in, login, authentication, wallet status, balance, address, sending money, paying someone, transferring tokens, ENS names, swapping/trading/converting tokens, funding/topping up/onramp, USDC, ETH, POL, SOL, the x402 bazaar, paid APIs, monetizing an endpoint, or querying onchain data on Base.
Access real-time and historical stock market data, forex rates, cryptocurrency prices, commodities, economic indicators, and 50+ technical indicators via the Alpha Vantage API. Use when fetching stock prices (OHLCV), company fundamentals (income statement, balance sheet, cash flow), earnings, options data, market news/sentiment, insider transactions, GDP, CPI, treasury yields, gold/silver/oil prices, Bitcoin/crypto prices, forex exchange rates, or calculating technical indicators (SMA, EMA, MACD, RSI, Bollinger Bands). Requires a free API key from alphavantage.co.
Braintree Automation: manage payment processing via Stripe-compatible tools for customers, subscriptions, payment methods, and transactions
Take borghei/vendor-management from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.