mcpField
W
weekly-report

weekly-report

github.com/anthropicsData & databases2.2k63 installsUpdated 2w ago
Repository

About weekly-report

A skill for generating inventory reports from CSV and purchase-order data. It guides agents to process files in one Python script and select daily, weekly, monthly, or ad hoc report content.

Key features

  1. 01Single-script data processing
  2. 02Daily, weekly, and monthly cadences
  3. 03Stockout and low-stock reporting
  4. 04Aging purchase-order checks
  5. 05Days-of-cover and forecast-risk data

Use cases

  1. 01Generate a weekly warehouse inventory review
  2. 02Find low-stock items for a daily sweep
  3. 03Review supplier performance monthly

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/anthropics/cwc-workshops --skill weekly-report

After installing, type/weekly-reportin Claude Code to confirm it loaded.

Details

From the project README

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)

CadenceTrigger phrasingContents
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 hocanything elseScope 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.csv joined 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.csv flags + 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.

Comments

Markdown supported