Install any skill in seconds. Free to start, no credit card required.
Get Started Free →A review deck on compositional generalization in large language models — the field map, the gap, the evidence, and open questions. Built as a decision-grade academic research deck for PI, lab group, reviewers.
.claude/skills/nexu-io-hps-academic-paper/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 27% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 117% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 46% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 18% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 5% | 0% |
A locked, single-theme deck plugin in the html-ppt-studio family, ported from the MIT-licensed lewislulu/html-ppt-skill academic-paper theme (assets/themes/academic-paper.css on the upstream templates/deck.html scaffold). The register is a LaTeX article walking on stage: paper-white ground, ink-black serif text, link-blue underlined citations, italic kickers, hairline rules everywhere, zero rounded corners, no shadows. It reads like Computer Modern even when Computer Modern is not installed.
Start from example.html in this plugin folder. It is the proven seed: keep its :root token sheet, base/slide-system CSS, academic device classes, deck chrome and the entire navigation script verbatim, then replace only the slide content. Do not rewrite the design system, and do not introduce any color or font outside this spec.
:root)css:root{ --bg:#fdfcf8; --bg-soft:#f7f5ed; --surface:#ffffff; --surface-2:#f5f3ea; --border:rgba(20,20,20,.14); --border-strong:rgba(20,20,20,.35); --text-1:#0a0a0a; --text-2:#333333; --text-3:#707070; --accent:#1a3a7a; /* link blue — citations, "ours" data, best numbers */ --accent-2:#0a0a0a; /* ink — rules, heavy structure */ --accent-3:#8a1a1a; /* sparing dark red — errata/negative only */ --good:#1a5a2a; --warn:#8a6a1a; --bad:#8a1a1a; --grad:linear-gradient(135deg,#1a3a7a,#0a0a0a); --grad-soft:linear-gradient(135deg,#e8edf8,#f5f3ea); --radius:0px; --radius-sm:0px; --radius-lg:0px; --shadow:none; --shadow-lg:0 1px 2px rgba(0,0,0,.1); --font-sans:'Latin Modern Roman','Playfair Display','Noto Serif SC',Georgia,serif; --font-serif:'Latin Modern Roman','Playfair Display','Noto Serif SC',Georgia,serif; --font-mono:'JetBrains Mono',SFMono-Regular,Menlo,monospace; --font-display:'Latin Modern Roman','Playfair Display','Noto Serif SC',Georgia,serif; --letter-tight:-.01em; --letter-normal:0; --ease:cubic-bezier(.4,0,.2,1); }
Hard color discipline: paper white, ink black, link blue, and the three semantic statuses are the entire palette. --accent-3 dark red appears only for errata, negative deltas or "withdrawn/deprecated" marks. Never add gradients beyond the two declared tokens, never round a corner, never cast a shadow stronger than --shadow-lg.
Latin Modern Roman is named firstso machines with LaTeX fonts get the real thing; Playfair Display (+ Noto Serif SC for CJK, then Georgia) is the webfont fallback. Google Fonts @import for Playfair Display (incl. italics), Noto Serif SC and JetBrains Mono are the only permitted external references.
negative tracking beyond --letter-tight:-.01em.
.kicker is the theme signature: italic, link blue, sentence case,letter-spacing:0, weight 400 — never uppercase, never bold.
font-variant-numeric:tabular-nums.| class | device | |---|---| | .rule / .rule-double | hairline rule / LaTeX titlepage double rule (2px over 1px) | | .abstract | italic abstract environment between two hairline rules, bold lead word | | .cite | [n] citation anchor — mono, link blue, underlined | | .figure + .figcaption | ruled figure box with numbered italic caption (<b>Figure 1:</b> …) | | .booktabs | three-line table: 2px top/bottom rules, 1px header rule, no vertical rules; .best bolds winners in link blue | | .footnote | dagger small print under a hairline rule | | .references | hanging [n] bibliography list, titles in <i> | | .toc-list | numbered outline with hairline separators and italic timing column | | .section-num | oversized ghost numeral (in --surface-2) for section dividers |
Every figure and table must carry a numbered caption — that is what makes the deck feel like a paper. Diagrams are ink-line inline SVG (1.5px ink strokes, serif labels, the "ours" box tinted #e8edf8/link blue); charts are pure CSS bars on a heavy ink axis with baselines in muted --surface-2 and exactly one link-blue "ours" bar. No chart libraries, no remote images.
example.html, 11 pages)superscript affiliations, hairline rule, affiliation small print
.toc-list numbered contents.abstract beside a .check list.footnote CI.figure with Figure caption.best winners.references bibliography + contact lineCompose decks from these masters; sequence cover → outline → (divider → 2–4 content pages) × N → conclusions → references.
<style> + <script>; zero build,zero external JS. Each page is <section class="slide" data-title="…"> inside <div class="deck" id="deck"> — a horizontal scroll-snap strip, one 100vw × 100vh screen per slide (16:9 / 1280×720 baseline, fluid via clamp()), padding 72px 96px, no internal scrolling.
.deck-header (running head: short title · venue, italic),.deck-footer (attribution + N / total counter), 2px .progress-bar in link blue.
←/→/Space/PageUp/PageDown/Home/End; #/N hash deep links viahistory.replaceState in try/catch (srcdoc-safe). The script's dual capture-phase listeners with Event-identity dedupe, .deck scroll sync and body auto-focus fix real iframe-host bugs — do not simplify them away. This variant is theme-locked: there is no T theme cycling.
<div class="notes">…</div> per slide.anim-rise-in/anim-fade-up heroplus one anim-stagger-list per slide. No 3D, no glitch, no confetti — this is a lecture hall, not a launch party.
example.html; keep all <style> blocks and the <script> verbatim.lorem ipsum; number every Figure/Table caption consecutively.
the N / total counter automatically.
.notes.#/5 deep-links, no slide overflowsvertically, no color or font outside the token sheet.
Theme tokens and the deck scaffold come from the upstream MIT-licensed lewislulu/html-ppt-skill (© lewis <sudolewis@gmail.com>) — theme academic-paper. The LICENSE file ships alongside this skill; keep it in place when redistributing.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-13 | pass→pass | 12,549 | 11,095 | -12% | 1 | 1 | 0% | 2,207 | 3,812 | +73% | 0 | 0 | — |
case-01 | fail→fail | 40,958 | 52,438 | +28% | 1 | 1 | 0% | 8,273 | 10,468 | +27% | 0 | 0 | — |
case-02 | fail→fail | 52,950 | 51,861 | -2% | 1 | 1 | 0% | 8,266 | 10,461 | +27% | 0 | 0 | — |
case-03 | fail→fail | 50,819 | 42,866 | -16% | 1 | 1 | 0% | 8,260 | 10,455 | +27% | 0 | 0 | — |
case-04 | fail→fail | 33,248 | 41,781 | +26% | 1 | 1 | 0% | 4,861 | 10,432 | +115% | 0 | 0 | — |
case-05 | pass→fail | 19,132 | 39,904 | +109% | 1 | 1 | 0% | 2,975 | 10,421 | +250% | 0 | 0 | — |
case-06 | pass→fail | 54,982 | 37,320 | -32% | 1 | 1 | 0% | 8,230 | 10,425 | +27% | 0 | 0 | — |
case-07 | fail→pass | 21,797 | 12,536 | -42% | 1 | 1 | 0% | 3,155 | 3,992 | +27% | 0 | 0 | — |
case-08 | pass→pass | 18,443 | 10,007 | -46% | 1 | 1 | 0% | 2,625 | 3,969 | +51% | 0 | 0 | — |
case-09 | fail→pass | 16,915 | 25,348 | +50% | 1 | 1 | 0% | 2,866 | 6,232 | +117% | 0 | 0 | — |
case-10 | fail→pass | 18,754 | 16,473 | -12% | 1 | 1 | 0% | 3,586 | 5,251 | +46% | 0 | 0 | — |
case-11 | fail→pass | 26,294 | 23,909 | -9% | 1 | 1 | 0% | 4,920 | 5,804 | +18% | 0 | 0 | — |
case-12 | fail→pass | 21,007 | 12,216 | -42% | 1 | 1 | 0% | 4,106 | 4,317 | +5% | 0 | 0 | — |
case-14 | fail→pass | 29,591 | 17,060 | -42% | 1 | 1 | 0% | 4,842 | 5,386 | +11% | 0 | 0 | — |
case-15 | fail→pass | 15,818 | 16,274 | +3% | 1 | 1 | 0% | 3,029 | 5,235 | +73% | 0 | 0 | — |
case-16 | fail→fail | 18,520 | 10,288 | -44% | 1 | 1 | 0% | 2,725 | 4,100 | +50% | 0 | 0 | — |
case-17 | fail→pass | 14,494 | 11,866 | -18% | 1 | 1 | 0% | 2,750 | 4,262 | +55% | 0 | 0 | — |
case-18 | fail→pass | 24,040 | 29,319 | +22% | 1 | 1 | 0% | 4,749 | 5,463 | +15% | 0 | 0 | — |
case-19 | fail→pass | 13,929 | 15,706 | +13% | 1 | 1 | 0% | 2,331 | 4,838 | +108% | 0 | 0 | — |
case-20 | fail→fail | 25,565 | 21,738 | -15% | 1 | 1 | 0% | 5,210 | 6,760 | +30% | 0 | 0 | — |
case-21 | fail→pass | 14,902 | 5,989 | -60% | 1 | 1 | 0% | 2,560 | 3,360 | +31% | 0 | 0 | — |
case-22 | fail→pass | 14,301 | 18,309 | +28% | 1 | 1 | 0% | 2,145 | 4,885 | +128% | 0 | 0 | — |
case-23 | pass→pass | 14,401 | 12,996 | -10% | 1 | 1 | 0% | 2,348 | 4,594 | +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 +43 percentage points is the difference between those two pass rates over the 23 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.