merch-report-html
Generate the shareable end-of-quarter markdown review as a single self-contained interactive HTML report by running the bundled merch_report.py script. Use as the final step once the analysis and policy-bound markdown recommendations are decided. The script renders top sellers, slow movers, and the markdown recommendations into one BlastBox Omega themed HTML file with inline SVG charts, sortable tables, and a clearance toggle - no internet, no external assets. Hand the file to the manager to download and open in any browser.
- License 许可
- MIT
- 最近更新
- 2026-11-14
- Stars
- ★ 0
- Forks
- 1
01 前言 Front Matter
- name
- merch-report-html
- description
- Generate the shareable end-of-quarter markdown review as a single self-contained interactive HTML report by running the bundled merch_report.py script. Use as the final step once the analysis and policy-bound markdown recommendations are decided. The script renders top sellers, slow movers, and the markdown recommendations into one BlastBox Omega themed HTML file with inline SVG charts, sortable tables, and a clearance toggle - no internet, no external assets. Hand the file to the manager to download and open in any browser.
02 资源文件 2
- 脚本merch_report.py21.9 KB
- 其他report_template.html.j213.9 KB
03 SKILL.md 正文
Merch Report (interactive HTML)
This skill produces the shareable report that closes out the end-of-quarter
markdown review by running the bundled merch_report.py script. You do not
write any Python and you do not invent numbers: every value comes from the
earlier steps. The script renders one self-contained, interactive HTML file
(BlastBox Omega theme) - all CSS, JavaScript, and SVG charts are inlined, so it
references nothing external and works fully offline once downloaded.
Use this as the last step, after sales-analysis has produced the top sellers
and slow movers and markdown-optimizer has produced the policy-bound
recommendations.
Inputs (pass the JSON you already have as flags)
| Flag | Source |
|---|---|
--top-sellers |
top sellers from sales-analysis - [{name, units, velocity, revenue}] |
--slow-movers |
slow movers from sales-analysis - [{name, sku, weeks_of_cover, price, cost, margin}] |
--recommendations |
RECOMMENDATIONS_JSON from markdown-optimizer - [{name, sku, price, rec_discount_pct, new_price, new_margin, binding, flag_clearance}] |
--policy |
the guardrails from the Store Policy Agent - {max_discount_pct, margin_floor_pct, min_useful_promo_discount_pct} |
--window |
the review window label, e.g. "Apr 12 - May 31, 2026" |
--weeks |
analysis window length (default 8) |
--woc-threshold |
slow-mover weeks-of-cover threshold (default 8) |
--out |
output path (default merch_report.html) |
Run the bundled script
python3 merch_report.py \
--window "Apr 12 - May 31, 2026" --weeks 8 \
--top-sellers '[{"name":"MEGA Lizards from Outer Space","units":540,"velocity":67.5,"revenue":37794.6}]' \
--slow-movers '[{"name":"OmegaVision VR Headset","sku":"SKU-VR-GOGGLES","weeks_of_cover":64.0,"price":199.99,"cost":70.0,"margin":65.0}]' \
--recommendations '[{"name":"OmegaVision VR Headset","sku":"SKU-VR-GOGGLES","price":199.99,"rec_discount_pct":30.0,"new_price":139.99,"new_margin":50.0,"binding":"max_discount","flag_clearance":false}]' \
--policy '{"max_discount_pct":30,"margin_floor_pct":15,"min_useful_promo_discount_pct":10}'
The script writes merch_report.html to the working directory and prints a
one-line confirmation (file size + counts). Hand that file back as a download.
What the report contains (so you can describe it)
- A KPI strip: slow movers, promo markdowns, items flagged for clearance, deepest promo cut, average new margin.
- Top Sellers and Slow Movers sections, each with an inline SVG bar chart (the slow-mover chart marks the weeks-of-cover threshold) and a sortable table.
- A Markdown Recommendations section: a discount-depth chart, the policy chips, a sortable table showing current price, discount, new price, new margin, and the binding constraint, with clearance-flagged rows highlighted and a toggle to hide them.
Report back
Tell the manager the interactive report is ready (merch_report.html), that it
opens in any browser, and that tables are sortable and clearance items can be
toggled. Summarize the headline: how many promo markdowns, the deepest cut, and
which items were routed to clearance.
Notes
- The bundled files are
merch_report.pyandreport_template.html.j2; the script uses only the Python standard library plus Jinja2 (available in the runtime). If the template file is missing it falls back to a minimal embedded template. - The report inlines everything - no CDN, no web fonts, no network. It is safe to share and open offline.
- Never invent numbers - every figure comes from the analysis, optimizer, and Store Policy Agent results. All data is mock; for demo purposes only.
04 同仓库更多 Skills
slip-pdf-generator
Generate a printable BlastBox return / RMA / exchange slip as a PDF for the associate to hand to the customer. Use at the end of a return, warranty swap, membership cancellation, or upgrade once all amounts are final. The skill runs a bundled Python script that renders the confirmed slip values into a real PDF file.
points-reconciliation
Reconcile a customer's BlastPoints loyalty balance after a complex visit (purchases, returns, promo multipliers, expiry) and convert the net balance to store credit. Use when an associate asks about a member's points, or after a return that should claw back previously earned points. The skill runs a bundled Python script that applies the base earn rate, promo multipliers, tier bonus, clawbacks, and expiry, then prints a points ledger and the redeemable store-credit value.
prorated-refund-calculator
Calculate the exact prorated refund when a customer cancels a BlastPass membership, and the net settlement when a defective unit is traded up to a pricier model. Use after the Store Policy Agent confirms the refund rule and the Membership MCP has returned the membership details. The skill runs a bundled Python script so the arithmetic is exact.
membership-card-png
Generate a digital BlastPass membership card as a PNG image by running the bundled card_png.py script. Use when a member self-serves a lost/stolen/damaged card replacement, or any time a card needs to be shown on screen (vs. printed). The skill takes the member details returned by the Membership MCP (get_membership) plus the new_card_serial returned by reissue_card and passes them as command-line flags to a bundled Python (matplotlib) script that renders a CR80-sized membership card to a real PNG. It only renders the card from already-retrieved values — it never looks anything up or invents data.
membership-card-png
Generate a digital BlastPass membership card as a PNG image by running the bundled card_png.py script. Use when a member self-serves a lost/stolen/damaged card replacement, or any time a card needs to be shown on screen (vs. printed). The skill takes the member details returned by the Membership MCP (get_membership) plus the new_card_serial returned by reissue_card and passes them as command-line flags to a bundled Python (matplotlib) script that renders a CR80-sized membership card to a real PNG. It only renders the card from already-retrieved values — it never looks anything up or invents data.
slip-pdf-generator
Generate a printable BlastBox return / RMA / exchange slip as a PDF for the associate to hand to the customer. Use at the end of a return, warranty swap, membership cancellation, or upgrade once all amounts are final. The skill runs a bundled Python script that renders the confirmed slip values into a real PDF file.