
present
Generate interactive HTML presentations with professional ElevenLabs voiceover narration synced to slides. Supports dual article/slides mode, scroll-reveal animations, GPT Image 2 illustrations, and configurable detail levels. Use this skill when the user wants to create a presentation, slide deck, narrated briefing, research report with voiceover, or any content that should be presentable as both a readable article and a navigable slide deck. Also triggers on "make a presentation", "create slides", "present this", "narrated deck", "voiceover slides", "briefing with audio", or requests to turn research/notes into a shareable presentation. Works with any content — research findings, meeting summaries, proposals, educational material.
- Installs
- 112
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/glebis/claude-skills --skill present- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads present automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Present — Narrated Interactive Presentations
Generate a self-contained HTML presentation with dual article/slides mode, ElevenLabs narration, optional GPT Image 2 illustrations, and scroll-reveal animations.
What This Skill Produces
A single index.html file (plus audio and optional image assets) that can be:
- Opened locally in a browser
- Deployed to Vercel, Netlify, or any static host
- Shared as a folder
The output has two modes the viewer can toggle between:
- Article mode — long-form scrollable report with Tufte-inspired typography
- Slides mode — navigable presentation with keyboard/click navigation and narrated audio playback
Quick Start
/present "AI adoption research for Arseny" --slides 12 --voice daniel --images risograph
Or with a file:
/present path/to/research.md --detail detailed --voice alice
Parameters
| Parameter | Values | Default | Description |
|---|---|---|---|
--slides | 5-20 | 12 | Number of slides |
--detail | executive, standard, detailed | standard | Content depth |
--voice | ElevenLabs voice name | daniel | Narrator voice |
--images | style name or none | none | Image generation style |
--image-prompt | custom string | auto | Override image prompt prefix |
--output | path | ./presentation/ | Output directory |
--deploy | vercel project or none | none | Auto-deploy target |
--title | string | auto | Presentation title |
--no-audio | flag | false | Skip audio generation |
Detail Levels
executive(5-7 slides): Key findings only. One stat slide, one recommendation slide, sources. Best for busy stakeholders who need the bottom line.standard(10-14 slides): Full narrative arc. Problem, evidence, analysis, recommendations, sources. The default for most presentations.detailed(15-20 slides): Deep dive. Includes methodology, multiple evidence sections, case studies, detailed recommendations with implementation steps.
Voice Options
Uses ElevenLabs API. The key must be available in ~/claude-skills/elevenlabs-tts/.env as ELEVENLABS_API_KEY.
Recommended voices for presentations:
- daniel — Steady Broadcaster, British, formal (default)
- alice — Clear Educator, British, professional
- matilda — Knowledgeable, American, upbeat
- brian — Deep Resonant, American, comforting
- george — Warm Storyteller, British, mature
Image Styles
When --images is set, the skill generates illustrations for key slides using GPT Image 2 (~/.claude/skills/gpt-image-2/scripts/gpt_image_2.py). Available styles:
risograph— Gerd Arntz isotype style, muted colors, sand textureeditorial— Magazine photography style, dramatic lightingblueprint— Technical drawing aesthetic, white on blueink— Black ink illustration, hand-drawn feelconstellation— Data visualization aesthetic, dots and lines- Custom: pass
--image-prompt "your style description"to override
Images are generated in --draft mode first (~$0.006/image). The skill decides which slides benefit from illustration (typically 3-5 out of 12).
Workflow
Step 1: Content Analysis
Read the input content (a topic description, a markdown file, vault notes, meeting transcript, or research). Identify:
- The core argument or narrative
- Key data points and statistics
- Natural section breaks
- Quotable findings with sources
Step 2: Slide Planning
Based on --detail and --slides, create a slide plan. Each slide needs:
Slide N: [Type] — [Title]
Content: [what appears on screen]
Narration: [what the voice says — always more than what's on screen]
Read time: [seconds for an average reader to absorb the visual content]
Image: [yes/no, with prompt if yes]
Slide types: title, summary, stat, evidence, comparison, quote, framework, recommendation, case-study, sources
The narration script should be conversational and add context beyond what's displayed. It should NOT just read the slide text aloud — it should explain, connect, and elaborate. Target 15-30 seconds of narration per slide.
Step 3: Generate Audio
For each slide, generate narration using ElevenLabs:
python3 ~/.claude/skills/elevenlabs-tts/scripts/elevenlabs_tts.py \
--voice <voice_name> \
--text "<narration>" \
--output <output_dir>/audio/slide-<N>.mp3
Or use the direct API via the script at scripts/generate_audio.py in this skill.
Also generate a transition sound (Rhodes chord) for slide-to-slide transitions.
After generation, get durations with ffprobe to calculate slide timing.
Step 4: Generate Images (if enabled)
For slides that benefit from illustration, generate images using GPT Image 2:
python3 ~/.claude/skills/gpt-image-2/scripts/gpt_image_2.py --draft --size 1536x1024 \
"<style prefix> <slide-specific prompt>" \
<output_dir>/images/<name>.png
Typically generate 3-5 images for a 12-slide deck. Choose slides where a visual metaphor strengthens the point — stat slides, concept slides, and the title slide are good candidates. Don't illustrate every slide.
Step 5: Build HTML
Use the template at assets/template.html as the base. The template includes:
- Typography: EB Garamond (body) + DM Sans (labels/numbers)
- Color palette: Configurable via CSS variables in
:root - Article mode: Tufte-inspired layout with executive summary box, stat cards, two-column sections, data tables
- Slides mode: Full-viewport slides with fade transitions, keyboard navigation (arrows, space), dot indicators
- Audio engine: Single reusable
<audio>element, slide-synced playback with progress bar, transition sounds between slides - Auto-hide controls: Top bar (mode switcher + audio) appears when cursor enters top 20% of viewport. Bottom nav appears in bottom 20%. Shift+. toggles always-show/always-hide/zone mode.
- Scroll-reveal animations: Intersection Observer-based fade-up for sections, staggered stat cards, animated counters, h2 rule-draw effect
prefers-reduced-motion: All animations disabled when user prefers reduced motion
Populate the template by replacing placeholder sections with the actual slide and article content.
Step 6: Test
Open in browser using /real-browser or open <path>. Verify:
- Article mode renders correctly, images load
- Slides mode: all slides navigable, text fits within viewport
- Audio plays when play button is clicked
- Audio syncs to slide advancement (each slide waits for narration + read time)
- Transition sounds play between slides
- Auto-hide works for top and bottom bars
- Keyboard navigation (arrows, space) works in slide mode
Step 7: Deploy (if requested)
If --deploy is set, copy output to the target project's public/ folder and deploy:
cp -r <output_dir>/* <project_path>/public/<slug>/
cd <project_path> && vercel deploy --prod --yes
HTML Architecture
Audio Sync Model
Each slide has three timing properties:
data-audio="slide-name"— maps to audio filedata-read-time="N"— seconds for reading the visual content
The audio engine calculates: slide_duration = max(audio_duration, read_time) + 2s. After narration ends, it waits for any remaining read time plus a 2-second buffer, plays a transition sound (1.8s), then advances to the next slide.
Avoiding AI-Looking Formatting
The following patterns read as AI-generated and should be avoided:
- Colored left-bar + bold heading + description blocks (finding cards)
- Large italic pull quotes with colored left border
- Uniform card grids with icon + heading + description
- Gradient text on metrics
Instead use:
- Natural prose paragraphs with inline emphasis
- Definition lists (
<dl>) for structured points - Tables for comparisons
- Direct statements woven into flowing text
Image Paths
Use absolute paths from the deployment root: /slug/images/name.png, not relative paths. Relative paths break when URLs load without trailing slashes.
Files
SKILL.md— This filescripts/generate_audio.py— ElevenLabs TTS batch generatorassets/template.html— Base HTML template with all CSS/JSreferences/slide-types.md— Detailed slide type specifications and examples
FAQ
What does the present skill do?
Generate interactive HTML presentations with professional ElevenLabs voiceover narration synced to slides. Supports dual article/slides mode, scroll-reveal animations, GPT Image 2 illustrations, and configurable detail levels. Use this skill when the user wants to create a presentation, slide deck, narrated briefing, research report with voiceover, or any content that should be presentable as both a readable article and a navigable slide deck. Also triggers on "make a presentation", "create slides", "present this", "narrated deck", "voiceover slides", "briefing with audio", or requests to turn research/notes into a shareable presentation. Works with any content — research findings, meeting summaries, proposals, educational material.
How do I install present?
Run npx skills add https://github.com/glebis/claude-skills --skill present in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/present/ (personal) or .claude/skills/present/ (project).
Which AI agents can use present?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is present safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains present?
It is published by glebis in glebis/claude-skills. It has 112 recorded installs.
More from glebis/claude-skills
google-image-search
glebis/claude-skills
Search and download images via Google Custom Search API with LLM-powered selection. This skill should be used when finding images for articles, presentations, research documents, or enriching Obsidian notes with relevant visuals. Supports simple queries, batch processing from JSON config, automatic config generation from terms, and full note enrichment with automatic image insertion below headings.
pdf-generation
glebis/claude-skills
Professional PDF generation from markdown using Pandoc with Eisvogel template and EB Garamond fonts. Use when converting markdown to PDF, creating white papers, research documents, marketing materials, or technical documentation. Supports both English and Russian documents with professional typography and color-coded themes. Mobile-optimized layout (6x9) by default for Telegram bot context, desktop/print layout (A4) for other contexts.
health-data
glebis/claude-skills
Open the skill to read its SKILL.md instructions.
firecrawl-research
glebis/claude-skills
Open the skill to read its SKILL.md instructions.
deep-research
glebis/claude-skills
Open the skill to read its SKILL.md instructions.
presentation-generator
glebis/claude-skills
Generate interactive HTML presentations with neobrutalism styling, ASCII art decorations, and Agency brand colors. Outputs HTML (interactive with navigation), PNG (individual slides via Playwright), and PDF. References brand-agency skill for colors and typography. Use when creating presentations, slide decks, pitch materials, or visual summaries.
Popular docs & writing skills
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
lark-markdown
open.feishu.cn
飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。
writing-beats
mattpocock/skills
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
writing-for-agents
mattpocock/skills
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.