weekly-report
GitHub用于生成每周库存报告。通过编写单个Python脚本读取CSV和JSONL数据源,计算缺货、低库存、未结订单及预测风险,并输出结构化Markdown。适用于“weekly report”等触发场景。
Trigger Scenarios
Install
npx skills add anthropics/cwc-workshops --skill weekly-report -g -y
SKILL.md
Frontmatter
{
"name": "weekly-report",
"description": "Structure and data sources for the weekly inventory report. Load this when the task is \"weekly report\", \"Monday report\", or \"summarize inventory status\"."
}
Weekly Inventory Report
Generate the report by writing one Python script via code execution that reads the CSVs and emits markdown. Do not make per-SKU tool calls.
Structure
# Inventory Report — {{warehouse or "All Warehouses"}} — week of {{date}}
## Stockouts (on_hand = 0)
| SKU | Product | Warehouse | Days out |
...
## Low Stock (below reorder point)
| SKU | On hand | Reorder pt | Days cover | Action |
...top 15 by urgency (lowest days_cover first)...
## Open POs
| PO | SKU | Qty | Supplier | ETA |
...from /mnt/user/sinks/purchase_orders.jsonl...
## Forecast Risk
SKUs where promo_next_month=1 or is_seasonal=1 and on_hand < 14d cover.
One line each: SKU, reason, recommended action.
Operating cadence (which report is being asked for)
| Cadence | Trigger phrasing | Contents |
|---|---|---|
| Daily | "run the check", "the sweep" | Low-stock list with action taken per SKU; one summary notification at the end. |
| Weekly (Mon) | "the report", "weekly review" | Per-warehouse: top concerns, open POs aging past their lead time, SKUs below reorder for >5 business days. |
| Monthly | "supplier review" | Suppliers whose on-time rate slipped; SKUs whose primary supplier may need changing. |
| Ad hoc | anything else | Scope to what was asked. |
If the request doesn't say which, infer from wording. The structure below is the weekly format; for daily, drop the Open-POs and Forecast-Risk sections and lead with the actions taken.
Aging-PO check (weekly only)
For each open PO, compare days-since-placed to the supplier's lead_time_days.
List any PO where elapsed > lead_time as aging and include supplier + days
overdue so ops can follow up.
Data sources
- Stockouts & low stock: latest-date rows from
/mnt/user/data/stock_levels.csvjoined with/mnt/user/data/products.csv - Days of cover:
on_hand / avg_daily_sales(last 14d from/mnt/user/data/sales_history.csv) - Open POs:
/mnt/user/sinks/purchase_orders.jsonl - Forecast risk:
/mnt/user/data/products.csvflags + days-of-cover from above
Do this in code
The CSVs are large (stock_levels is ~67k rows). Write a single script that loads them once, computes everything, and prints the markdown. Don't page through the data with tool calls — that's exactly the pattern this skill replaces.
Version History
- 059482d Current 2026-07-24 12:31


