Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Open Design's financial review: runway, burn, and the sustainability plan that keeps the project independent. Built as a decision-grade data & finance deck for board, leadership.
.claude/skills/nexu-io-ve-midnight-editorial/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 27% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 96% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 60% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 73% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 158% | 0% |
A single-aesthetic deck plugin: the midnight-editorial preset from the upstream MIT-licensed nicobailon/visual-explainer skill (templates/slide-deck.html), pinned and shipped as one self-contained seed — example.html. The upstream mermaid diagram slide has been replaced by a pure CSS/SVG pipeline page; the deck has zero external JS dependencies (Google Fonts @import is the only external reference).
Signature combination (what makes this skin this skin):
#0f1729 page, #d4a73a accent, parchmenttext #e8e4d8. Cinematic, magazine-grade, dramatic.
(clamp(48px,10vw,120px), weight 400, -2px tracking, 0.95 line-height) falling directly to 13–14px uppercase JetBrains Mono labels with 1.5px letter-spacing. No intermediate sans anywhere.
radial-gradient(ellipse at X% Y%, var(--accent-dim) 0%, transparent ~40%) inline background, with the ellipse anchor moving per slide.
opacity 0.15 on the title slide; dividers carry a ghost clamp(100px,22vw,260px) gold numeral at opacity 0.06.
fade + translateY(40px) + scale(0.98) on cubic-bezier(0.16,1,0.3,1); .reveal children stagger at 0.1s increments (max 6).
button, html[data-theme]), defaulting to the OS preference. The light mode is a locked cream/gold skin, not an afterthought.
Start from example.html. Replace content only — never rewrite the design system or the runtime script, and never introduce colors or fonts outside the token sheets below.
css:root { --font-body: 'Instrument Serif', Georgia, serif; --font-mono: 'JetBrains Mono', 'SF Mono', Consolas, monospace; --bg: #0f1729; --surface: #162040; --surface2: #1d2b52; --surface-elevated: #243362; --border: rgba(200, 180, 140, 0.08); --border-bright: rgba(200, 180, 140, 0.16); --text: #e8e4d8; --text-dim: #9a9484; --accent: #d4a73a; --accent-dim: rgba(212, 167, 58, 0.1); --code-bg: #0a0f1e; --code-text: #d4d0c4; --green: #4ade80; --green-dim: rgba(74, 222, 128, 0.1); --red: #f87171; --red-dim: rgba(248, 113, 113, 0.1); --blue: #60a5fa; --blue-dim: rgba(96, 165, 250, 0.1); }
html[data-theme="light"])csshtml[data-theme="light"] { --bg: #faf8f2; --surface: #ffffff; --surface2: #f5f0e6; --surface-elevated: #fffdf5; --border: rgba(30, 30, 50, 0.08); --border-bright: rgba(30, 30, 50, 0.16); --text: #1a1814; --text-dim: #6e685c; --accent: #b8860b; --accent-dim: rgba(184, 134, 11, 0.08); --code-bg: #2a2520; --code-text: #e8e4d8; --green: #16a34a; --green-dim: rgba(22, 163, 74, 0.08); --red: #dc2626; --red-dim: rgba(220, 38, 38, 0.08); --blue: #2563eb; --blue-dim: rgba(37, 99, 235, 0.08); }
The same light block is mirrored under @media (prefers-color-scheme: light) { html:not([data-theme]) { … } } as a no-JS fallback. Both themes are part of the contract — every slide you author must read correctly in both. Semantic colors (--green/--red/--blue) are for status only (trends, before/after labels, diagram node families) — never decorative.
@import only)| Slot | Font | Usage | | --- | --- | --- | | --font-body | Instrument Serif (400 + italic), Georgia fallback | display, headings, body, KPI values, quotes | | --font-mono | JetBrains Mono 400/500/600/700 | labels, subtitles, counters, axis/edge labels, code |
No third font. No bold serif — drama comes from size, not weight.
| Element | Spec | | --- | --- | | .slide__display | clamp(48px,10vw,120px), 400, -2px, lh 0.95, gold on title | | .slide__heading | clamp(28px,5vw,48px), 400, -0.5px, lh 1.15 | | .slide__body | clamp(16px,2.2vw,22px), lh 1.6, --text-dim | | .slide__subtitle | mono clamp(12px,1.5vw,18px), uppercase, 1px tracking | | .slide__label | mono clamp(10px,1.2vw,13px), 600, uppercase, 1.5px, gold | | Divider ghost numeral | clamp(100px,22vw,260px), opacity 0.06, gold |
| Master | Class | Notes | | --- | --- | --- | | Title / cover | .slide--title | centered, gold display, corner-mark SVGs, glow at 50% 30% | | Agenda / TOC | .slide--toc | gold mono numbers + serif items + right-aligned mono hints, hairline rules | | Section divider | .slide--divider | ghost gold numeral behind heading + mono subtitle | | Content (asymmetric) | .slide--content | 3fr/2fr grid: gold-dot bullets left, decorative SVG aside right | | Split (before/after) | .slide--split | full-bleed 3fr/2fr surface panels, red "Before" / green "After" labels | | Diagram | .slide--diagram + .pipeline-wrap | pure CSS pipeline: 2px accent-bordered nodes, mono edge labels, arrow connectors, legend. Node families: gold (core), blue (process), green (output/storage). Never mermaid, never any external JS. | | Dashboard / big numbers | .slide--dashboard | KPI cards: serif clamp(36px,6vw,64px) values + mono labels + trend lines | | Chart | .slide--chart + .bar-chart | pure CSS bars (gradient gold fill; --ghost dashed variant for baselines), mono values + axis labels | | Table | .slide--table + .data-table | mono uppercase headers, zebra rows, gold hover (CSS available in seed) | | Code | .slide--code | --code-bg block, gold filename tab, .hl/.cm spans (CSS available in seed) | | Quote | .slide--quote | ghost gold “ at opacity 0.06, italic serif quote, mono cite | | Full-bleed closing | .slide--bleed | fixed dark #0a0f1e → #0f1729 → #162040 gradient (code-bg → bg → surface, all in-family navy) + scrim, white text (intentionally stays dark in light mode) |
background-image,var(--accent-dim) ellipse, anchor varies per slide — never two glows).
a mono caption. No icon fonts, no images, no external assets.
.reveal children per slide (stagger delays stop at 0.6s).<div class="deck"> containing<section class="slide slide--…"> pages; vertical scroll-snap, one viewport (100dvh) per slide, no internal scrolling.
dot rail, mono counter, fading hints, ◐ theme button.
scroll-snap wheel; #/N hash routing (restored on load, updated on slide change); T toggles dark/light.
prefers-reduced-motion disables all transitions; responsive heightbreakpoints (700/600/500px) and a 768px width breakpoint are part of the contract.
example.html; replace slide content only. Do not rewrite theCSS or the SlideEngine script.
charts are pure CSS/SVG using the masters above. Google Fonts @import is the only allowed external reference.
"Nocturne" demo content.
.slide--title and close with.slide--bleed or .slide--quote.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 53,512 | 55,114 | +3% | 1 | 1 | 0% | 8,279 | 11,052 | +33% | 0 | 0 | — |
case-02 | fail→fail | 42,895 | 48,659 | +13% | 1 | 1 | 0% | 8,293 | 11,066 | +33% | 0 | 0 | — |
case-03 | fail→fail | 39,545 | 51,802 | +31% | 1 | 1 | 0% | 8,288 | 11,061 | +33% | 0 | 0 | — |
case-04 | fail→fail | 19,233 | 10,623 | -45% | 1 | 1 | 0% | 2,458 | 5,117 | +108% | 0 | 0 | — |
case-05 | fail→pass | 38,308 | 25,897 | -32% | 1 | 1 | 0% | 5,533 | 7,021 | +27% | 0 | 0 | — |
case-06 | fail→fail | 13,976 | 9,101 | -35% | 1 | 1 | 0% | 1,867 | 4,039 | +116% | 0 | 0 | — |
case-07 | fail→pass | 16,696 | 20,958 | +26% | 1 | 1 | 0% | 3,084 | 6,055 | +96% | 0 | 0 | — |
case-08 | fail→pass | 16,151 | 7,960 | -51% | 1 | 1 | 0% | 2,738 | 4,370 | +60% | 0 | 0 | — |
case-09 | fail→fail | 28,978 | 48,376 | +67% | 1 | 1 | 0% | 5,723 | 11,011 | +92% | 0 | 0 | — |
case-10 | fail→fail | 9,059 | 57,766 | +538% | 1 | 1 | 0% | 1,218 | 10,992 | +802% | 0 | 0 | — |
case-11 | fail→pass | 18,648 | 17,451 | -6% | 1 | 1 | 0% | 3,090 | 5,335 | +73% | 0 | 0 | — |
case-12 | fail→fail | 14,700 | 23,463 | +60% | 1 | 1 | 0% | 2,083 | 6,306 | +203% | 0 | 0 | — |
case-13 | fail→fail | 19,737 | 21,370 | +8% | 1 | 1 | 0% | 3,970 | 6,763 | +70% | 0 | 0 | — |
case-14 | fail→pass | 14,156 | 10,714 | -24% | 1 | 1 | 0% | 1,868 | 4,822 | +158% | 0 | 0 | — |
case-15 | fail→pass | 14,094 | 16,358 | +16% | 1 | 1 | 0% | 2,464 | 6,516 | +164% | 0 | 0 | — |
case-16 | fail→fail | 19,250 | 21,403 | +11% | 1 | 1 | 0% | 3,221 | 6,799 | +111% | 0 | 0 | — |
case-17 | fail→pass | 16,251 | 10,335 | -36% | 1 | 1 | 0% | 2,822 | 4,675 | +66% | 0 | 0 | — |
case-18 | fail→pass | 16,762 | 17,841 | +6% | 1 | 1 | 0% | 2,363 | 6,453 | +173% | 0 | 0 | — |
case-19 | fail→fail | 21,922 | 35,916 | +64% | 1 | 1 | 0% | 3,623 | 10,984 | +203% | 0 | 0 | — |
case-20 | fail→pass | 19,669 | 8,684 | -56% | 1 | 1 | 0% | 2,601 | 4,372 | +68% | 0 | 0 | — |
case-21 | fail→fail | 10,476 | 44,160 | +322% | 1 | 1 | 0% | 1,827 | 10,993 | +502% | 0 | 0 | — |
case-22 | pass→pass | 25,593 | 21,833 | -15% | 1 | 1 | 0% | 3,934 | 7,172 | +82% | 0 | 0 | — |
case-23 | pass→fail | 14,606 | 51,242 | +251% | 1 | 1 | 0% | 2,586 | 11,014 | +326% | 0 | 0 | — |
case-24 | pass→pass | 18,547 | 46,930 | +153% | 1 | 1 | 0% | 3,490 | 11,020 | +216% | 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. 24 cases were attempted. The headline lift of +33 percentage points is the difference between those two pass rates over the 24 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.