Structure and data sources for the weekly inventory report. Load this when the task is "weekly report", "Monday report", or "summarize inventory status".
89
88%
Does it follow best practices?
Impact
87%
1.03xAverage score across 3 eval scenarios
Passed
No known issues
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.
# 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.| 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.
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.
/mnt/user/data/stock_levels.csv joined with /mnt/user/data/products.csvon_hand / avg_daily_sales (last 14d from /mnt/user/data/sales_history.csv)/mnt/user/sinks/purchase_orders.jsonl/mnt/user/data/products.csv flags + days-of-cover from aboveThe 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.
970b040
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.