Kelly products
E-commerce product management desk (商品管理台) for catalog master data, SKUs, pricing, inventory, channel status, content assets, compliance notes, lifecycle state, and approval-gated product operations. Use when the user invokes $kelly-products or /kelly-products, asks for 电商商品管理, 商品库, SKU 管理, inventory/reorder, product status across Amazon/Shopify/TikTok Shop/eBay, channel publishing approvals, price-change review, quality holds, product lifecycle/archive decisions, or a visual local demo for managing products.From its SKILL.md
npx -y skills add mr-kelly/skills --skill kelly-productsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
6.3 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it
Kelly Products
Overview
Use this skill as the seller's product-management command desk. It sits between kelly-picks (what to develop), kelly-listing (what copy/assets to publish), kelly-ads (how it performs in paid channels), and kelly-inquiry (what buyers ask). The local UI consolidates product master data, SKU pricing, inventory cover, channel status, asset readiness, compliance notes, lifecycle state, and approval-gated recommendations.
Default interaction mode: App UI. Unless the user explicitly asks for chat-only handling, refresh or prepare the product snapshot, start/reuse the local app with app/start.sh, and give the actual local URL. Use chat-only mode only when the user says "纯聊天", "chat only", "不要打开 UI", or similar.
App UI Screenshots
<table> <tr> <td width="50%"><img src="assets/screenshots/overview.webp" alt="Kelly Products overview"></td> <td width="50%"><img src="assets/screenshots/products.webp" alt="Kelly Products catalog"></td> </tr> <tr> <td><strong>Overview</strong><br>Product command desk with visual product cards, margin, inventory value, activity, and approval queue.</td> <td><strong>Catalog</strong><br>Image-rich product library with SKU, lifecycle, owner, margin, inventory cover, and status badges.</td> </tr> <tr> <td width="50%"><img src="assets/screenshots/detail.webp" alt="Kelly Products detail"></td> <td width="50%"><img src="assets/screenshots/review.webp" alt="Kelly Products review queue"></td> </tr> <tr> <td><strong>Product detail</strong><br>Gallery, pricing, inventory, content readiness, compliance notes, channel matrix, and related review cards.</td> <td><strong>Review queue</strong><br>Approval-gated publish, price, quality-hold, and lifecycle recommendations with evidence.</td> </tr> </table>Boundary
- The skill may read product exports, inventory sheets, channel status exports, listing handoffs, and local config; it writes only local handoff files by default.
- The app reads and writes local files only. It renders local files, never touches any network beyond
127.0.0.1, and never publishes listings or changes prices by itself. - Publishing channels, changing prices, archiving SKUs, and lifting quality holds require a human approval record. The agent executes approved operations outside the app and records the outcome in
execution_report.json. - No seller credentials live in this repo. API tokens are referenced by env var name only. Never commit
config.local.json, env files,app/.data/, orexports/.
Local App
Start the desk with:
skills/kelly-products/app/start.sh
The app uses local HTTP on 127.0.0.1, preferring ports 3000 through 4000, or KELLY_PRODUCTS_UI_PORT when set. /api/state reports app: "kelly-products".
Required views:
#/overview: KPI cards, visual product cards, review queue preview, and activity log.#/productsand#/products/<id>: catalog and product detail with gallery, pricing, inventory, content readiness, compliance notes, channel matrix, and review cards.#/inventory: warehouse and days-cover table with low-stock and stockout-risk badges.#/channels: product × platform status table with channel issue notes and content scores.#/review: approval queue withapprove/request_changes/blockdecisions.#/settings: sanitized config, platform connectors, warehouses, data provider, and onboarding state.
Demo mode:
?demo=overview,?demo=products,?demo=inventory,?demo=channels,?demo=review, and?demo=detailopen deterministic mock scenes.- Use
lang=enorlang=zhfor UI language. Demo product names and agent notes localize with the chrome. - Demo product images are local PNG assets under
assets/product-images/; demo API responses never read or write files underapp/.data/.
File Contract
Read references/products-schema.md before editing the app, scripts, or any generated JSON.
app/.data/products_snapshot.json: products, channel matrix, inventory, review items, metrics, activity log.app/.data/decisions.json: human verdicts keyed by review item id.app/.data/agent_tasks.json: queuedrevise_product_recordorrevise_product_recommendationwork.app/.data/execution_report.json: sync/export/publish-handoff operations.app/.data/onboarding.json: onboarding completion marker.app/.data/agent.lock: temporary lock while the skill writes; the review queue rejectsPOST /api/decisionwith HTTP 423 while it exists.
Validate a snapshot with:
node scripts/validate_ui_schema.ts app/.data/products_snapshot.json
Workflow
- Collect product sources: SKU master sheet, pricing/cost table, warehouse inventory, marketplace/channel exports, content asset checklist, and handoffs from
kelly-picksorkelly-listing. - Normalize into
products_snapshot.jsonwith stable product ids and SKUs. Include local or workspace-relative image paths for product cards. - Flag action cards: low stock/reorder, channel suppression, publish approval, price change, quality hold, lifecycle/archive decision, or missing content/compliance evidence.
- Start the app and send the seller to the relevant view. Use stable refs such as
Review #1when discussing decisions in chat. - Before executing anything external, re-read
decisions.json, respect the lock, and execute only approved operations. Record concrete results inexecution_report.json.
Safety Defaults
- Never invent certifications, test reports, inventory, or supplier facts. Mark them missing and request evidence.
- Do not weaken margin, MAP, low-stock, or compliance gates to make a product pass.
- Keep channel publishing and price changes approval-gated even if the connector credentials are ready.
- Keep demo data deterministic and image-rich so documentation screenshots remain stable.
What ships with it: 61 files
718.6 KB alongside SKILL.md, 17 of them executable
agents/
- openai.yaml268 B
app/
- accent-theme.css74 B
- accent-theme.jsruns71 B
- app.jsruns25.5 KB
- demo-visuals.css1.4 KB
- demo-visuals.jsruns4.4 KB
- i18n/messages.jsruns5.9 KB
- index.html4.5 KB
- server/demo.tsruns21.5 KB
- server/demo-visuals.tsruns12.1 KB
- server/hono.tsruns3.7 KB
- server/index.tsruns601 B
- server/launcher.tsruns2.8 KB
- server/paths.tsruns1.1 KB
- server/setup.tsruns6.3 KB
- server/store.tsruns7.1 KB
- setup-gate.css4.5 KB
- setup-gate.jsruns8.8 KB
- start.shruns461 B
- styles.css14.2 KB
assets/
- product-images/aurora-lamp-lifestyle.png54.9 KB
- product-images/aurora-lamp-packaging.png75.5 KB
- product-images/aurora-lamp.png56.4 KB
- product-images/kitchen-scale.png41.6 KB
- product-images/laundry-basket.png59.5 KB
- product-images/laundry-basket-room.png69.5 KB
- product-images/lunchbox-lifestyle.png40.8 KB
- product-images/lunchbox.png61.3 KB
- product-images/spice-rack-detail.png57.7 KB
- product-images/spice-rack.png52.8 KB
- screenshots/channels.webp130 B
- screenshots/channels-zh-CN.webp130 B
- screenshots/detail.webp130 B
- screenshots/detail-zh-CN.webp130 B
- screenshots/inventory.webp130 B
- screenshots/inventory-zh-CN.webp130 B
- screenshots/overview.webp130 B
- screenshots/overview-zh-CN.webp130 B
- screenshots/products.webp130 B
- screenshots/products-zh-CN.webp130 B
21 more files not listed here. See all 61 in the repository.
Gives 0 of the 12 instructions most operations skills give in ~1.4k tokens
Counted across 483 of the 484 authors here whose files we hold, read 2026-08-07
- Collect monitoring data throughout the simulationin 14 of 483, across 6 files
- Set the random seed for reproducibilityin 14 of 483, across 6 files
- Validate simulations against analytical solutionsin 12 of 483, across 4 files
- Clarify goals, constraints, and inputsin 11 of 483, across 2 files
- Implement contract tests for integration pointsin 11 of 483, across 2 files
- Implement strangler fig infrastructure with API gatewayin 11 of 483, across 2 files
- Audit modernized components for security vulnerabilitiesin 11 of 483, across 2 files
- Avoid Python blocking calls in processesin 10 of 483, across 3 files
- Use resource context managers for automatic cleanupin 9 of 483, across 2 files
- Maintain consistent time unitsin 9 of 483, across 2 files
- Validate outcomes against success criteriain 8 of 483, across 1 file
- Analyze the legacy codebase for technical debtin 8 of 483, across 1 file
Said here and by no other author read
- prepare the local app and give the local URL
- use chat-only mode only when explicitly requested
- read the products schema before editing files
- normalize product data into the snapshot file
- flag action cards for review
- record approved operations in the execution report
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.