kishorkukreja/awesome-supply-chain/strategic-sourcing

Claude Code and agent skill by kishorkukreja/awesome-supply-chain

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

When the user wants to develop category strategies, execute sourcing events, or implement strategic procurement initiatives. Also use when the user mentions "category management," "sourcing strategy," "value levers," "should-cost analysis," "RFx management," "e-sourcing," "strategic procurement," or "category sourcing." For supplier evaluation, see supplier-selection. For spend analysis, see spend-analysis.

Install

npx vskill@latest install kishorkukreja/awesome-supply-chain/strategic-sourcing

SKILL.md

Strategic Sourcing

You are an expert in strategic sourcing and category management. Your goal is to help organizations develop and execute comprehensive category strategies that deliver sustainable value through supplier relationships, market insights, and analytical rigor.

Initial Assessment

Before developing a sourcing strategy, understand:

  1. Category Context
  • What category or commodity? (direct, indirect, services)
  • Annual spend volume?
  • Strategic importance? (critical, leverage, bottleneck, non-critical)
  • Current sourcing approach?
  1. Business Requirements
  • Business objectives? (cost, innovation, risk, sustainability)
  • Stakeholder needs?
  • Technical specifications?
  • Volume projections?
  1. Market Dynamics
  • Supply market characteristics?
  • Number of suppliers?
  • Competitive landscape?
  • Technology trends?
  • Price trends?
  1. Current State
  • Incumbent suppliers?
  • Contract terms?
  • Known issues or opportunities?
  • Historical spend patterns?

Strategic Sourcing Framework

7-Step Sourcing Process

1. Profile the Category

  • Understand internal requirements
  • Map current spend
  • Identify stakeholders
  • Define specifications

2. Assess the Supply Market

  • Supplier landscape analysis
  • Market trends and dynamics
  • Technology innovations
  • Risk factors

3. Develop Sourcing Strategy

  • Kraljic positioning
  • Value levers identification
  • Supplier strategy (single/multi)
  • Negotiation approach

4. Generate Supplier Options

  • Incumbent evaluation
  • New supplier identification
  • Qualification criteria
  • Long list creation

5. Select Suppliers

  • RFx process execution
  • Proposal evaluation
  • Negotiation
  • Final selection

6. Negotiate & Contract

  • Terms finalization
  • Legal review
  • Contract execution
  • Stakeholder alignment

7. Integrate & Improve

  • Implementation planning
  • Supplier onboarding
  • Performance management
  • Continuous improvement

Category Management

Kraljic Portfolio Analysis

Classify categories based on:

  • Supply Risk: Availability, supplier concentration, substitution
  • Profit Impact: Spend volume, impact on cost/quality

Four Quadrants:

High Supply Risk
│
2 │ 1
Leverage│Strategic
│
───────┼─────── High Profit Impact
│
3 │ 4
Non- │Bottleneck
Critical│
│
Low Supply Risk

1. Strategic (High Risk, High Impact)

  • Examples: Critical components, specialized services
  • Strategy: Long-term partnerships, joint development, risk mitigation
  • Approach: Relationship management, innovation focus

2. Leverage (Low Risk, High Impact)

  • Examples: Standard materials with multiple suppliers
  • Strategy: Competitive bidding, volume consolidation, aggressive negotiation
  • Approach: Maximize buying power

3. Non-Critical (Low Risk, Low Impact)

  • Examples: Office supplies, basic MRO
  • Strategy: Simplify process, automate, consolidate
  • Approach: Efficient transactions, e-catalogs

4. Bottleneck (High Risk, Low Impact)

  • Examples: Specialty items, niche services
  • Strategy: Ensure supply, reduce complexity, standardize
  • Approach: Secure availability, long-term contracts
python
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
class KraljicAnalysis:
"""Kraljic portfolio positioning for categories"""
def __init__(self, categories_df):
"""
categories_df: DataFrame with category, spend, supply_risk, profit_impact
"""
self.categories = categories_df
def classify_category(self, supply_risk, profit_impact):
"""Classify category into Kraljic quadrant"""
if supply_risk >= 50 and profit_impact >= 50:
return 'Strategic'
elif supply_risk < 50 and profit_impact >= 50:
return 'Leverage'
elif supply_risk < 50 and profit_impact < 50:
return 'Non-Critical'
else: # supply_risk >= 50 and profit_impact < 50
return 'Bottleneck'
def add_classifications(self):
"""Add Kraljic classification to categories"""
self.categories['kraljic_quadrant'] = self.categories.apply(
lambda row: self.classify_category(
row['supply_risk'],
row['profit_impact']
),
axis=1
)
return self.categories
def plot_portfolio(self):
"""Create Kraljic portfolio matrix visualization"""
fig, ax = plt.subplots(figsize=(12, 8))
# Color by quadrant
colors = {
'Strategic': 'red',
'Leverage': 'green',
'Bottleneck': 'orange',
'Non-Critical': 'blue'
}
for quadrant in colors:
data = self.categories[self.categories['kraljic_quadrant'] == quadrant]
ax.scatter(
data['profit_impact'],
data['supply_risk'],
s=data['spend'] / 10000, # Bubble size by spend
c=colors[quadrant],
alpha=0.6,
label=quadrant
)
# Add category labels
for _, row in data.iterrows():
ax.annotate(
row['category'],
(row['profit_impact'], row['supply_risk']),
fontsize=8,
ha='center'
)
# Quadrant lines
ax.axvline(50, color='gray', linestyle='--', alpha=0.5)
ax.axhline(50, color='gray', linestyle='--', alpha=0.5)
# Labels
ax.set_xlabel('Profit Impact (Spend, Cost Criticality)', fontsize=12)
ax.set_ylabel('Supply Risk (Availability, Complexity)', fontsize=12)
ax.set_title('Kraljic Portfolio Matrix', fontsize=14, weight='bold')
ax.set_xlim(0, 100)
ax.set_ylim(0, 100)
ax.legend()
ax.grid(True, alpha=0.3)
# Quadrant labels
ax.text(75, 75, 'Strategic', ha='center', fontsize=11, weight='bold')
ax.text(25, 75, 'Bottleneck', ha='center', fontsize=11, weight='bold')
ax.text(75, 25, 'Leverage', ha='center', fontsize=11, weight='bold')
ax.text(25, 25, 'Non-Critical', ha='center', fontsize=11, weight='bold')
plt.tight_layout()
return fig
# Example usage
categories = pd.DataFrame({
'category': ['IT Hardware', 'Office Supplies', 'Specialized Components',
'Raw Materials', 'Consulting', 'MRO'],
'spend': [2000000, 500000, 800000, 5000000, 1500000, 300000],
'supply_risk': [30, 20, 80, 40, 60, 75], # 0-100
'profit_impact': [70, 40, 35, 90, 80, 25] # 0-100
})
kraljic = KraljicAnalysis(categories)
classified = kraljic.add_classifications()
print("\nKraljic Classification:")
print(classified[['category', 'kraljic_quadrant', 'spend']])
# fig = kraljic.plot_portfolio()
# plt.show()

Strategic Sourcing Value Levers

Value Lever Framework

1. Price/Rate Reduction

  • Competitive bidding
  • Market pricing benchmarks
  • Volume aggregation
  • Global sourcing
  • E-auctions

2. Demand Management

  • Specification optimization
  • Standardization
  • Usage reduction
  • Substitution
  • Make vs. buy analysis

3. Process Efficiency

  • Process automation (P2P)
  • Supplier consolidation
  • Transactional efficiency
  • Self-service tools
  • Payment optimization

4. Total Cost Management

  • Total Cost of Ownership (TCO)
  • Logistics optimization
  • Quality improvement
  • Working capital
  • Lifecycle costs

5. Supplier Value Creation

  • Innovation collaboration
  • Continuous improvement
  • Supplier development
  • Value engineering
  • Gain-sharing
python
class ValueLevers:
"""Identify and quantify value levers for category"""
def __init__(self, category, baseline_spend):
self.category = category
self.baseline_spend = baseline_spend
self.levers = []
def add_price_reduction(self, current_price, target_price, volume,
confidence=0.8, timeline_months=6):
"""Add price reduction lever"""
savings_per_unit = current_price - target_price
annual_savings = savings_per_unit * volume
risk_adjusted = annual_savings * confidence
self.levers.append({
'lever_type': 'Price Reduction',
'description': f'Negotiate price from ${current_price} to ${target_price}',
'gross_savings': annual_savings,
'confidence_%': confidence * 100,
'risk_adjusted_savings': risk_adjusted,
'implementation_timeline': timeline_months,
'implementation_effort': 'Medium'
})
def add_demand_reduction(self, reduction_pct, rationale,
confidence=0.6, timeline_months=12):
"""Add demand management lever"""
annual_savings = self.baseline_spend * reduction_pct
risk_adjusted = annual_savings * confidence
self.levers.append({
'lever_type': 'Demand Management',
'description': rationale,
'gross_savings': annual_savings,
'confidence_%': confidence * 100,
'risk_adjusted_savings': risk_adjusted,
'implementation_timeline': timeline_months,
'implementation_effort': 'High'
})
def add_specification_change(self, savings_amount, description,
confidence=0.7, timeline_months=9):
"""Add specification optimization lever"""
risk_adjusted = savings_amount * confidence
self.levers.append({
'lever_type': 'Specification Change',
'description': description,
'gross_savings': savings_amount,
'confidence_%': confidence * 100,
'risk_adjusted_savings': risk_adjusted,
'implementation_timeline': timeline_months,
'implementation_effort': 'High'
})
def add_process_improvement(self, savings_amount, description,
confidence=0.9, timeline_months=3):
"""Add process efficiency lever"""
risk_adjusted = savings_amount * confidence
self.levers.append({
'lever_type': 'Process Improvement',
'description': description,
'gross_savings': savings_amount,
'confidence_%': confidence * 100,
'risk_adjusted_savings': risk_adjusted,
'implementation_timeline': timeline_months,
'implementation_effort': 'Medium'
})
def add_supplier_consolidation(self, expected_discount, description,
confidence=0.75, timeline_months=6):
"""Add supplier consolidation lever"""
annual_savings = self.baseline_spend * expected_discount
risk_adjusted = annual_savings * confidence
self.levers.append({
'lever_type': 'Supplier Consolidation',
'description': description,
'gross_savings': annual_savings,
'confidence_%': confidence * 100,
'risk_adjusted_savings': risk_adjusted,
'implementation_timeline': timeline_months,
'implementation_effort': 'High'
})
def get_value_lever_summary(self):
"""Get prioritized value lever summary"""
if not self.levers:
return None
df = pd.DataFrame(self.levers)
df = df.sort_values('risk_adjusted_savings', ascending=False)
# Add cumulative savings
df['cumulative_savings'] = df['risk_adjusted_savings'].cumsum()
total_gross = df['gross_savings'].sum()
total_risk_adjusted = df['risk_adjusted_savings'].sum()

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
74
Repository forks
18
7-day trend score
22

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/kishorkukreja/awesome-supply-chain/strategic-sourcing/badge)](https://verified-skill.com/skills/kishorkukreja/awesome-supply-chain/strategic-sourcing)

Something wrong with this skill or its page? Tell us.