Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Open Design vs closed cloud design tools: a side-by-side displacement case on control, cost (BYOK), and lock-in. Built as a decision-grade B2B sales deck for evaluation committee.
.claude/skills/nexu-io-huashu-bento-insight/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 33% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 59% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 96% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 235% | 0% |
| case-21 | ✗→✓ | ▲ Improved | 115% | 0% |
Produce a single-file, Apple-keynote-school bento deck. You are a metrics curator working in HTML: every card holds exactly one insight, every number is tabular, and whitespace does the talking. The visual system, canvas contract, and navigation runtime are locked by example.html. Start from example.html, replace content only — do not rewrite the design or the script. Do not introduce any color or font outside this spec.
Generated from the「Bento便当格模块网格 / Bento Grid」entry (neutral school, 95% fidelity) of references/design-styles.md in huashu-design by 花叔 (alchaincyf), MIT licensed. Reference lineage: Apple Keynote Bento-Grid era, new-generation MBB Bento/Big-Type decks (2024–2026), Stripe annual-report metric-card matrices, Pitch.com QBR templates. Distinct from the fixed 8-cell weekly-report KPI scenario: this is a general bento aesthetic theme — free-form unequal-height composition, weight contrast, sparklines.
<div id="stage"> fixed at 1920 × 1080 px, centered withposition: fixed; top: 50%; left: 50%; a fit() function applies translate(-50%, -50%) scale(min(innerWidth/1920, innerHeight/1080)) on load and resize. All inner layout in px — the scaler owns responsiveness.
<section class="slide"> inside #stage with adata-screen-label="01 封面"-style label; exactly one slide carries .active; cream pages add .cream.
←/↑/PageUp previous,→/↓/Space/PageDown next, Home/End first/last; #/N hash routing (1-indexed) read on load + hashchange, written via history.replaceState; click left third = back, rest = forward; rounded counter pill bottom-right, key-hint bottom-left. No external JS, no build step — the file must open inside a sandboxed iframe via file://.
:root — keep the names, re-theme values only)| Token | Value | Role | |---|---|---| | --bg | #F5F5F7 | master page background (Apple light grey) | | --cream | #FBFAF7 | warm cream alternate page background | | --card | #FFFFFF | default card surface | | --card-dark | #1D1D1F | hero inverse card (≤ 1–2 per deck spread) | | --tint-blue | #EAF2FE | tinted card — brand | | --tint-green | #EAF8F0 | tinted card — positive | | --tint-warm | #FDF3E7 | tinted card — highlight | | --ink | #1D1D1F | primary text | | --ink-soft | #424245 | body copy | | --muted | #6E6E73 | secondary labels | | --faint | #AEAEB2 | tertiary captions | | --dark-ink / --dark-mut | #F5F5F7 / #98989D | text on dark card | | --hairline | #E8E8ED | 1px card border | | --brand | #0071E3 | brand blue — primary accent | | --green | #1FA958 | positive delta accent | | --orange | #F08A24 | highlight / caution accent | | --shadow | 0 2px 6px rgba(0,0,0,.04), 0 12px 32px rgba(0,0,0,.05) | micro shadow | | --r-lg / --r-md / --r-sm | 32px / 24px / 14px | radius scale | | --sans | 'Inter', 'Geist', -apple-system, 'PingFang SC', … | body family | | --display | 'Geist', 'Inter', … | display headlines | | --mono | 'Geist Mono', 'SF Mono', ui-monospace, … | all KPI numerals |
@import (Inter + Geist + Geist Mono) —the only allowed external reference. No other CDN, no icon fonts, no Chart.js/mermaid; charts are pure CSS/SVG.
one brand + green (positive) + orange (caution). A fourth accent is the cardinal sin of this style. No gradients, no glassmorphism, no neon.
repeat(6, 1fr) columns ×1.18fr 1fr-style rows) with mixed span widths and one tall grid-row: span 2 hero card. Never a uniform equal-cell grid — unequal heights are the style. Gap 20–24px.
--card surface + 1px solid var(--hairline) +var(--shadow) micro shadow + 24–32px radius. One insight per card: a card-label (14px/600 muted) on top, one protagonist below. Tinted and dark cards are seasoning — at most 1 dark + 2 tinted per bento page.
--mono withfont-variant-numeric: tabular-nums, weight 700–800, negative tracking; units in a .unit span at ~0.42em muted. Deltas are rounded .delta pills (↑ 42%) in green/orange tints.
<svg preserveAspectRatio="none">polyline + optional 14%-opacity area fill for sparklines; bar charts are flex columns of rounded div bars with the current period in --brand and history in #E4E4E9, values printed in mono above each bar.
stroke="currentColor",stroke-width="1.8", round caps, sitting in a 52px rounded tinted .icon chip. No emoji anywhere.
300–400 .thin/.lite spans in the same line (e.g. 「稳健增长,全面提 效。」 with the verb heavy and the qualifier light). Kickers are 14px mono uppercase, 3px tracking, brand-colored.
| Layout | Role | |---|---| | cover | cream page, giant 130–150px display statement + mini bento strip of 3–4 KPI cards | | agenda | 4 equal cards, oversized hairline-grey mono numbers, first number brand-colored | | bento | the master: 6-col × 2-row unequal grid, dark hero card with sparkline + 5 satellite cards | | one-insight | cream page, one 300–380px mono numeral protagonist + label + chip row | | chart | big bar-chart card (2 rows tall) + 2 side insight cards | | feature-bento | 3-col grid with wide cards, linear icon chips + meta footer rows | | quote | oversized quote card (brand SVG quote marks, key phrase in brand color) + 2 stat cards | | stats-2x2 | 2×2 grid of 80–90px numerals, one dark + one tinted card | | roadmap | 3 track cards: mono Q-tag, dot-bulleted list, hairline-topped target footer | | closing | cream page, giant display farewell (one brand-colored word) + summary card strip |
−8px; page titles 62px weight 800, tracking −2px. Hero KPI 84–96px; the one-insight numeral 300–380px weight 800 with its %/unit glyph in --brand.
--muted/--ink-soft, line-height 1.6–1.7. Labels 14px/600.Mono meta rows 14px with 1–2px tracking.
zh/en mixing is welcome (mono English kickers over Chinese headlines is the house voice).
--bg and--cream for breathing rhythm; cards stay white/tinted/dark.
never cram more than 7 cards on one bento page.
<!-- 待用户提供 --> placeholder, never invented statistics. (The seed deck's 「澄流 ClearFlow」data is fictional demo content and must be fully replaced.) Negative metrics keep the orange caution treatment — bento decks that hide bad news read as marketing, not review.
the protagonists (plus the single most important one for the one-insight page). This style lives on its numbers — pick them before writing pages.
example.html, retitle, then replace each section's contentfollowing the layout enumeration. Keep the grid skeletons, token names, card anatomy, and the script intact. Re-theme by changing token values only — and only --brand plus tints, if the user's brand demands it.
page, confirm the grammar, then batch the rest.
#/N hash stay in sync; no overflow beyond 1920×1080; bar heights match their printed values proportionally; every bento page has unequal card heights and ≤ 1 dark card; no emoji; no fourth accent color; no leftover demo (「澄流」/"ClearFlow") text; grep for TODO.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 72,496 | 71,907 | -1% | 1 | 1 | 0% | 8,310 | 11,018 | +33% | 0 | 0 | — |
case-02 | pass→fail | 36,348 | 45,222 | +24% | 1 | 1 | 0% | 7,314 | 10,929 | +49% | 0 | 0 | — |
case-03 | pass→fail | 38,544 | 41,941 | +9% | 1 | 1 | 0% | 8,221 | 10,929 | +33% | 0 | 0 | — |
case-04 | pass→fail | 25,326 | 73,532 | +190% | 1 | 1 | 0% | 4,519 | 10,926 | +142% | 0 | 0 | — |
case-05 | fail→pass | 42,197 | 42,477 | +1% | 1 | 1 | 0% | 8,236 | 10,944 | +33% | 0 | 0 | — |
case-06 | fail→pass | 33,407 | 41,926 | +26% | 1 | 1 | 0% | 6,877 | 10,933 | +59% | 0 | 0 | — |
case-07 | fail→fail | 29,419 | 41,661 | +42% | 1 | 1 | 0% | 6,245 | 10,957 | +75% | 0 | 0 | — |
case-08 | fail→fail | 38,826 | 42,562 | +10% | 1 | 1 | 0% | 8,232 | 10,940 | +33% | 0 | 0 | — |
case-09 | fail→fail | 51,222 | 41,460 | -19% | 1 | 1 | 0% | 8,232 | 10,940 | +33% | 0 | 0 | — |
case-10 | fail→fail | 40,387 | 49,117 | +22% | 1 | 1 | 0% | 8,238 | 10,946 | +33% | 0 | 0 | — |
case-11 | fail→fail | 33,442 | 38,076 | +14% | 1 | 1 | 0% | 6,215 | 10,937 | +76% | 0 | 0 | — |
case-12 | fail→fail | 28,474 | 43,573 | +53% | 1 | 1 | 0% | 5,846 | 10,938 | +87% | 0 | 0 | — |
case-13 | fail→fail | 40,890 | 43,833 | +7% | 1 | 1 | 0% | 8,233 | 10,941 | +33% | 0 | 0 | — |
case-14 | fail→fail | 33,359 | 41,767 | +25% | 1 | 1 | 0% | 7,463 | 10,950 | +47% | 0 | 0 | — |
case-15 | fail→pass | 24,400 | 38,364 | +57% | 1 | 1 | 0% | 5,572 | 10,939 | +96% | 0 | 0 | — |
case-16 | fail→pass | 16,890 | 41,274 | +144% | 1 | 1 | 0% | 3,263 | 10,939 | +235% | 0 | 0 | — |
case-17 | fail→fail | 44,170 | 48,665 | +10% | 1 | 1 | 0% | 8,229 | 10,937 | +33% | 0 | 0 | — |
case-18 | fail→fail | 45,582 | 43,114 | -5% | 1 | 1 | 0% | 8,221 | 10,929 | +33% | 0 | 0 | — |
case-19 | fail→fail | 39,957 | 43,772 | +10% | 1 | 1 | 0% | 8,220 | 10,928 | +33% | 0 | 0 | — |
case-20 | fail→fail | 27,842 | 40,716 | +46% | 1 | 1 | 0% | 6,185 | 10,933 | +77% | 0 | 0 | — |
case-21 | fail→pass | 25,994 | 37,282 | +43% | 1 | 1 | 0% | 5,084 | 10,940 | +115% | 0 | 0 | — |
case-22 | fail→fail | 18,786 | 36,988 | +97% | 1 | 1 | 0% | 3,909 | 10,930 | +180% | 0 | 0 | — |
case-23 | fail→fail | 41,217 | 41,219 | +0% | 1 | 1 | 0% | 8,223 | 10,931 | +33% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +9 percentage points is the difference between those two pass rates over the 23 comparable cases. 4 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.