Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Produce a print-grade single-page kami (紙 / 纸) document — warm parchment canvas, ink-blue accent, serif at one weight, no italic, no cool grays. The output reads like a professional white paper or studio one-pager, not an app UI. Multilingual by design (EN · zh-CN · ja). One self-contained HTML file, zero dependencies.
.claude/skills/nexu-io-kami-landing/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | 23% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 6% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 138% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 34% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 58% | 0% |
Produce a single-page document in the kami (紙 / 纸) design system. The aesthetic borrows from editorial print, technical white papers, and old typewritten correspondence — the goal is good content on good paper, not modern app UI.
> Design system source of truth: design-systems/kami/DESIGN.md. > Read it before shipping. Tokens, type rules, the "ten invariants", > and forbidden colors all live there.
A single self-contained HTML file with:
#f5f4ed) — never #ffffff.#1B365D), used on thesection number, the headline accent word, the left rule of the manifesto, and the metric values. Anywhere else, ink-blue must cover ≤ 5% of the document surface area.
TsangerJinKai02 / Source Han Serif (CN), or YuMincho (JA), selected by the language parameter. No italic anywhere.
per language (0 for EN, 0.35px for CN, 0.02em for JA).
font-variant-numeric: tabular-nums sometric columns and pagination digits sit cleanly aligned.
0 4px 24px rgba(0,0,0,0.05)).No hard drop shadows, no neumorphism, no backdrop-filter blurs.
#E4ECF5), never rgba() —print renderers double-paint alpha tags.
text1. Eyebrow row — locale switcher · edition · version (12px sans uppercase) 2. Hero — display headline (96–106px serif 500), tagline (21px), three hero-token chips (paper-tinted) 3. Manifesto — pull paragraph in serif 400, 20px, 1.65 LH, with ink-blue left-rule and signature footer 4. Metrics row — 3-6 cells: value (24px serif 500 ink-blue, tabular-nums), label (12px serif 500 olive) 5. Chapters — numbered (`01`, `02`, …) ink-blue serif 500 14px, section title 28-32px, body 14-15px 6. Footer — kicker word (mega serif 500), license · year · contact, three-column site index in 12px serif 500
Use AskQuestion (or equivalent) to collect the brand brief in chunks. Don't dump the whole input list on the user; ask in two rounds:
primary URL, dominant language.
tiles, 3-5 chapter (title + lede + body) entries.
The language parameter controls which --serif stack is set on :root. Pick based on the dominant language of the manifesto and chapter body copy:
| language | --serif | Notes | | :--------- | :-------------------------------------------------------- | :------------------------------------- | | en | Charter, Georgia, Palatino, Times New Roman, serif | default | | zh-CN | TsangerJinKai02, Source Han Serif SC, Songti SC, Georgia | letter-spacing 0.35px on body | | ja | YuMincho, Hiragino Mincho ProN, Source Han Serif JP | also override --olive to #4d4c48 (YuMincho strokes are thinner) |
Inline mixed-script content is fine — the browser per-glyph fallback chain handles it. Do not chain all three families inside one font-family declaration; that dilutes character.
index.htmlOutput a single file with all CSS inline. Mirror the structure of example.html and use only the tokens from design-systems/kami/DESIGN.md. Do not invent new colors, weights, or font families.
Component primitives the agent can drop in (all defined in the example's <style> block):
.eyebrow, .label — sans-serif overlines.metric — value + label vertical pair.section-num + .section-title + .section-lede.tag.standard, .tag.brush — solid-hex tags (one brush max per page).quote — left-rule serif 500 quoteul.dash — en-dash bullets in ink-blue.code — ivory-bg, 1px-border code block.footer-kicker — mega serif 500 wordTag every editable element with data-od-id="<unique-slug>" so the host app's comment mode can target it.
#f5f4ed), never #ffffff.#1B365D) covers ≤ 5% of visible surface — countsection numbers, the manifesto rule, the metric values, the headline accent. Total ≤ 5%.
slate-*, no #f3f4f6.font-weight: 700 or 900anywhere on serif text.
font-style: italic anywhere. Emphasis swaps to ink-bluecolor or a .tag instead.
figures) carry font-variant-numeric: tabular-nums.
#E4ECF5), never rgba().1px ring or a 0 4px 24px rgba(0,0,0,0.05)whisper. No hard drop shadows.
horizontal scroll.
textdesign-templates/kami-landing/ ├── SKILL.md # this contract ├── README.md # human quick-start └── example.html # canonical OpenDesign rendering
fixed; if a brief demands a brand color, push back or render the brand color as a single .tag.brush accent.
nothing.
dominant language, override --serif on :root, and let the browser per-glyph fallback resolve mixed-script inline content.
rgba() for tag fills — print renderersdouble-paint alpha tags. Use the pre-blended solid hex from the table in design-systems/kami/DESIGN.md §2.
an app — motion belongs to the reader scrolling.
design-systems/kami/DESIGN.md — the full token spec.design-templates/kami-deck/ — sister skill that produces aslide deck in the same kami language.
tw93/kami — originalClaude skill (MIT) that the design system adapts.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-10 | fail→pass | 15,397 | 7,193 | -53% | 1 | 1 | 0% | 2,392 | 2,935 | +23% | 0 | 0 | — |
case-15 | fail→pass | 20,828 | 6,854 | -67% | 1 | 1 | 0% | 2,749 | 2,909 | +6% | 0 | 0 | — |
case-01 | fail→fail | 50,728 | 7,623 | -85% | 1 | 1 | 0% | 8,245 | 2,891 | -65% | 0 | 0 | — |
case-02 | fail→fail | 39,883 | 7,258 | -82% | 1 | 1 | 0% | 8,243 | 3,090 | -63% | 0 | 0 | — |
case-03 | fail→fail | 40,688 | 12,168 | -70% | 1 | 1 | 0% | 8,244 | 4,050 | -51% | 0 | 0 | — |
case-04 | fail→pass | 21,303 | 33,166 | +56% | 1 | 1 | 0% | 3,709 | 8,816 | +138% | 0 | 0 | — |
case-09 | fail→fail | 17,788 | 17,616 | -1% | 1 | 1 | 0% | 2,654 | 4,808 | +81% | 0 | 0 | — |
case-05 | pass→pass | 6,894 | 5,923 | -14% | 1 | 1 | 0% | 954 | 2,788 | +192% | 0 | 0 | — |
case-06 | fail→pass | 15,450 | 5,811 | -62% | 1 | 1 | 0% | 2,102 | 2,816 | +34% | 0 | 0 | — |
case-07 | fail→pass | 19,970 | 13,668 | -32% | 1 | 1 | 0% | 2,770 | 4,390 | +58% | 0 | 0 | — |
case-08 | fail→pass | 17,240 | 7,387 | -57% | 1 | 1 | 0% | 2,572 | 3,374 | +31% | 0 | 0 | — |
case-11 | pass→pass | 15,845 | 10,883 | -31% | 1 | 1 | 0% | 2,563 | 3,551 | +39% | 0 | 0 | — |
case-12 | fail→pass | 16,640 | 11,036 | -34% | 1 | 1 | 0% | 2,930 | 4,074 | +39% | 0 | 0 | — |
case-13 | fail→pass | 14,819 | 5,389 | -64% | 1 | 1 | 0% | 1,938 | 2,854 | +47% | 0 | 0 | — |
case-14 | pass→pass | 10,147 | 14,015 | +38% | 1 | 1 | 0% | 1,707 | 3,250 | +90% | 0 | 0 | — |
case-16 | fail→pass | 15,015 | 13,956 | -7% | 1 | 1 | 0% | 2,841 | 3,645 | +28% | 0 | 0 | — |
case-17 | fail→pass | 16,766 | 9,674 | -42% | 1 | 1 | 0% | 2,948 | 3,821 | +30% | 0 | 0 | — |
case-18 | fail→pass | 17,452 | 4,872 | -72% | 1 | 1 | 0% | 2,348 | 2,849 | +21% | 0 | 0 | — |
case-19 | fail→fail | 29,764 | 28,637 | -4% | 1 | 1 | 0% | 3,159 | 4,958 | +57% | 0 | 0 | — |
case-20 | pass→pass | 22,420 | 16,818 | -25% | 1 | 1 | 0% | 3,227 | 4,960 | +54% | 0 | 0 | — |
case-21 | pass→fail | 50,873 | 48,359 | -5% | 1 | 1 | 0% | 8,235 | 10,250 | +24% | 0 | 0 | — |
case-22 | pass→pass | 27,198 | 52,753 | +94% | 1 | 1 | 0% | 6,020 | 10,262 | +70% | 0 | 0 | — |
case-23 | pass→fail | 33,016 | 112,924 | +242% | 1 | 1 | 0% | 6,005 | 10,256 | +71% | 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 +39 percentage points is the difference between those two pass rates over the 23 comparable cases. 2 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.