nexu-io/open-design

huashu-sparkline-arc

Open Design's revenue-driver narrative: what actually moves ARR, the leverage points, and the forecast. Built as a decision-grade data & finance deck for board, finance leadership.

80CollectingReads files
See how to use itView GitHub source
npx skills add https://github.com/nexu-io/open-design --skill "plugins/_official/examples/huashu-sparkline-arc"
Automated source guideDesignDeep source

Source checked Jul 28, 2026·Refresh due Oct 26, 2026

Reorganized from the pinned upstream SKILL.md

Source-grounded design guide: huashu-sparkline-arc

Produce a single-file, Duarte-style narrative deck. You are a story cartographer working in HTML: every page is built on one oscillating waveform that travels between "what is" and "what could be", and orange appears only where the story turns. The visual system, canvas contract…

npx skills add https://github.com/nexu-io/open-design --skill "plugins/_official/examples/huashu-sparkline-arc"
Check the pinned source

The pinned source contains enough sections and task detail for a source-grounded deep guide; automated content is still not an independent test.

1,211 source words · 7 usable sections

Design process

Read huashu-sparkline-arc through these 5 source sections

Sections are extracted automatically from the pinned SKILL.md and link back to the source.

01

Workflow

1. Clarify once: topic, audience, page count — and the story spine: what is the "what is", what is THE dated turning point, which 3–4 numbers prove the climb. This style dies without a real inflection moment. 2. Copy example.html, retitle, then replace each section's content fol…

SKILL.md · Workflow
Clarify once: topic, audience, page count — and the story spine:Copy example.html, retitle, then replace each section's contentFor ≥ 5 pages, showcase first: build the cover + the turning-point
02

Hard spec (locked — violating any line is a regression)

Fonts: one Google Fonts @import (Inter 400–900 + Geist Mono 400–600) and nothing else. No CDN scripts, no chart libraries, no images — every chart is a hand-written inline SVG path. A second accent color is the cardinal sin of this style; grey is the only other voice.

SKILL.md · Hard spec (locked — violating any line is a regression)
One fixed at 1920 × 1080 px, centered withEach page is one inside stage with aNavigation (keep the script verbatim): ←/↑/PageUp previous,
03

Canvas & runtime

One fixed at 1920 × 1080 px, centered with

SKILL.md · Canvas & runtime
One fixed at 1920 × 1080 px, centered withEach page is one inside stage with aNavigation (keep the script verbatim): ←/↑/PageUp previous,
04

Design tokens (:root — keep the names, re-theme values only)

Fonts: one Google Fonts @import (Inter 400–900 + Geist Mono 400–600) and nothing else. No CDN scripts, no chart libraries, no images — every chart is a hand-written inline SVG path. A second accent color is the cardinal sin of this style; grey is the only other voice.

SKILL.md · Design tokens (:root — keep the names, re-theme values only)
Fonts: one Google Fonts @import (Inter 400–900 + Geist Mono 400–600) and nothing else. No CDN scripts, no chart libraries, no images — every chart is a hand-written inline SVG path. A second accent color is the cardinal…
05

Signature devices (the visual DNA — every deck must show them)

1. The waveform spine: every page carries at least one full-bleed .spark SVG with a smooth cubic-bézier oscillating path. Line layer uses preserveAspectRatio="none" so the path stretches; annotation dots/text live in a second, non-stretched SVG layer with the same viewBox so cir…

SKILL.md · Signature devices (the visual DNA — every deck must show them)
The waveform spine: every page carries at least one full-bleedOrange turning-point annotations: .pt group = soft halo circleProgressive reveal: paths carry pathLength="1" + class draw

SkillSignal prompt templates

Provide the task, context, and acceptance criteria

These prompts were written by SkillSignal from the source structure; they are not upstream text.

Source-grounded prompt

Use for a design task while explicitly checking the source sections.

Use huashu-sparkline-arc for this design task: [task]. Inputs and constraints: [details]. Work through these pinned SKILL.md sections: “Workflow”, “Hard spec (locked — violating any line is a regression)”, “Canvas & runtime”, “Design tokens (:root — keep the names, re-theme values only)”, “Signature devices (the visual DNA — every deck must show them)”. Cite the concrete requirements that shape each step, do not invent capabilities absent from the source, and verify the result against: [acceptance criteria].

Design checklist

Verify each item before delivery

The source section “Workflow” has been checked.

The source section “Hard spec (locked — violating any line is a regression)” has been checked.

The source section “Canvas & runtime” has been checked.

The source section “Design tokens (:root — keep the names, re-theme values only)” has been checked.

Static permission evidence

Inspect the exact source lines that triggered a signal

These are source excerpts matched by deterministic rules, not findings of malicious behavior, safety, or actual execution.

Choose a different workflow

When another Skill is the better fit

ab-testing

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

A separate implementation from coreyhaines31/marketingskills; compare its source, maintenance signals, and permission requirements.

Open source detail

churn-prevention

When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o

A separate implementation from coreyhaines31/marketingskills; compare its source, maintenance signals, and permission requirements.

Open source detail

design-intelligence

Grounded design brief from the adopted corpus — style, WCAG-checked color tokens, typography, layout pattern, anti-patterns. Use on ui-design-brief or any which-style/palette/font/chart decision.

A separate implementation from event4u-app/agent-config; compare its source, maintenance signals, and permission requirements.

Open source detail

FAQ

What does the huashu-sparkline-arc source document cover?

Produce a single-file, Duarte-style narrative deck. You are a story cartographer working in HTML: every page is built on one oscillating waveform that travels between "what is" and "what could be", and orange appears only where the story turns. The visual system, canvas contract…

How do I install huashu-sparkline-arc?

The source record exposes this install command: npx skills add https://github.com/nexu-io/open-design --skill "plugins/_official/examples/huashu-sparkline-arc". Inspect the command and pinned source before running it.

Which permission-related actions were detected?

Static rules flagged read-files in the source; the page lists the matching lines and excerpts.

Repository stars
82,073
Repository forks
9,485
Quality
80/100
Source repository last pushed

Quality breakdown

Based on traceable docs and repository signals; stars are not treated as quality.

80/100
Documentation24/30
Specificity16/25
Maintenance20/20
Trust signals20/25

Compare before choosing

Related Agent Skills and source variants

These links are selected from shared tasks, functions, stacks, platforms, and same-name variants. Compare the source owner, documentation, permissions, and maintenance signals.

ab-testing by coreyhaines31

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

churn-prevention by coreyhaines31

When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o

design-intelligence by event4u-app

Grounded design brief from the adopted corpus — style, WCAG-checked color tokens, typography, layout pattern, anti-patterns. Use on ui-design-brief or any which-style/palette/font/chart decision.

design-system-capture by event4u-app

Write and maintain DESIGN.md + PRODUCT.md — captures visual decisions and interaction patterns so design tasks stay consistent across sessions without re-scanning past work.

existing-ui-audit by event4u-app

Use BEFORE writing or editing any non-trivial UI — inventories components, design tokens, shadcn primitives, and reusable patterns into state.ui_audit. Hard gate for the ui directive set.

View original Skill.mdThis page is parsed directly from the repository SKILL.md without editorial rewriting. Collected: Jul 28, 2026 · about 7 min

Narrative Sparkline · 叙事波形

Produce a single-file, Duarte-style narrative deck. You are a story cartographer working in HTML: every page is built on one oscillating waveform that travels between "what is" and "what could be", and orange appears only where the story turns. 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 Sparkline叙事波形 / Narrative Sparkline (Duarte式) spec (中性派, 还原91%) in references/design-styles.md of huashu-design by 花叔 (alchaincyf), MIT licensed. Lineage: Nancy Duarte《Resonate》sparkline structure, Al Gore An Inconvenient Truth, Duarte Inc. data storytelling.

Hard spec (locked — violating any line is a regression)

Canvas & runtime

  • One <div id="stage"> fixed at 1920 × 1080 px, centered with position: 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.
  • Each page is one <section class="slide"> inside #stage with a data-screen-label="01 封面"-style label; exactly one slide carries .active; dark pages add .dark.
  • Navigation (keep the script verbatim): //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://.

Design tokens (:root — keep the names, re-theme values only)

TokenValueRole
--paper#FFFFFFlight page background
--night#0E0E0Cdark pages (solo-line, closing)
--ink#1A1814primary text on light
--night-ink#F5F3EEprimary text on dark
--accent#FF6B2Cthe brand orange — the only accent
--accent-dimrgba(255,107,44,.14)annotation halos / soft fills
--ghost#C9C7C2greyed comparison waveform
--grid#ECEAE6hairline rules
--muted#9A958Csecondary labels
--muted-2#5F5A52body copy on light
--night-line#26241Fhairlines on dark pages
--night-mut#8A857Csecondary text on dark
--sans'Inter', 'PingFang SC', …, sans-serifheadlines + body
--mono'Geist Mono', 'SFMono-Regular', 'Menlo', monospacelabels, annotations, numerals

Fonts: one Google Fonts @import (Inter 400–900 + Geist Mono 400–600) and nothing else. No CDN scripts, no chart libraries, no images — every chart is a hand-written inline SVG path. A second accent color is the cardinal sin of this style; grey is the only other voice.

Signature devices (the visual DNA — every deck must show them)

  1. The waveform spine: every page carries at least one full-bleed .spark SVG with a smooth cubic-bézier oscillating path. Line layer uses preserveAspectRatio="none" so the path stretches; annotation dots/text live in a second, non-stretched SVG layer with the same viewBox so circles stay round and type stays true. Line weights: .arc 5px orange hero line, .arc-thin 3.5px, .ghost-line 3px grey, .ghost-dash stroke-dasharray: 2 10 grey baseline/industry reference.
  2. Orange turning-point annotations: .pt group = soft halo circle (--accent-dim), solid orange dot (r≈6–7), optional 2px orange ring for THE inflection point, plus Geist Mono uppercase .lab (12px, 2px tracking) and .val (20px, 600) value text. Grey .pt-ghost dots mark pain points on comparison lines. Orange marks turning points only — if every dot is orange, nothing turns.
  3. Progressive reveal: paths carry pathLength="1" + class draw (stroke-dasharray: 1; stroke-dashoffset: 1); .slide.active .draw animates stroke-dashoffset to 0 (spark-draw, ~1.8s, ease-out-ish cubic-bezier). Segment stagger via d1/d2/d3, dot fade-ins via p1…p5 (animation-delay ladder). Because .active toggles display, the reveal replays every time a slide is entered — keep it that way.
  4. Mono hairline chrome: 56px .chrome-top / .chrome-bottom strips on every page — Geist Mono 11px uppercase, 2px tracking, --grid hairline border (--night-line on dark), org name left with an orange / separator, orange uppercase tag right, orange P.NN page marker bottom right. No solid bars, no logos — type and one hairline only.
  5. Greyed contrast: every claim gets a comparison — dashed industry baseline, the old process line above the new one, or a flat ghost line under the rising arc. The grey line is the "what is"; the orange line is the "what could be".
  6. Mono numerals: giant numbers (.giant, 160–220px Geist Mono 600, negative tracking, font-variant-numeric: tabular-nums) with one orange glyph (%, ×, unit); stat strips (.stat-strip) with a --grid top hairline, 44px mono numbers and 11px uppercase captions.

Layout enumeration (use 6+ per deck, never one layout everywhere)

LayoutRole
covergiant statement headline (orange full stop) + waveform below with what-is / turn / new-bliss dots
contentschapters hung directly on the waveform as numbered annotation points
what-isleft action-title column + low, flat grey waveform with dashed industry ghost + stat strip
turning-pointgiant mono numeral + V-shaped inflection waveform, THE ringed orange dot, dated annotation
before-afterstacked contrast: grey jagged line top half, orange rising line bottom half, hairline divider
solo-linedark page, one orange line crossing the void, one annotation, one big number
evidencerising waveform with 4 labelled value dots + summary strip of mini inline-SVG sparklines
roadmapthree waveform segments revealed in sequence (d1/d2/d3) + three phase columns below
quoteorange SVG quote marks + 56px/800 quote with orange key phrase + ghost waveline footer
closingdark page, 6px orange curve climbing out of the top-right edge + giant CTA

Typography & narrative discipline

  • Headlines: Inter 800–900, 54–108px, tracking −1.5 to −4px; the closing glyph (。 or .) of a hero headline is orange — never the whole headline.
  • Body: 19px / 1.8 --muted-2, emphasized spans --ink 700, max-width ~620px. Labels/annotations/numerals: always Geist Mono, uppercase, 2–4px tracking. Chinese copy uses 「」 quotes and full-width punctuation.
  • Default 10 pages (8–11 allowed). White pages dominate; at most 2–3 dark pages (solo-line + closing). Orange budget: turning points, annotation dots, chrome tags and single glyphs — roughly ≤ 5 orange touches per page.
  • The deck must read as a Duarte sparkline: establish "what is" low, mark one explicit dated turning point, oscillate through evidence, end with the line climbing out of frame ("new bliss"). One story, one line.
  • No emoji, no gradients, no shadows, no images, no chart libraries. Real content only — the user's actual numbers and dates; missing data gets an honest <!-- 待用户提供 --> placeholder, never invented statistics. (The seed deck's 「澈流 / CHELIU」 data is fictional demo content and must be fully replaced.)

Workflow

  1. Clarify once: topic, audience, page count — and the story spine: what is the "what is", what is THE dated turning point, which 3–4 numbers prove the climb. This style dies without a real inflection moment.
  2. Copy example.html, retitle, then replace each section's content following the layout enumeration. Keep chrome strips, spark/reveal CSS, token names, and the script intact. Reshape the bézier paths to match the user's actual data direction (down-then-up, stepped, etc.) but keep the two-layer SVG pattern and pathLength="1" reveal mechanics.
  3. For ≥ 5 pages, showcase first: build the cover + the turning-point page, confirm the grammar, then batch the rest.
  4. Self-check before delivery: arrow through every page; counter and #/N hash stay in sync; reveal animation replays on each entry; no overflow beyond 1920×1080; annotation dots sit visually on their lines at 16:9; orange appears only at turning points; every page has the chrome strips and at least one waveform; no leftover demo (「澈流」/"CHELIU") text; grep for TODO.
Skill path
plugins/_official/examples/huashu-sparkline-arc/SKILL.md
Commit SHA
89d6d4ef21ba
Repository license
Apache-2.0
Data collected