Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Open Design's positioning & messaging system: the one-line promise, the pillars, and the proof — the source of truth for all copy. Built as a decision-grade marketing & GTM deck for brand & marketing team.
.claude/skills/nexu-io-huashu-pentagram-grid/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-15 | ✗→✓ | ▲ Improved | 69% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 27% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 81% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 273% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 314% | 0% |
Produce a single-file, Swiss-grid data deck. You are an information architect working in HTML: every page is a measured grid, every number has a coordinate, and red appears exactly where the eye must land. 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.
Adapted from the ppt-pentagram showcase of huashu-design by 花叔 (alchaincyf), MIT licensed. The upstream file is a single data page; this plugin extends it into a full multi-section deck while preserving its DNA.
<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; dark pages add .dark.
←/↑/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, re-theme values only)| Token | Value | Role | |---|---|---| | --paper | #FFFFFF | light page background | | --night | #111111 | dark pages + chrome bars | | --ink | #111111 | primary text on light | | --night-ink | #FFFFFF | primary text on dark | | --accent | #E63946 | the only red — the only accent | | --grid | #E8E8E8 | hairline rules / column rules | | --track | #F5F5F5 | bar-chart track | | --bar-base | #E0E0E0 | losing / baseline bar | | --muted | #999999 | secondary labels | | --muted-2 | #666666 | body copy on light | | --faint | #BBBBBB | tertiary captions | | --night-line | #333333 | hairlines on dark pages | | --night-mut | #888888 | secondary text on dark | | --sans | 'Helvetica Neue', 'Helvetica', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif | the only family |
Zero external dependencies: no Google Fonts, no @import, no CDN. One font stack, one accent. A second accent color is the cardinal sin of this style.
uppercase 12px/700/3px-tracking label left (with a red / separator) + red uppercase label right; bottom bar = 900-weight logotype + 1px #444 vertical divider + grey footnote left, red uppercase label right. Dark pages swap solid bars for 1px --night-line hairline strips with the same text.
(top:64px; bottom:64px) and horizontals (left/right:80px) at opacity: 0.05 black (0.08 white on dark). 80px outer margins are the master gutter; columns land on them.
negative-tracked (≈ −1px per 20px of size) number per hero page; its decimal point, slash, or unit glyph is red (<span class="decimal"> / .red). Hero numerals on dark divider pages may be fully red.
.bar-row = right-aligned 90px label +--track track + fill (winner red / dark black / base grey) with the value printed inside, right-aligned, white (grey on base). The subject of the page is always the red bar. Optional .delta red uppercase annotation underneath.
border-top: 1px solid var(--grid) row of.summary-items — 32px/900 number with one red glyph + 11px uppercase spaced caption.
.open-badge): 2px red border, red uppercase11px text, optional inline-SVG dot glyph. Square corners — this style has zero border-radius anywhere except the runtime counter pill.
| Layout | Role | |---|---| | cover | giant statement headline (red full stop) + right-column hero numeral | | contents | numbered red-kicker rows separated by --grid hairlines | | big-number | one 260px numeral protagonist + side stat rail | | data-theater | left hero column + 2–3 .bench-col bar-chart columns + summary strip (the upstream master) | | divider | dark page, 260px red chapter number + oversized title | | two-column | before/after comparison: grey bars left, red bars right | | timeline | equal columns, 96px year numerals graded grey→black→red | | quote | whitespace + red SVG quote marks + 54px/900 quote, key phrase red | | stats-grid | 2×2 grid of 128px numerals with red glyph accents | | closing | dark page, giant CTA with red punctuation + key-hint capsule |
180–260px weight 900. Body 15–18px, --muted-2, line-height 1.7, emphasized spans in --ink 700.
letter-spacing: 2–3px,text-transform: uppercase — this is the connective tissue of the style.
single punctuation glyphs (。 , /) inside headlines, never whole headings.
pages (divider + closing, optionally one dark hero) — this is a white style with black bookends, not a dark theme.
everything is red, nothing is.
shadows, no rounded corners. Flat ink on paper. Icons, if truly needed, are minimal inline SVG strokes.
<!-- 待用户提供 --> placeholder, never invented statistics. (The seed deck's "析衡" data is fictional demo content and must be fully replaced.)
the protagonists. This style lives and dies by its hero numerals — pick them before writing any page.
example.html, retitle, then replace each section's contentfollowing the layout enumeration. Keep chrome bars, grid hairlines, token names, and the script intact. Re-theme by changing token values only — and only if the user's brand genuinely demands it; the red/black/white triad is the identity.
page, confirm the grammar, then batch the rest.
#/N hash stay in sync; no overflow beyond 1920×1080; bar widths match their printed values proportionally; every page shows the chrome bars and at least one grid hairline; red count per page ≤ 4; no leftover demo ("析衡"/"XIHENG") text; grep for TODO.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-15 | fail→pass | 9,878 | 4,911 | -50% | 1 | 1 | 0% | 1,768 | 2,986 | +69% | 0 | 0 | — |
case-01 | fail→fail | 41,085 | 65,075 | +58% | 1 | 1 | 0% | 8,306 | 10,574 | +27% | 0 | 0 | — |
case-14 | fail→fail | 12,856 | 8,761 | -32% | 1 | 1 | 0% | 1,822 | 3,398 | +86% | 0 | 0 | — |
case-02 | fail→pass | 44,749 | 53,272 | +19% | 1 | 1 | 0% | 8,294 | 10,562 | +27% | 0 | 0 | — |
case-03 | fail→fail | 38,361 | 38,736 | +1% | 1 | 1 | 0% | 8,304 | 10,572 | +27% | 0 | 0 | — |
case-04 | fail→pass | 12,235 | 11,163 | -9% | 1 | 1 | 0% | 2,127 | 3,848 | +81% | 0 | 0 | — |
case-05 | pass→pass | 17,531 | 48,728 | +178% | 1 | 1 | 0% | 3,181 | 10,507 | +230% | 0 | 0 | — |
case-06 | fail→pass | 17,118 | 36,866 | +115% | 1 | 1 | 0% | 2,811 | 10,497 | +273% | 0 | 0 | — |
case-07 | fail→pass | 17,410 | 35,659 | +105% | 1 | 1 | 0% | 2,537 | 10,512 | +314% | 0 | 0 | — |
case-08 | pass→fail | 10,052 | 50,589 | +403% | 1 | 1 | 0% | 1,491 | 10,499 | +604% | 0 | 0 | — |
case-09 | fail→pass | 17,665 | 17,084 | -3% | 1 | 1 | 0% | 2,746 | 5,482 | +100% | 0 | 0 | — |
case-10 | fail→pass | 14,732 | 6,773 | -54% | 1 | 1 | 0% | 2,550 | 3,300 | +29% | 0 | 0 | — |
case-11 | fail→pass | 12,552 | 6,342 | -49% | 1 | 1 | 0% | 2,091 | 3,171 | +52% | 0 | 0 | — |
case-12 | fail→fail | 20,335 | 16,083 | -21% | 1 | 1 | 0% | 2,762 | 4,636 | +68% | 0 | 0 | — |
case-13 | fail→pass | 19,382 | 15,424 | -20% | 1 | 1 | 0% | 2,616 | 4,666 | +78% | 0 | 0 | — |
case-16 | fail→pass | 19,231 | 18,496 | -4% | 1 | 1 | 0% | 3,581 | 5,052 | +41% | 0 | 0 | — |
case-17 | pass→pass | 13,517 | 50,542 | +274% | 1 | 1 | 0% | 2,109 | 10,491 | +397% | 0 | 0 | — |
case-18 | fail→pass | 10,400 | 6,069 | -42% | 1 | 1 | 0% | 1,712 | 3,186 | +86% | 0 | 0 | — |
case-19 | pass→pass | 30,460 | 7,859 | -74% | 1 | 1 | 0% | 2,610 | 3,818 | +46% | 0 | 0 | — |
case-20 | pass→fail | 49,559 | 52,342 | +6% | 1 | 1 | 0% | 8,229 | 10,497 | +28% | 0 | 0 | — |
case-21 | pass→fail | 25,536 | 34,201 | +34% | 1 | 1 | 0% | 5,202 | 10,489 | +102% | 0 | 0 | — |
case-22 | pass→fail | 37,520 | 50,808 | +35% | 1 | 1 | 0% | 8,213 | 10,481 | +28% | 0 | 0 | — |
case-23 | fail→pass | 16,012 | 9,106 | -43% | 1 | 1 | 0% | 2,092 | 4,104 | +96% | 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 +35 percentage points is the difference between those two pass rates over the 23 comparable cases. 5 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.