Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Open Design's all-hands: the year in review, the three priorities, and what every team owns next quarter. Built as a decision-grade corporate strategy deck for whole company.
.claude/skills/nexu-io-huashu-keynote-black/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 25% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 28% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 28% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 89% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 321% | 0% |
Produce a single-file, black-stage keynote deck. You are directing a launch event, not writing a document: the screen is a stage, every page is one beat, and the audience must be able to read it from the last row. 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「黑底巨型数字剧场 / Black Big-Number Stage」entry (大胆派, 还原 97%) of references/design-styles.md in huashu-design by 花叔 (alchaincyf), MIT licensed — references: Steve Jobs' 2007 iPhone keynote, Lei Jun's Xiaomi SU7 Ultra launch, Spotify Wrapped, Presentation Zen. The upstream entry is a written spec; this plugin realizes it as a full multi-section deck while preserving its DNA.
Not to be confused with siblings: dir-key-nav-minimal rotates 8 colored monochrome pages (indigo/cream/crimson/jade…) — this deck is constant pure black with one accent and no color rotation; studio is a black + electric-yellow design-studio text style with no big numbers; ppt-keynote is a light generic Keynote card deck.
<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. There are no light pages — every page is the black stage.
←/↑/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; fixed 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; only --accent may change)| Token | Value | Role | |---|---|---| | --stage | #000000 | the stage — every page background | | --ink | #FFFFFF | primary type, pure white only | | --accent | #FF6900 | the one accent — deck-wide single choice | | --muted | #9B9B9B | captions / secondary lines | | --faint | #5F5F5F | whisper labels, footnotes | | --line | #2A2A2A | hairlines, capsule borders | | --bar-base | #3A3A3A | losing / baseline comparison bar | | --sans | 'Inter', 'Geist', 'Noto Sans SC', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif | the only family |
--accent is a single choice per deck from exactly three values:Mi orange #FF6900, Spotify green #1ED760, Apple blue #2997FF. Mixing two of them in one deck is the cardinal sin of this style.
@import (Inter + Noto Sans SC); no otherexternal resource of any kind.
word, one number, one sentence, or one comparison. If a page needs a paragraph, it needs to become two pages.
tracking ≈ −0.04em, font-variant-numeric: tabular-nums, pure white, with a small uppercase unit beside or below — the unit (or one glyph) may take the accent. Exactly one quiet --muted caption line underneath.
full stop (<span class="a">。</span>), with one whisper line below.
radial-gradient(closest-side, rgba(255,255,255,.05), transparent) ellipse behind the hero element (.spotlight). This is the only decoration allowed — no other gradients, no photos, no emoji, no icon fonts, no shadows, no border-radius (runtime counter pill excepted).
--faintlabel centered at the top of every page (event name · chapter). It is chrome, not content — keep it nearly invisible.
.vs-row = white 20px label left,full-width --line-hairline-topped track, accent fill for the subject vs --bar-base fill for the baseline, values printed at the right end in tabular-nums (accent value white-hot, baseline value --muted). The page's subject is always the accent bar.
--muted expectation line above agiant white price whose currency glyph is the accent. The deck's climax.
| Layout | Role | |---|---| | cover | whisper event label + product name with accent full stop + one sub line | | agenda | "今晚,只讲三件事。" — 3 numbered rows, accent numerals, hairline-separated | | one-word | 240–300px single word + accent 。 + whisper subtitle | | big-number | 320–460px numeral + uppercase unit + one caption (the workhorse — use 2–3) | | versus | subject vs baseline spec bars, accent vs --bar-base, tabular values | | quote | 64–88px white statement, one phrase in accent, attribution in --faint | | price | strikethrough expectation + giant price, accent currency glyph | | one-more-thing | the classic teaser line + one whisper reveal | | closing | 「谢谢。」-scale farewell + key-hint capsule |
240–300px, hero numbers 320–460px, all with negative tracking (−0.02 to −0.05em). Captions 20–24px --muted; whisper labels 12–13px uppercase 4px-tracking --faint. Nothing between 24px and 64px — this style has no "medium" type; it whispers or it shouts.
tabular-nums. Large numbers take thincomma grouping (1,024).
a single phrase, never a whole headline.
cover → agenda → alternating word/number beats → versus → quote → price reveal → one more thing → closing. Place the biggest number and the price in the back half — the deck must escalate.
encouraged. Pure black + pure white carries the style; the accent is the laser pointer, not the lighting rig.
an honest <!-- 待用户提供 --> placeholder, never invented statistics. (The seed deck's 「曜石 YAO」 launch is fictional demo content and must be fully replaced.)
2–3 numbers are the protagonists (plus the price, if there is one). This style lives and dies by its hero numerals — pick them before any page.
example.html, retitle, then replace each section's contentfollowing the layout enumeration. Keep tokens, spotlight, whisper labels, and the script intact. Change --accent only to one of the three sanctioned values.
confirm the grammar, then batch the rest.
#/N hash stay in sync; no overflow beyond 1920×1080; one idea and ≤ 1 accent device per page; every digit tabular; versus bar widths match their printed values proportionally; no second accent anywhere; no leftover demo (「曜石」/「YAO」) text; grep for TODO.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-07 | fail→pass | 34,659 | 31,146 | -10% | 1 | 1 | 0% | 7,320 | 9,144 | +25% | 0 | 0 | — |
case-01 | fail→pass | 36,615 | 40,294 | +10% | 1 | 1 | 0% | 8,281 | 10,617 | +28% | 0 | 0 | — |
case-02 | pass→fail | 32,980 | 36,821 | +12% | 1 | 1 | 0% | 7,007 | 10,570 | +51% | 0 | 0 | — |
case-03 | pass→fail | 39,997 | 37,754 | -6% | 1 | 1 | 0% | 8,221 | 10,557 | +28% | 0 | 0 | — |
case-04 | pass→pass | 34,202 | 41,168 | +20% | 1 | 1 | 0% | 7,727 | 10,563 | +37% | 0 | 0 | — |
case-05 | fail→pass | 37,666 | 37,046 | -2% | 1 | 1 | 0% | 8,239 | 10,575 | +28% | 0 | 0 | — |
case-06 | fail→fail | 11,669 | 36,726 | +215% | 1 | 1 | 0% | 2,335 | 10,569 | +353% | 0 | 0 | — |
case-08 | fail→fail | 20,483 | 36,915 | +80% | 1 | 1 | 0% | 3,979 | 10,555 | +165% | 0 | 0 | — |
case-09 | fail→fail | 17,034 | 35,521 | +109% | 1 | 1 | 0% | 3,257 | 10,084 | +210% | 0 | 0 | — |
case-10 | fail→pass | 25,528 | 32,500 | +27% | 1 | 1 | 0% | 4,958 | 9,386 | +89% | 0 | 0 | — |
case-11 | fail→fail | 25,029 | 37,240 | +49% | 1 | 1 | 0% | 4,742 | 10,563 | +123% | 0 | 0 | — |
case-12 | fail→pass | 13,054 | 37,761 | +189% | 1 | 1 | 0% | 2,505 | 10,558 | +321% | 0 | 0 | — |
case-13 | fail→fail | 9,100 | 38,230 | +320% | 1 | 1 | 0% | 1,751 | 10,554 | +503% | 0 | 0 | — |
case-14 | fail→fail | 8,541 | 36,494 | +327% | 1 | 1 | 0% | 1,318 | 10,571 | +702% | 0 | 0 | — |
case-15 | fail→fail | 29,605 | 34,539 | +17% | 1 | 1 | 0% | 5,692 | 10,279 | +81% | 0 | 0 | — |
case-16 | fail→pass | 27,178 | 36,941 | +36% | 1 | 1 | 0% | 5,849 | 10,554 | +80% | 0 | 0 | — |
case-17 | fail→fail | 31,494 | 37,317 | +18% | 1 | 1 | 0% | 7,204 | 10,559 | +47% | 0 | 0 | — |
case-18 | fail→fail | 13,078 | 35,278 | +170% | 1 | 1 | 0% | 2,617 | 10,558 | +303% | 0 | 0 | — |
case-19 | fail→pass | 13,135 | 34,441 | +162% | 1 | 1 | 0% | 2,613 | 10,559 | +304% | 0 | 0 | — |
case-20 | fail→fail | 36,251 | 36,685 | +1% | 1 | 1 | 0% | 7,829 | 10,554 | +35% | 0 | 0 | — |
case-21 | fail→pass | 13,537 | 37,944 | +180% | 1 | 1 | 0% | 2,183 | 10,563 | +384% | 0 | 0 | — |
case-22 | fail→fail | 24,452 | 40,671 | +66% | 1 | 1 | 0% | 5,108 | 10,550 | +107% | 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. 22 cases were attempted. The headline lift of +27 percentage points is the difference between those two pass rates over the 22 comparable cases. 3 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.