[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M718CBJPS1CFB1RBBY4HAA5F":3,"skill-same:01M718CBJPS1CFB1RBBY4HAA5F":57},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":35,"commitSha":36,"skillDirectory":37,"forksCount":38,"repositoryHtmlUrl":39,"repositoryHomepageUrl":6,"ownerHtmlUrl":40,"ownerBlogUrl":41,"ownerDescription":6,"updatedAt":42,"install":43,"resources":56},"01M718CBJPS1CFB1RBBY4HAA5F","supplier-selection",null,"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.","anthropics\u002Fcwc-workshops","anthropics","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F76263028?v=4","01M697XGDPXJAVQ8391V2BCYTE","Anthropic","01M718C167JSRVRHKR28E40JYN",2301,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fcwc-workshops\u002Fblob\u002Fmain\u002Fagent-decomposition\u002F.claude\u002Fskills\u002Fsupplier-selection\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29],"selection","supplier selection","how","for","pick","purchase order","purchase","how to","load","quotes","task","2026-11-10 10:12:30",false,"---\nname: supplier-selection\ndescription: 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.\n---\n\u003C!-- Copyright 2026 Anthropic PBC -->\n\u003C!-- SPDX-License-Identifier: Apache-2.0 -->\n\n\n# Supplier Selection\n\nRanking suppliers is arithmetic, not judgment. **Compute it in Python via code execution — do not reason about it in prose.**\n\n## Method\n\nFor a given SKU:\n\n1. Read `\u002Fmnt\u002Fuser\u002Fdata\u002Fsupplier_catalog.csv` and filter to rows matching the SKU. This gives you `(supplier_id, unit_price, min_order_qty)` for each candidate.\n2. Join with `\u002Fmnt\u002Fuser\u002Fdata\u002Fsuppliers.csv` on `supplier_id` to get `lead_time_days` and `reliability`.\n3. Normalize price and lead time across the candidates (min-max to [0,1], where 0 is best). Reliability is already on [0,1] where higher is better.\n4. Score each candidate:\n   ```\n   score = 0.5 × (1 − norm_price) + 0.3 × (1 − norm_lead_time) + 0.2 × reliability\n   ```\n5. Pick the highest score. **Tie-breaks:** lowest `unit_price`, then lowest `lead_time_days`, then alphabetical `supplier_id`.\n\n## Do this in code\n\nWrite and run a short Python script — don't call a tool per supplier, and don't compare quotes by describing them. Example shape:\n\n```python\nimport csv\nsku = \"SKU-0057\"\ncatalog = [r for r in csv.DictReader(open(\"\u002Fmnt\u002Fuser\u002Fdata\u002Fsupplier_catalog.csv\")) if r[\"sku\"] == sku]\nsuppliers = {r[\"supplier_id\"]: r for r in csv.DictReader(open(\"\u002Fmnt\u002Fuser\u002Fdata\u002Fsuppliers.csv\"))}\n# join, normalize, score, sort — print the winner as JSON\n```\n\n## Supplier-specific overrides\n\nThese quirks are **not in the catalog data**. Apply them after computing the\nscore; if one changes your pick, say so in the rationale.\n\n| Supplier | Override |\n|---|---|\n| 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. |\n| 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. |\n| SUP-03 Backcountry Supply Co | Two short-ships on Tents & Shelter this year. Prefer an alternate for that category if lead is comparable. |\n| SUP-04 Sierra Outfitters | Unlisted 3% price break at 250+ units. If recommended qty is 200–249, often worth rounding up. |\n| SUP-05 Granite Gear Partners | West-coast DC only. Add 2–3 days to catalog lead time for WH-EAST deliveries. |\n| SUP-07 Ridgecrest Imports | Import-only; lead times are port-congestion sensitive. Don't rely on stated lead for an urgent order. |\n| SUP-09 Summit Source | MOQ is enforced strictly — they reject (not round up) below-MOQ POs. |\n| SUP-12 Trailhead Mercantile | New on roster. Treat reliability as one notch lower than stated until 6 months of history. |\n\n## Warehouse lead-time adjustments\n\n- **WH-WEST (Reno)**: most suppliers ship from east-coast DCs — add **+2 days**\n  to catalog lead time as a rule of thumb unless a supplier note says otherwise.\n- **WH-EAST (Carlisle)**: two-shift receiving dock; best destination for an\n  expedited PO that needs same-day inbound scheduling.\n- **WH-CENTRAL (Kansas City)**: overflow \u002F transfer hub. If you're sourcing an\n  inter-warehouse transfer rather than a PO, WH-CENTRAL is almost always the\n  origin.\n\n## Expedite override\n\nIf 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.\n\n## Output\n\nReturn `{\"supplier_id\": \"SUP-03\", \"unit_price\": 21.40, \"lead_time_days\": 7, \"score\": 0.81}` and use that `supplier_id` in the PO.\n","\u003C!-- Copyright 2026 Anthropic PBC -->\n\u003C!-- SPDX-License-Identifier: Apache-2.0 -->\n\n\n# Supplier Selection\n\nRanking suppliers is arithmetic, not judgment. **Compute it in Python via code execution — do not reason about it in prose.**\n\n## Method\n\nFor a given SKU:\n\n1. Read `\u002Fmnt\u002Fuser\u002Fdata\u002Fsupplier_catalog.csv` and filter to rows matching the SKU. This gives you `(supplier_id, unit_price, min_order_qty)` for each candidate.\n2. Join with `\u002Fmnt\u002Fuser\u002Fdata\u002Fsuppliers.csv` on `supplier_id` to get `lead_time_days` and `reliability`.\n3. Normalize price and lead time across the candidates (min-max to [0,1], where 0 is best). Reliability is already on [0,1] where higher is better.\n4. Score each candidate:\n   ```\n   score = 0.5 × (1 − norm_price) + 0.3 × (1 − norm_lead_time) + 0.2 × reliability\n   ```\n5. Pick the highest score. **Tie-breaks:** lowest `unit_price`, then lowest `lead_time_days`, then alphabetical `supplier_id`.\n\n## Do this in code\n\nWrite and run a short Python script — don't call a tool per supplier, and don't compare quotes by describing them. Example shape:\n\n```python\nimport csv\nsku = \"SKU-0057\"\ncatalog = [r for r in csv.DictReader(open(\"\u002Fmnt\u002Fuser\u002Fdata\u002Fsupplier_catalog.csv\")) if r[\"sku\"] == sku]\nsuppliers = {r[\"supplier_id\"]: r for r in csv.DictReader(open(\"\u002Fmnt\u002Fuser\u002Fdata\u002Fsuppliers.csv\"))}\n# join, normalize, score, sort — print the winner as JSON\n```\n\n## Supplier-specific overrides\n\nThese quirks are **not in the catalog data**. Apply them after computing the\nscore; if one changes your pick, say so in the rationale.\n\n| Supplier | Override |\n|---|---|\n| 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. |\n| 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. |\n| SUP-03 Backcountry Supply Co | Two short-ships on Tents & Shelter this year. Prefer an alternate for that category if lead is comparable. |\n| SUP-04 Sierra Outfitters | Unlisted 3% price break at 250+ units. If recommended qty is 200–249, often worth rounding up. |\n| SUP-05 Granite Gear Partners | West-coast DC only. Add 2–3 days to catalog lead time for WH-EAST deliveries. |\n| SUP-07 Ridgecrest Imports | Import-only; lead times are port-congestion sensitive. Don't rely on stated lead for an urgent order. |\n| SUP-09 Summit Source | MOQ is enforced strictly — they reject (not round up) below-MOQ POs. |\n| SUP-12 Trailhead Mercantile | New on roster. Treat reliability as one notch lower than stated until 6 months of history. |\n\n## Warehouse lead-time adjustments\n\n- **WH-WEST (Reno)**: most suppliers ship from east-coast DCs — add **+2 days**\n  to catalog lead time as a rule of thumb unless a supplier note says otherwise.\n- **WH-EAST (Carlisle)**: two-shift receiving dock; best destination for an\n  expedited PO that needs same-day inbound scheduling.\n- **WH-CENTRAL (Kansas City)**: overflow \u002F transfer hub. If you're sourcing an\n  inter-warehouse transfer rather than a PO, WH-CENTRAL is almost always the\n  origin.\n\n## Expedite override\n\nIf 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.\n\n## Output\n\nReturn `{\"supplier_id\": \"SUP-03\", \"unit_price\": 21.40, \"lead_time_days\": 7, \"score\": 0.81}` and use that `supplier_id` in the PO.\n",{"name":5,"description":7},"main","2c65d16c6de16f8f24117d539a712ea706b5dee7","agent-decomposition\u002F.claude\u002Fskills\u002Fsupplier-selection",709,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fcwc-workshops","https:\u002F\u002Fgithub.com\u002Fanthropics","https:\u002F\u002Fanthropic.com","2026-11-05 02:53:17",{"source":8,"skillName":5,"commands":44,"prompt":54,"zipAvailable":55},[45,48,51],{"tool":46,"command":47},"npx","npx skills add anthropics\u002Fcwc-workshops --skill supplier-selection",{"tool":49,"command":50},"bunx","bunx skills add anthropics\u002Fcwc-workshops --skill supplier-selection",{"tool":52,"command":53},"pnpm","pnpm dlx skills add anthropics\u002Fcwc-workshops --skill supplier-selection","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fcwc-workshops\u002Fblob\u002Fmain\u002Fagent-decomposition\u002F.claude\u002Fskills\u002Fsupplier-selection\u002FSKILL.md",true,[],[58,88,108,119,145,164],{"skillNo":59,"name":60,"nameZh":6,"description":61,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":62,"categories":63,"keywords":74,"publishedAt":30},"01M718CS4VJNEW3SRN5S3MG35W","postmortem-report","How the SRE team writes a postmortem PDF. Use this whenever asked for a postmortem, an incident report, a write-up to share, or a PDF of what happened.","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fcwc-workshops\u002Fblob\u002Fmain\u002Fship-your-first-managed-agent\u002Fskills\u002Fpostmortem-report\u002FSKILL.md",[64,69],{"categoryNo":65,"categoryName":66,"taxonomyType":67,"taxonomyTypeDesc":68},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",{"categoryNo":70,"categoryName":71,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[75,76,77,78,79,80,81,82,83,84,85,22,21,86,87],"postmortem report","postmortem","report","share","what happened","team","use","incident report","up","write","incident","PDF","sre",{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":30},"01M718CPE2QT7TQMYAG56R19JW","incident-triage-runbook","The SRE team's runbook for triaging production latency and error-rate incidents. Use this whenever investigating an incident, a latency spike, elevated error rates, or when asked \"what caused X\" about a production service.","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fcwc-workshops\u002Fblob\u002Fmain\u002Fship-your-first-managed-agent\u002Fskills\u002Fincident-triage-runbook\u002FSKILL.md",[],[95,96,97,85,98,99,87,100,22,101,102,80,103,81,104,105,106,107],"runbook","triage","incident triage","incident triage runbook","error","latency","about","incidents","when","service","spike","Production","rate",{"skillNo":109,"name":110,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":30},"01M718CMK6R22RHEBDN1VW1YB5","eval-audit-and-sweep","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fcwc-workshops\u002Fblob\u002Fmain\u002Frightmodel\u002F.claude\u002Fskills\u002Feval-audit-and-sweep\u002FSKILL.md",[],[114,115,116,117,118],"sweep","audit","eval audit and sweep","eval audit","eval",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":128,"publishedAt":30},"01M718CJ7RTEG518SSEJMH3H8H","edgartools-sec-data","How to pull SEC EDGAR data with the edgartools Python package — company lookup, filings, XBRL financial statements, and filing sections like Item 1A risk factors. Use whenever a task involves SEC filings, 10-K\u002F10-Q data, or company financials.","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fcwc-workshops\u002Fblob\u002Fmain\u002Fresearch-desk\u002Fskills\u002Fedgartools\u002FSKILL.md",[125],{"categoryNo":126,"categoryName":127,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000033","数据分析师",[129,130,131,132,133,134,21,135,29,81,136,26,137,138,139,140,141,142,143,144],"edgartools","edgartools sec data","data","lookup","filing","financial statements","with","package","python","company","company lookup","filings","risk","sec edgar","financials","pull",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":154,"publishedAt":30},"01M718CF9KPNBKPWFJN27XDN6A","workshop","Workshop coach for the Research Desk (SEC agents) workshop. Use when the user types \u002Fworkshop, asks for a workshop act or module (\"act 2\", \"next act\", \"where am I\"), wants a TODO(workshop-N) implemented or explained, or asks for help following WORKSHOP.md.","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fcwc-workshops\u002Fblob\u002Fmain\u002Fresearch-desk\u002F.claude\u002Fskills\u002Fworkshop\u002FSKILL.md",[151],{"categoryNo":152,"categoryName":153,"taxonomyType":67,"taxonomyTypeDesc":68},"01JBSEEDCAT000000000000021","资料检索与研究",[147,155,103,81,156,157,22,158,159,160,161,162,163],"todo","module","coach","types","research","user","act","help","next",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":171,"publishedAt":30},"01M718CD3EBG31CBH0KSPVX0YR","weekly-report","Structure and data sources for the weekly inventory report. Load this when the task is \"weekly report\", \"Monday report\", or \"summarize inventory status\".","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fcwc-workshops\u002Fblob\u002Fmain\u002Fagent-decomposition\u002F.claude\u002Fskills\u002Fweekly-report\u002FSKILL.md",[170],{"categoryNo":70,"categoryName":71,"taxonomyType":72,"taxonomyTypeDesc":73},[172,173,77,103,174,29,27,131,175,176,22,177,178,179,180],"Weekly Report","weekly","summarize","status","inventory","data sources","monday","structure","sources"]