theme-ecommerce
E-commerce application palette: variants, pages, entities, and flows for building a varied online-shopping app. Use when theme_preset is ecommerce.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
E-commerce application palette: variants, pages, entities, and flows for building a varied online-shopping app. Use when theme_preset is ecommerce.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
This skill should be used when the user asks to query Logfire logs, inspect Logfire traces, fetch SQL trace data, get spans for a trace, inspect LLM spans, inspect tool calls, or check token usage from Logfire. Also use it to triage an ARENA spawn run — diagnose why a run failed, timed out, or took too long, get per-stage turns/cost/tokens, or compare a prod trace to a local one.
This skill should be used when the user asks to spawn or generate an ARENA lab from a spec, run a spec through the pipeline, run several specs in parallel, bring up / start up a generated lab's Docker container for inspection, or find and run a finished run's image.
Add a single supporting (non-vulnerable) feature to a working ARENA skeleton app — a catalog, detail page, profile, order history, cart, etc. Triggered when the prompt contains "add-supporting-feature", "ARENA supporting feature", or a Feature block whose vuln is "none". Builds a real, reachable, working page wired into the shared nav. No vulnerability, no solution writeup.
Add a single vulnerable feature to a working ARENA skeleton app. Triggered when the prompt contains "add-vuln-feature", "ARENA feature writer", or a Feature block. Implements the feature and writes a human-readable solution writeup. A usability judge then browser-drives the feature and an exploit verifier independently reproduces the vulnerability against the running lab.
Styling for the build-capable SPA stacks (react-express, vue-fastapi): Tailwind CSS (+ shadcn/ui on React) themed per-run through CSS-variable design tokens. Invoke on these stacks to give each lab a distinctive, coherent, believable-product look that is different every run.
Styling for the server-rendered / no-build stacks (php, vanilla-flask): a token-driven CSS sheet themed per-run by editing one `:root` variable block. Invoke on these stacks to give each lab a distinctive, coherent, believable look — different every run — without a build step.
| name | theme-ecommerce |
| description | E-commerce application palette: variants, pages, entities, and flows for building a varied online-shopping app. Use when theme_preset is ecommerce. |
Apps where users browse a catalog, build a cart, pay, and track orders. The money flow (price → discount → total → payment → fulfillment) and the ownership of orders/addresses are the parts that make exploits feel real.
Choose a single variant; it biases everything below. If theme_free_text or
custom_prompt hints at one (e.g. "sneaker shop", "marketplace"), honor it —
otherwise pick one at random so labs diverge.
Most exploits run as user.
Size the subset to endpoint_count (small ≈ home + catalog + cart + checkout;
xlarge ≈ the full list). Candidates: home/landing, category listing, search
results, product detail, cart, checkout, order confirmation, order history,
order detail, account/profile, address book, wishlist, reviews, coupon entry,
vendor storefront (marketplace), seller dashboard (marketplace), payouts
(marketplace), downloads / license library (digital), delivery slot picker
(grocery), subscription plans / manage subscription (subscription box), admin
catalog, admin orders, admin refunds.
Core (most variants):
Fashion / general storefront (variant):
Multi-vendor marketplace (variant):
Digital downloads (variant):
Grocery / delivery (variant):
Subscription box (variant):
Seed ≥5 rows in each content table, and multiple users each owning their own orders/addresses, so cross-account exploits are possible.
Endpoints are a shared surface, not owned 1:1 by a feature (a single feature often spans several, and an endpoint can back multiple features). Pick a coherent subset alongside the pages above. Grouped by area:
GET /api/products, GET /api/products/{id}, GET /api/search?q=&category=&sort=GET/POST/DELETE /api/cart, PUT/DELETE /api/cart/items/{id}, POST /api/cart/couponPOST /api/checkout, GET /api/orders, GET /api/orders/{id}, POST /api/orders/{id}/refundPOST /api/products/{id}/reviews, GET/POST/DELETE /api/wishlistGET/PUT /api/profile, GET/POST/PUT/DELETE /api/addressesGET/POST /api/vendor/products, GET /api/vendor/orders, GET/POST /api/vendor/payoutsGET /api/licenses, GET /api/downloads/{id}GET /api/slots, POST /api/slots/{id}/reserve, POST /api/orders/{id}/substitutions, POST /api/orders/{id}/tipGET /api/plans, POST /api/subscriptions, POST /api/subscriptions/{id}/pause, POST /api/subscriptions/{id}/skip/api/admin/products, /api/admin/orders, POST /api/admin/orders/{id}/refundGET /api/orders/{id}, /api/addresses/{id}, /api/licenses, vendor payouts — view/edit another user's resource.q, sort, category).max_uses, last-in-stock checkout, delivery-slot capacity, subscription credit./api/admin/....Pick ONE variant and a coherent subset of pages/entities/flows — never emit
the whole menu. Let endpoint_count set the size and theme_free_text /
custom_prompt bias the variant and product naming. Two ecommerce labs should
look like different stores, not the same template twice.