mit einem Klick
supplier-selection
// How to rank and pick a supplier for a SKU. Load this whenever a task involves choosing a supplier, comparing quotes, or creating a purchase order.
// How to rank and pick a supplier for a SKU. Load this whenever a task involves choosing a supplier, comparing quotes, or creating a purchase order.
Where diamonds spawn in Minecraft 1.20.
How to produce a demand forecast for a SKU, and when to delegate that to a subagent vs. compute it yourself. Load this for any task involving "forecast", "how much will we sell", "next month", promos, or seasonal SKUs.
Fixed-format templates for Slack alerts, supplier emails, and escalations. Load this whenever the task is "notify", "alert", "email", or "tell ops".
How to decide whether and how much to reorder a SKU. Load this whenever a task involves reorder recommendations, purchase orders, or "should we restock" questions.
Guide a workshop attendee through committing their starter-agent decomposition and opening a PR with their solution + workshop feedback. Invoke when the user says "submit", "I'm done", "open a PR", or asks how to share their solution.
Structure and data sources for the weekly inventory report. Load this when the task is "weekly report", "Monday report", or "summarize inventory status".
| name | supplier-selection |
| description | How to rank and pick a supplier for a SKU. Load this whenever a task involves choosing a supplier, comparing quotes, or creating a purchase order. |
Ranking suppliers is arithmetic, not judgment. Compute it in Python via code execution — do not reason about it in prose.
For a given SKU:
/mnt/user/data/supplier_catalog.csv and filter to rows matching the SKU. This gives you (supplier_id, unit_price, min_order_qty) for each candidate./mnt/user/data/suppliers.csv on supplier_id to get lead_time_days and reliability.score = 0.5 × (1 − norm_price) + 0.3 × (1 − norm_lead_time) + 0.2 × reliability
unit_price, then lowest lead_time_days, then alphabetical supplier_id.Write and run a short Python script — don't call a tool per supplier, and don't compare quotes by describing them. Example shape:
import csv
sku = "SKU-0057"
catalog = [r for r in csv.DictReader(open("/mnt/user/data/supplier_catalog.csv")) if r["sku"] == sku]
suppliers = {r["supplier_id"]: r for r in csv.DictReader(open("/mnt/user/data/suppliers.csv"))}
# join, normalize, score, sort — print the winner as JSON
These quirks are not in the catalog data. Apply them after computing the score; if one changes your pick, say so in the rationale.
| Supplier | Override |
|---|---|
| SUP-01 Cascade Distribution | Orders >500 units need 48h notice or they auto-split into two shipments — add to lead-time math for large POs. |
| SUP-02 Alpine Wholesale | Closed Dec 20 – Jan 3. POs in that window aren't acknowledged until Jan 4. Land holiday replenishment before Dec 15. |
| SUP-03 Backcountry Supply Co | Two short-ships on Tents & Shelter this year. Prefer an alternate for that category if lead is comparable. |
| SUP-04 Sierra Outfitters | Unlisted 3% price break at 250+ units. If recommended qty is 200–249, often worth rounding up. |
| SUP-05 Granite Gear Partners | West-coast DC only. Add 2–3 days to catalog lead time for WH-EAST deliveries. |
| SUP-07 Ridgecrest Imports | Import-only; lead times are port-congestion sensitive. Don't rely on stated lead for an urgent order. |
| SUP-09 Summit Source | MOQ is enforced strictly — they reject (not round up) below-MOQ POs. |
| SUP-12 Trailhead Mercantile | New on roster. Treat reliability as one notch lower than stated until 6 months of history. |
If the reorder-policy skill flagged expedite, ignore the score and pick the supplier with the lowest lead_time_days whose min_order_qty ≤ your target order qty.
Return {"supplier_id": "SUP-03", "unit_price": 21.40, "lead_time_days": 7, "score": 0.81} and use that supplier_id in the PO.