- name
- slider
- description
- generate a browser-native research conference talk from an arxiv paper, pdf, title, or extracted text. this skill turns a paper into a live-presentation-ready slideshow with mandatory paper figure inclusion, evidence-backed slides, faithful visual redraw, paper-type-aware deck policy, design-system-driven rendering, and post-render audit. output is a single built html file that opens directly in any browser. this is for presenting a paper as a conference talk, not for making a landing page, dashboard, or generic summary.
# slider
> Research slides are evidence displays with narrative pacing.
> The LM has creative freedom to compose each slide to best communicate its content.
Turn an arXiv paper into a ready-to-present conference talk, output as a single self-contained HTML file.
## Priority order
1. **Technical faithfulness.** Never invent claims, numbers, or evidence.
2. **Evidence presentation.** Main deck must show the paper's key visuals, not just text summaries.
3. **UI polish.** Restrained, projector-safe, research-grade design.
## Core constraints
- Output is a **single self-contained HTML file**, minified and ready to open directly in any browser. No build step required by the user.
- The deck is a **rigorous and comprehensive talk**. Each paper must generate **at least 15 slides** targeting a ~15-minute presentation.
- Every slide has **one dominant message**.
- Main deck serves **audience understanding**, not paper section order.
- Paper figures, tables, and diagrams are **first-class content**, not optional decoration.
## Renderer contract
The deck uses a **fixed 1200×675 coordinate system** (stage model). This contract applies to all rendering modes:
- **Stage-consistent fullscreen.** Both windowed and fullscreen modes render the same fixed canvas. Fullscreen only changes the `transform: scale()` factor — it never reflows content, never switches typography units, and never changes alignment logic. The slide looks identical at any scale.
- **No viewport-unit typography.** All font sizes, padding, and gaps inside slides use `rem`, `px`, `em`, or `clamp()`. Never `vh`/`vw` for slide content. Viewport units are only permitted for viewport chrome (body background, controls positioning).
- **No fullscreen-specific layout overrides.** If a slide overflows at 1200×675, fix the content or choose a different layout — do not add fullscreen-only CSS band-aids.
- **Composition stability.** A presenter must be able to rehearse in windowed mode and present in fullscreen with zero visual drift. Text wrapping, vertical alignment, whitespace distribution, and element proportions must be identical.
## References
### Evidence and visual policy
- paper visual inclusion policy: [references/paper-visual-inclusion-policy.md](references/paper-visual-inclusion-policy.md)
- research visual priority: [references/research-visual-priority.md](references/research-visual-priority.md)
- faithful redraw policy: [references/faithful-redraw-policy.md](references/faithful-redraw-policy.md)
- paper figure embedding pipeline: [references/paper-figure-embedding.md](references/paper-figure-embedding.md)
- paper type policy: [references/paper-type-policy.md](references/paper-type-policy.md)
### Design system
- design control plane: [assets/design/DESIGN.md](assets/design/DESIGN.md)
- deck design specification: [references/deck-design-control-plane.md](references/deck-design-control-plane.md)
- external design principles: [references/external-design-principles.md](references/external-design-principles.md)
- research slide patterns: [references/research-slide-patterns.md](references/research-slide-patterns.md)
- page-role layout families: [references/page-role-layout-families.md](references/page-role-layout-families.md)
- anti-patterns: [references/research-slide-anti-patterns.md](references/research-slide-anti-patterns.md)
- fullscreen contract: [references/fullscreen-contract.md](references/fullscreen-contract.md)
- reading comfort rubric: [references/reading-comfort-rubric.md](references/reading-comfort-rubric.md)
### Workflow and rendering
- talk arc and compression: [references/presentation-logic.md](references/presentation-logic.md)
- output mode selection: [references/output-contracts.md](references/output-contracts.md)
- paper ingestion: [references/paper-ingestion-workflow.md](references/paper-ingestion-workflow.md)
- figure and table triage: [references/figure-table-extraction.md](references/figure-table-extraction.md)
- visual selection scoring: [references/visual-selection-scoring.md](references/visual-selection-scoring.md)
- slide-data planning: [references/slide-data-generation.md](references/slide-data-generation.md)
- pdf visual export: [references/pdf-visual-cropping.md](references/pdf-visual-cropping.md)
- artifact rendering: [references/artifact-rendering.md](references/artifact-rendering.md)
- slide quality rubric: [references/slide-quality-rubric.md](references/slide-quality-rubric.md)
- bug and conciseness audit: [references/bug-and-conciseness-audit.md](references/bug-and-conciseness-audit.md)
- verification workflow: [references/verification-workflow.md](references/verification-workflow.md)
### UI and interaction
- UI pattern mapping: [references/ui-patterns.md](references/ui-patterns.md)
- presenter UX: [references/presenter-ux.md](references/presenter-ux.md)
- progressive builds: [references/progressive-builds.md](references/progressive-builds.md)
- dual-screen speaker view: [references/dual-screen-speaker-view.md](references/dual-screen-speaker-view.md)
- live tweaks protocol: [references/live-tweaks-protocol.md](references/live-tweaks-protocol.md)
- HTML engine rules: [references/html-engine-template.md](references/html-engine-template.md)
- React rules: [references/react-implementation-rules.md](references/react-implementation-rules.md)
- multi-file React project: [references/multi-file-react-project.md](references/multi-file-react-project.md)
### Visual processing
- auto-detection strengthening: [references/auto-detection-strengthening.md](references/auto-detection-strengthening.md)
- multi-panel figure detection: [references/multi-panel-figure-detection.md](references/multi-panel-figure-detection.md)
- multi-panel geometry: [references/multi-panel-geometry-detection.md](references/multi-panel-geometry-detection.md)
- panel boundary detection: [references/panel-boundary-detection.md](references/panel-boundary-detection.md)
- panel separator detection: [references/panel-separator-detection.md](references/panel-separator-detection.md)
- separator geometry: [references/separator-geometry-refinement.md](references/separator-geometry-refinement.md)
- table-aware crop: [references/table-aware-crop-refinement.md](references/table-aware-crop-refinement.md)
- table row and column inference: [references/table-row-column-inference.md](references/table-row-column-inference.md)
- semantic table parsing: [references/semantic-table-parsing.md](references/semantic-table-parsing.md)
- semantic table role labeling: [references/semantic-table-role-labeling.md](references/semantic-table-role-labeling.md)
- semantic role confidence: [references/semantic-role-confidence-calibration.md](references/semantic-role-confidence-calibration.md)
- confidence calibration: [references/confidence-calibration.md](references/confidence-calibration.md)
- visual binding confidence: [references/visual-binding-confidence.md](references/visual-binding-confidence.md)
- metrics visual rendering: [references/metrics-visual-rendering.md](references/metrics-visual-rendering.md)
### Styling
- theme presets: [references/theme-presets.md](references/theme-presets.md)
- venue style variants: [references/venue-style-variants.md](references/venue-style-variants.md)
- venue visual thresholds: [references/venue-specific-visual-thresholds.md](references/venue-specific-visual-thresholds.md)
- venue appendix policy: [references/venue-specific-appendix-policy.md](references/venue-specific-appendix-policy.md)
- redundancy suppression: [references/redundancy-suppression.md](references/redundancy-suppression.md)
- score-aware slide insertion: [references/score-aware-slide-insertion-refinement.md](references/score-aware-slide-insertion-refinement.md)
### Platform
- platform adaptation guide: [references/platform-adaptation-guide.md](references/platform-adaptation-guide.md)
### Meta
- architecture: [ARCHITECTURE.md](ARCHITECTURE.md)
- test matrix: [TEST_MATRIX.md](TEST_MATRIX.md)
- changelog: [CHANGELOG.md](CHANGELOG.md)
## Bundled scripts
- evidence extractor: [scripts/extract_paper_evidence.py](scripts/extract_paper_evidence.py)
- visual candidate locator: [scripts/find_visual_evidence.py](scripts/find_visual_evidence.py)
- visual scorer: [scripts/score_visual_candidates.py](scripts/score_visual_candidates.py)
- slide-data generator: [scripts/generate_slide_data.py](scripts/generate_slide_data.py)
- pdf visual exporter: [scripts/export_pdf_visuals.py](scripts/export_pdf_visuals.py)
- visual asset binder: [scripts/bind_visual_assets.py](scripts/bind_visual_assets.py)
- visual asset report: [scripts/visual_asset_report.py](scripts/visual_asset_report.py)
- slideshow renderer: [scripts/render_slideshow_artifact.py](scripts/render_slideshow_artifact.py)
- browser slide audit: [scripts/browser_slide_audit.py](scripts/browser_slide_audit.py)
- research slide audit: [scripts/audit_research_slides.py](scripts/audit_research_slides.py)
- design comfort audit: [scripts/audit_design_comfort.py](scripts/audit_design_comfort.py)
- deck design compiler: [scripts/compile_deck_design.py](scripts/compile_deck_design.py)
- health audit: [scripts/check_skill_health.py](scripts/check_skill_health.py)
- platform export: [scripts/export_platform_configs.py](scripts/export_platform_configs.py)
- offline KaTeX bundler: [scripts/offline_katex.py](scripts/offline_katex.py)
- template retrofit: [scripts/retrofit_to_template.py](scripts/retrofit_to_template.py)
## Starter assets
- HTML starter: [assets/html-slideshow-starter/paper-presentation.html](assets/html-slideshow-starter/paper-presentation.html)
- React starter: [assets/react-slideshow-starter/App.tsx](assets/react-slideshow-starter/App.tsx)
- React project starter: [assets/react-project-starter/](assets/react-project-starter/)
- Design system: [assets/design/DESIGN.md](assets/design/DESIGN.md)
## Source handling
Accept: arXiv URL, paper title, PDF, extracted text, DOI.
Prefer full paper over abstract-only input.
If only a title is given, resolve it first.
If figures matter, visually inspect the PDF pages.
---
## Required workflow
### Step 1. Ingest and normalize
Follow [references/paper-ingestion-workflow.md](references/paper-ingestion-workflow.md).
Extract at minimum:
- title, authors, venue, year
- one-sentence TL;DR
- problem, motivation, prior gaps
- core idea, main contributions
- method overview, architecture, objective/loss
- datasets, metrics, baselines
- main results, ablations, qualitative findings
- limitations
- visual candidates (all figures and tables in the paper)
### Step 2. Classify paper type
Classify the paper using [references/paper-type-policy.md](references/paper-type-policy.md):
- architecture-heavy
- optimization-heavy
- benchmark-heavy
- theory-heavy
- qualitative-heavy
A paper may have multiple types. Record the classification.
### Step 2.5. Compile deck design
Before rendering, compile a deck-level design using [references/deck-design-control-plane.md](references/deck-design-control-plane.md).
1. Run `scripts/compile_deck_design.py` with paper type, venue, and any user style preferences.
2. The script outputs `deck_design.json` — the intermediate representation consumed by the renderer and auditor.
3. The design locks: mood family, semantic palette, type/spacing scales, page-role→layout-family bindings, motion policy, content-handling rules, anti-pattern enforcement, and fullscreen contract.
4. The renderer must respect all bindings in `deck_design.json`. Ad-hoc visual decisions during rendering are prohibited.
5. If the user requests a style change, re-run the compiler — do not patch individual slides.
### Step 3. Identify mandatory main-deck visuals
Apply [references/paper-visual-inclusion-policy.md](references/paper-visual-inclusion-policy.md) and [references/research-visual-priority.md](references/research-visual-priority.md).
1. List all visual candidates.
2. Classify each as Priority A, B, or C.
3. Determine which Priority A visuals are mandatory for the main deck based on paper type.
4. For each mandatory visual: can it be cropped cleanly? Needs faithful redraw? Needs reconstruction?
5. Apply suppression rules from [references/research-visual-priority.md](references/research-visual-priority.md).
### Step 4. Export and inspect key visuals
When a PDF is available:
1. Run `scripts/find_visual_evidence.py <source>` to locate candidates.
2. Run `scripts/score_visual_candidates.py` to rank them.
3. Run `scripts/export_pdf_visuals.py <paper.pdf>` to crop candidates.
4. Visually inspect the crops. Decide: use as-is, faithful redraw, or reconstruct.
5. Apply [references/faithful-redraw-policy.md](references/faithful-redraw-policy.md) for any redraws.
**Paper figure auto-embedding (MANDATORY for self-contained output):**
When paper figures are identified and cropped:
1. Convert the cropped PNG/JPG to base64.
2. Embed directly as `<img src="data:image/png;base64,...">` in the HTML.
3. This ensures the output is fully self-contained — no external file dependencies.
4. Set the `visual` field on the slide data with `src` pointing to the base64 data URI.
5. If a figure cannot be extracted (e.g., no PDF available), use a faithful redraw or clean placeholder instead.
6. **Never leave a `mustIncludeVisual=true` slide without a visual.** Extract, redraw, or reconstruct.
### Step 5. Create slide plan with content composition
Build the slide plan using [references/slide-data-generation.md](references/slide-data-generation.md).
Before writing the final `slides` array, lock four short planning artifacts. These can stay inline in the conversation unless the user explicitly wants files:
- `deckBrief` — audience, talk length, thesis, and delivery tone.
- `deckScript` — page roles and one-sentence thesis per slide.
- `visualPlan` — page-aware visual choices. For each image-bearing slide, state which figure/table/sample is needed and why it earns space.
- `designLock` — one primary visual direction, up to two supporting directions, and a motion policy. Do not let the deck drift into unrelated slide themes. **This must be consistent with `deck_design.json`.**
The goal is to lock the deck as a presentation before rendering HTML. Do not skip directly from paper extraction to decorative code.
**You have creative freedom to compose each slide's layout.** Choose between:
**Option A — Classic layout** (for standard patterns):
- Set the `layout` field to a pattern name (cover, method-overview, split, etc.)
**Option B — Content blocks** (preferred for custom compositions):
- Set `contentBlocks[]` with ordered content primitives
- Each block has a `type`, `content`, optional `placement`, `style`, and `emphasis`
- Optionally set `gridTemplate` for CSS Grid control and `atmosphere` for per-slide mood
For each slide, specify:
- `id`, `title` (argumentative), `purpose`
- `pageRole` — what job this slide plays in the talk arc (hook, bottleneck, method overview, headline result, limitation, close)
- `keyMessage`, `claim`, `speakerNote`
- `mood` — chosen from the mood library only after the `designLock` is set. Default to one primary deck mood family and use stronger contrast moods paper-slideonly where the story needs them.
- `evidenceType`, `evidenceSource`
View on GitHub