Skip to main content

presentation-builder

This skill should be used when the user asks to "create a presentation", "make slides", "build a slide deck", "create a talk", "make a keynote", "create a Reveal.js presentation", "generate presentation slides", "make a conference talk", "create a lecture", "build a poster presentation", "create presentation JSON", or mentions presentations, slides, slide decks, Reveal.js, talk preparation, conference presentations, or lecture slides.

설치로 이동

소스 정보

저장소
neuromechanist/research-skills
최근 소스 활동
2026년 6월 16일 22:35
감지된 SKILL.md 언어
영어
스타
46
포크
8

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
5 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
presentation-builder
description
This skill should be used when the user asks to "create a presentation", "make slides", "build a slide deck", "create a talk", "make a keynote", "create a Reveal.js presentation", "generate presentation slides", "make a conference talk", "create a lecture", "build a poster presentation", "create presentation JSON", or mentions presentations, slides, slide decks, Reveal.js, talk preparation, conference presentations, or lecture slides.
version
0.1.0
# Presentation Builder Create interactive Reveal.js presentations from JSON using the [Agentic Presentation Builder](https://github.com/neuromechanist/agentic-presentation-builder). The builder transforms structured JSON definitions into professional, interactive web-based presentations with Mermaid diagrams, LaTeX math, syntax-highlighted code, and animated progressive reveals. ## Pipeline Overview ``` 1. Plan structure --> 2. Author JSON --> 3. Validate --> 4. Serve & present (outline, theme) (schema-driven) (CLI validator) (Vite dev server) ``` ## Prerequisites: get the builder CLI The engine ships an `apb` command (subcommands `validate`, `present`, `export`, `shoot`). Two ways to run it; pick per situation. Pin the tag (`#v0.1.8`) for reproducibility. **Zero-setup (default, no clone).** Run straight from the repo with bunx (or npx): ```bash bunx github:neuromechanist/agentic-presentation-builder#v0.1.8 validate deck.json --json ``` **Iterative authoring / offline (recommended when validating repeatedly).** Use a managed cache clone so each call does not re-resolve the git package. Resolve a builder home, cloning once if needed, then run the `bun run` scripts from it: ```bash APB_HOME="${APB_HOME:-$HOME/.cache/agentic-presentation-builder}" if [ ! -d "$APB_HOME/.git" ]; then git clone --branch v0.1.8 https://github.com/neuromechanist/agentic-presentation-builder.git "$APB_HOME" (cd "$APB_HOME" && bun install) fi # then, e.g.: (cd "$APB_HOME" && bun run validate -- "$(pwd)/deck.json" --json) ``` In the steps below, "`apb <command>`" means either the bunx form or `bun run <command> --` from `$APB_HOME`. Both share one code path, so flags are identical. ## Step 1: Plan the Presentation Before writing JSON, determine: - **Topic and audience**: Shapes content depth and vocabulary - **Slide count**: 8-12 for a short talk, 15-25 for a full session - **Theme**: `academic` for research talks, `default` for general, `dark` for tech demos - **Key visuals**: Which slides need Mermaid diagrams, images, code blocks, or tables - **Speaker notes**: Include delivery guidance for each slide ## Step 2: Author the Presentation JSON Write a `presentation.json` following the schema. See `references/schema-reference.md` for the complete field reference and `references/authoring-guide.md` for best practices. ### Minimal structure ```json { "presentation": { "metadata": { "title": "My Presentation", "author": "Author Name", "theme": "academic", "aspectRatio": "16:9", "controls": { "slideNumbers": true, "progress": true } }, "slides": [ { "id": "title", "layout": "title", "elements": [ { "type": "text", "content": "# Presentation Title", "style": { "fontSize": "xxl", "alignment": "center" }, "position": { "area": "center" } }, { "type": "text", "content": "Author Name -- Conference 2026", "style": { "fontSize": "large", "alignment": "center", "color": "#64748B" }, "position": { "area": "center", "order": 1 } } ] } ] } } ``` ### Slide patterns **Content slide (single-column):** ```json { "id": "key-findings", "layout": "single-column", "speakerNotes": "Emphasize the 3x improvement in latency.", "elements": [ { "type": "text", "content": "## Key Findings", "style": { "fontSize": "xl" }, "position": { "area": "header" } }, { "type": "bullets", "items": [ "**3x reduction** in processing latency", "95% accuracy on held-out test set", "Compatible with existing EEG pipelines" ], "position": { "area": "content" } } ] } ``` **Comparison slide (two-column):** ```json { "id": "comparison", "layout": "two-column", "elements": [ { "type": "text", "content": "## Before vs After", "style": { "fontSize": "xl" }, "position": { "area": "header" } }, { "type": "bullets", "items": ["Manual annotation", "Hours per session", "Inconsistent labels"], "position": { "area": "left" } }, { "type": "bullets", "items": ["Automated pipeline", "Minutes per session", "Standardized HED tags"], "position": { "area": "right" } } ] } ``` **Diagram slide (Mermaid):** ```json { "id": "architecture", "layout": "single-column", "elements": [ { "type": "text", "content": "## System Architecture", "style": { "fontSize": "xl" }, "position": { "area": "header" } }, { "type": "mermaid", "diagram": "graph LR\n A[Raw EEG] --> B[Preprocessing]\n B --> C[Feature Extraction]\n C --> D[Classification]\n D --> E[BCI Output]", "position": { "area": "content" } } ] } ``` ### Element types summary | Type | Required fields | Key options | |------|----------------|-------------| | `text` | `type`, `content` | Markdown, LaTeX math, style, animation | | `bullets` | `type`, `items` | `bulletStyle`, nested items, animation | | `image` | `type`, `src` | `alt`, `width`, `height`, `caption` | | `mermaid` | `type`, `diagram` | `theme` (default/dark/forest/neutral) | | `callout` | `type`, `content` | `calloutType` (tip/warning/important/note/info), `title` | | `code` | `type`, `code` | `language`, `caption`, `lineNumbers` | | `table` | `type`, `headers`, `rows` | `caption` | ## Step 3: Validate Run the CLI validator before serving: ```bash # zero-setup: bunx github:neuromechanist/agentic-presentation-builder#v0.1.8 validate presentation.json --json # or from the cache clone: (cd "$APB_HOME" && bun run validate -- "$(pwd)/presentation.json" --json) ``` The `--json` flag returns structured output with `valid`, `summary.errorCount`, `summary.warningCount`, `errors[]`, and `warnings[]`. Each issue includes `code`, `severity`, `path`, `message`, and `suggestion`. Fix all schema errors. Address advisory warnings to improve slide quality (see `references/authoring-guide.md` for the full list and thresholds). ## Step 4: Serve and Present Use the `present` command. It serves the JSON directly and rewrites relative asset paths, so there is no need to copy anything into `public/`: ```bash # zero-setup: bunx github:neuromechanist/agentic-presentation-builder#v0.1.8 present presentation.json --open # or from the cache clone: (cd "$APB_HOME" && bun run present -- "$(pwd)/presentation.json" --open) ``` This prints the browser URL (and accepts `--port N`). Press `P` to toggle between authoring and presentation modes, `S` for speaker notes, `O` for slide overview. See `references/authoring-guide.md` for the full keyboard shortcuts and delivery modes. Append `&role=audience&mode=presentation` to the printed URL to open a synced audience screen. To produce a distributable file instead of serving, use `export` (PDF default; PPTX available): ```bash # zero-setup: bunx github:neuromechanist/agentic-presentation-builder#v0.1.8 export presentation.json --format pdf # or from the cache clone: (cd "$APB_HOME" && bun run export -- "$(pwd)/presentation.json" --format pdf) ``` ## Step 5: QC every slide (don't skip) `validate` passes decks that still render a **blank mermaid** or **clipped code** -- the validator cannot see rendered output. Before shipping a deck (especially a high-stakes one), screenshot every slide at full HD with `shoot` and look at each one: ```bash # zero-setup: bunx github:neuromechanist/agentic-presentation-builder#v0.1.8 shoot presentation.json --out ./qc # or from the cache clone: (cd "$APB_HOME" && bun run shoot -- "$(pwd)/presentation.json" --out ./qc) ``` `shoot` serves the deck, drives headless Chrome through every slide, and writes one PNG per slide to `--out` (default 1920x1080; `--width`/`--height` to change). It disables transitions and fragments during capture so an unsettled slide-transform never fakes a right-edge clip and every animated element shows. Common fixes the QC pass catches -- avoid `mermaid` (renders blank here; use a `table` or an SVG `image`), keep `code` blocks to ~6 lines (height-capped), and put punchline `callout`s in `area: "footer"`. See `references/course-style.md` for the full list. ## Additional Resources ### Reference files - **`references/schema-reference.md`** -- Complete field reference for all element types - **`references/authoring-guide.md`** -- Layout patterns, content density guidelines, theme selection, validation workflow - **`references/course-style.md`** -- Stable "house style" from the OSC Agentic Research Course decks: incremental bullet animations, code sections, two-column image layouts, callouts, and the title-slide block ### External documentation - [Agentic Presentation Builder repo](https://github.com/neuromechanist/agentic-presentation-builder) - [Full documentation site](https://neuromechanist.github.io/agentic-presentation-builder/) - [JSON Schema](https://github.com/neuromechanist/agentic-presentation-builder/blob/main/schema/presentation.schema.json)
GitHub에서 보기