Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问clear审计未展示

revealjsrevealjs 搜索

Agent Skill

revealjs 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,564

周安装

150

GitHub Stars

公开资料未说明

下载量

1,248
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:revealjs(revealjs 搜索)
来源仓库:https://github.com/kziemski/revealjs-skill
仓库路径:skills/revealjs
安装命令:
npx skills add kziemski/revealjs-skill --skill "revealjs"
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

AgentSkills.tonpx skills
npx skills add kziemski/revealjs-skill --skill "revealjs"

简介

查找、检索和筛选相关信息,适合快速定位候选结果。

  • 适用于 Codex、Claude、Cursor、Gemini CLI 等宿主环境。
  • 通过 github 安装,命令为 npx skills add kziemski/revealjs-skill --skill "revealjs"。
  • 需确认权限范围和维护状态,注意是否触发联网或文件读写。
  • revealjs 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Reveal.js Presentations

Create HTML presentations using reveal.js. No build step required - just open the HTML in a browser.

What You Create

A reveal.js presentation consists of:

  1. HTML file - Contains slides and loads reveal.js from CDN
  2. CSS file - Custom styles for layouts, colors, typography, and components

Design Principles

CRITICAL: Before creating any presentation, analyze the content and choose appropriate design elements:

  1. Consider the subject matter: What is this presentation about? What tone, industry, or mood does it suggest?
  2. Check for branding: If the user mentions a company/organization, consider their brand colors and identity
  3. Match palette to content: Select colors that reflect the subject
  4. State your approach: Explain your design choices before writing code

Requirements:

  • ✅ State your content-informed design approach BEFORE writing code
  • ✅ Use web-safe fonts (Arial, Helvetica, Georgia, Verdana, etc.) or Google Fonts via @import in CSS
  • ✅ Create clear visual hierarchy through size, weight, and color
  • ✅ Ensure readability: strong contrast, appropriately sized text, clean alignment
  • ✅ Be consistent: repeat patterns, spacing, and visual language across slides
  • Always use pt (points) for font sizes - slides are fixed-size, so pt is predictable and familiar (like PowerPoint/Keynote). Never use em, rem, or px for font sizes.

Color Palette Selection

Choosing colors creatively:

  • Think beyond defaults: What colors genuinely match this specific topic? Avoid autopilot choices.
  • Consider multiple angles: Topic, industry, mood, energy level, target audience, brand identity (if mentioned)
  • Be adventurous: Try unexpected combinations - a healthcare presentation doesn't have to be green, finance doesn't have to be navy
  • Build your palette: Pick 3-5 colors that work together (dominant colors + supporting tones + accent)
  • Ensure contrast: Text must be clearly readable on backgrounds

Example color palettes (use these to spark creativity - choose one, adapt it, or create your own):

  1. Classic Blue: Deep navy (#1C2833), slate gray (#2E4053), silver (#AAB7B8), off-white (#F4F6F6)
  2. Teal & Coral: Teal (#5EA8A7), deep teal (#277884), coral (#FE4447), white (#FFFFFF)
  3. Bold Red: Red (#C0392B), bright red (#E74C3C), orange (#F39C12), yellow (#F1C40F), green (#2ECC71)
  4. Warm Blush: Mauve (#A49393), blush (#EED6D3), rose (#E8B4B8), cream (#FAF7F2)
  5. Burgundy Luxury: Burgundy (#5D1D2E), crimson (#951233), rust (#C15937), gold (#997929)
  6. Deep Purple & Emerald: Purple (#B165FB), dark blue (#181B24), emerald (#40695B), white (#FFFFFF)
  7. Cream & Forest Green: Cream (#FFE1C7), forest green (#40695B), white (#FCFCFC)
  8. Pink & Purple: Pink (#F8275B), coral (#FF574A), rose (#FF737D), purple (#3D2F68)
  9. Lime & Plum: Lime (#C5DE82), plum (#7C3A5F), coral (#FD8C6E), blue-gray (#98ACB5)
  10. Black & Gold: Gold (#BF9A4A), black (#000000), cream (#F4F6F6)
  11. Sage & Terracotta: Sage (#87A96B), terracotta (#E07A5F), cream (#F4F1DE), charcoal (#2C2C2C)
  12. Charcoal & Red: Charcoal (#292929), red (#E33737), light gray (#CCCBCB)
  13. Vibrant Orange: Orange (#F96D00), light gray (#F2F2F2), charcoal (#222831)
  14. Forest Green: Black (#191A19), green (#4E9F3D), dark green (#1E5128), white (#FFFFFF)
  15. Retro Rainbow: Purple (#722880), pink (#D72D51), orange (#EB5C18), amber (#F08800), gold (#DEB600)
  16. Vintage Earthy: Mustard (#E3B448), sage (#CBD18F), forest green (#3A6B35), cream (#F4F1DE)
  17. Coastal Rose: Old rose (#AD7670), beaver (#B49886), eggshell (#F3ECDC), ash gray (#BFD5BE)
  18. Orange & Turquoise: Light orange (#FC993E), grayish turquoise (#667C6F), white (#FCFCFC)

Slide Content Principles

Diverse presentation is key. Even when slides have similar content types, vary the visual presentation:

  • Use different layouts across slides: columns on one, stacked boxes on another, callouts with icons on a third
  • Mix container styles: plain text, boxes, callouts, blockquotes
  • Use visual hierarchy: <strong> for key terms, different colors to distinguish categories
  • Break up lists with other elements (quotes, callouts, columns)
  • Don't repeat the same layout pattern on consecutive slides

Keep it scannable:

  • Short bullet points, not paragraphs
  • One main idea per slide when possible
  • Use icons (Font Awesome) to add visual interest

When a slide has less content, make it bigger - don't leave empty space with tiny text.

Workflow

Step 1: Plan the Structure

Based on the user's content, determine:

  • How many slides are needed
  • Which slides should be section dividers (centered, larger text)
  • Where to use vertical slide stacks for drill-down content

Step 2: Extract Template

Use the create-presentation.js script (located in the scripts/ directory next to this SKILL.md file) to extract and customize a presentation template from template.zip.

node <path-to-skill>/scripts/create-presentation.js --structure 1,1,d,3,1,d,1 --title "My Presentation" --output-dir ./presentations

Finding the script path: The script is at scripts/create-presentation.js relative to where this SKILL.md file is located. Common locations:

  • Project skill: .claude/skills/revealjs/scripts/create-presentation.js
  • User skill: ~/.claude/skills/revealjs/scripts/create-presentation.js

Options:

  • --slides N - Create N horizontal slides (simple mode)
  • --structure <list> - Mixed layout with comma-separated values:

- 1 = single horizontal slide - N (where N > 1) = vertical stack of N slides - d = section divider slide (centered, no content wrapper)

  • --output-dir, -o <dir> - Output directory for deck folder (default: current directory)
  • --title <text> - Presentation title (default: Presentation)
  • --slug <text> - Custom slug for deck folder (default: random hex)

What gets created: The script extracts template.zip to a folder named deck-{slug}/ containing:

  • index.html - The presentation HTML file
  • lib/ - reveal.js library, plugins, fonts, and CSS (all dependencies included, no CDN needed)
  • assets/ - Folder for images, documents, and other assets (created automatically)

Examples:

# 10 horizontal slides in ./presentations directory
node <path-to-skill>/scripts/create-presentation.js --slides 10 --output-dir ./presentations

# Mixed structure: intro, 2 content slides, divider, 3-slide vertical stack, divider, closing
node <path-to-skill>/scripts/create-presentation.js --structure 1,1,1,d,3,d,1 --title "Q4 Review" --output-dir ./decks

# Custom slug
node <path-to-skill>/scripts/create-presentation.js --structure 1,1,1,d,3,d,1,1 --title "My Deck" --slug mydeck

Step 3: Customize the CSS

The template includes all necessary CSS in lib/offline-v2.css. You can customize styles by:

  1. Editing lib/offline-v2.css directly - This file contains all reveal.js styles and theme variables
  2. Adding a custom CSS file - Link your own CSS file in index.html after the main stylesheet

Template includes local fonts in lib/fonts/ - no need for Google Fonts CDN. Available fonts include:

  • Montserrat (default theme font)
  • Overpass, Overpass2
  • Lato
  • Open Sans
  • And many more (see lib/fonts/ directory)

Using Google Fonts (optional): If you prefer Google Fonts, add an @import in a custom CSS file:

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Lato:wght@300;400;600&display=swap');

.reveal {
  font-family: "Lato", Helvetica, sans-serif;
}

.reveal h1, .reveal h2, .reveal h3 {
  font-family: "Playfair Display", Georgia, serif;
}

Typography guidance:

  • Always use pt (points) for font sizes - slides are fixed-size, so pt is predictable and familiar (like PowerPoint/Keynote)
  • Base text should be around 16-18pt for readability
  • When a slide has less content, increase font sizes to fill space appropriately
  • Use larger sizes (24pt, 32pt, 48pt) for headings based on hierarchy

Custom CSS example: Create a custom.css file in your deck folder and add it to index.html:

<link rel="stylesheet" type="text/css" href="lib/offline-v2.css">
<link rel="stylesheet" type="text/css" href="custom.css">

Then customize in custom.css:

.reveal .slides section {
  padding: 40px 60px;
  text-align: left;
}

.reveal h1 { font-size: 48pt; }
.reveal h2 { font-size: 36pt; }
.reveal h3 { font-size: 24pt; }
.reveal p, .reveal li { font-size: 16pt; }

IMPORTANT - CSS Integration: When you create custom CSS files (like custom.css), they will be automatically integrated into lib/offline-v2.css when you run the finalization script (Step 7). The finalization script will:

  • Append all custom CSS files to lib/offline-v2.css
  • Remove external CSS file references from index.html
  • Delete the separate custom CSS files

This ensures a single, consolidated CSS file for easier distribution.

Step 4: Fill in the HTML Content

Edit the index.html file in your deck folder to add content to each slide. Always use HTML markup, never markdown (even though the template includes a markdown plugin). Follow these patterns:

Standard slide structure:

<section id="unique-slide-id">
  <h2>Slide Title</h2>
  <div class="content">
    <!-- Content here -->
  </div>
</section>

Multi-column layouts - always use inline CSS grid (do NOT create utility classes like .grid-2):

<!-- Equal columns -->
<div style="display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px;">
  <div>Column 1</div>
  <div>Column 2</div>
</div>

<!-- Three columns -->
<div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px;">
  <div>Column 1</div>
  <div>Column 2</div>
  <div>Column 3</div>
</div>

<!-- Unequal columns -->
<div style="display: grid; grid-template-columns: 1fr 2fr; gap: 30px;">
  <div>Narrow sidebar</div>
  <div>Wide main content</div>
</div>

Why inline styles for grids? Each slide's layout needs vary - column ratios, gaps, etc. Inline styles give you full control per-slide without creating dozens of utility classes.

Important HTML patterns:

  • Every <section> should have a unique id attribute for stable identification
  • Use class="section-divider" for centered section title slides
  • Wrap main content in <div class="content"> for consistent spacing. This is a flexbox container that fills the remaining vertical space below the title, ensuring content flows properly.
  • Use <div class="footnote"> for attribution or source text at bottom

Step 5: Check for Content Overflow

Run the overflow checker to ensure no slides have content that extends beyond boundaries:

node <path-to-skill>/scripts/check-overflow.js deck-{slug}/index.html

Note: Replace deck-{slug} with your actual deck folder name.

The script checks each slide for:

  • Vertical overflow: Content taller than slide height
  • Horizontal overflow: Content wider than slide width

If overflow is detected, reduce content or adjust font sizes on affected slides.

Step 6: Visual Review with Screenshots

CRITICAL: You MUST review screenshots of EVERY SINGLE SLIDE. Do not skip slides or review only a sample. Visual issues are common and can only be caught by examining each slide individually.

Capture screenshots of all slides:

cd deck-{slug}
npx decktape reveal "index.html?export" output.pdf \
  --screenshots \
  --screenshots-directory "screenshots/$(date +%Y%m%d_%H%M%S)"

Note: The ?export query parameter disables chart animations for cleaner PDF rendering. Charts will still animate when viewing the HTML directly in a browser.

This creates a timestamped folder (e.g., screenshots/20241210_143052/) so you can track versions and compare before/after fixes.

Then use the Read tool to examine each screenshot image file.

What to Look For

The overflow script catches most layout issues, but these problems require visual inspection:

  1. Color inheritance in containers: Text inside boxes or callouts may inherit the wrong color from parent elements. If you have light text on a dark page background, text inside a light-colored .box or .callout will be unreadable unless you explicitly set dark text color for that container. Fix pattern - explicitly set text and bullet colors for light containers: .box-light p,.box-light li {color: var(--text-dark);}.box-light ul li::before {background: var(--primary-color); /* bullet color */}
  2. Custom bullet/list styling: If you override default list styles, bullets may not contrast well on all container backgrounds.
  3. Icons not rendering: If Font Awesome fails to load, you'll see empty squares or nothing where icons should be.
  4. Overflow edge cases: The script catches most overflow, but complex nested layouts occasionally slip through.
  5. Unexpected text wrap: Text that you expected to fit on one line actually overflows to two lines. This is especially common in column layouts, where the header of one column may wrap while the rest don't, making things uneven.

Re-capture specific slides after fixes:

npx decktape reveal "presentation.html?export" output.pdf \
  --screenshots \
  --screenshots-directory "screenshots/$(date +%Y%m%d_%H%M%S)" \
  --slides 2,5,7-9

Then re-examine the updated screenshots to verify fixes. The new timestamped folder makes it easy to compare with the previous version.

Step 7: Finalize Presentation

CRITICAL: After completing your presentation content and custom CSS, you MUST run the finalization script to integrate styles and clean up artifacts.

Run the finalization script:

node <path-to-skill>/scripts/finalize.js deck-{slug}

What the finalization script does:

  1. Creates assets/ folder - Standard directory for images, documents, and other assets (also created automatically by create-presentation.js)
  2. Integrates custom CSS - Finds all *.css files in the deck root (except lib/offline-v2.css) and:

- Appends their content to lib/offline-v2.css with clear markers - Removes the separate CSS files - Removes external CSS <link> tags from index.html (keeps only lib/offline-v2.css)

  1. Cleans build artifacts - Removes temporary files:

- screenshots/ directory (from decktape screenshot generation) - output.pdf (from decktape PDF export)

Why finalization is important:

  • Single CSS file: All styles consolidated in lib/offline-v2.css for easier distribution
  • Clean HTML: No external CSS references that could break if files are moved
  • Production ready: Removes temporary build artifacts
  • Standard structure: Ensures assets/ folder exists for organizing images/docs

When to run finalization:

  • After completing all slide content
  • After adding any custom CSS files
  • Before sharing or deploying the presentation
  • After generating screenshots/PDFs (to clean up artifacts)

Note: The assets/ folder is created automatically by create-presentation.js, but the finalization script ensures it exists if you're finalizing an older deck.

CSS Components Reference

Boxes

.box {
  background: var(--box-bg);
  border: 1px solid var(--box-border);
  border-radius: 8px;
  padding: 20px;
}

.box-outlined {
  border: 1px solid var(--box-border);
  border-radius: 8px;
  padding: 20px;
  background: transparent;
}

Callouts

.callout {
  border-left: 6px solid var(--primary-color);
  padding: 15px 20px;
  margin: 15px 0;
  background: #f9f9f9;
  border-radius: 8px;
}

/* Color variants */
.callout-blue { border-left-color: #2196F3; background: #e3f2fd; }
.callout-orange { border-left-color: #ff9800; background: #fff3e0; }
.callout-green { border-left-color: #4caf50; background: #e8f5e9; }
.callout-gray { border-left-color: #666; background: #f5f5f5; }

Blockquotes

.reveal blockquote {
  border-left: 4px solid var(--primary-color);
  padding-left: 20px;
  margin: 20px 0;
  font-style: italic;
  background: none;
  box-shadow: none;
  width: 100%;
}

.reveal blockquote cite {
  display: block;
  margin-top: 10px;
  font-style: normal;
  color: var(--muted-color);
}

Icons (Font Awesome)

Font Awesome is included in the scaffold. Usage:

<i class="fa-solid fa-lightbulb"></i>
<i class="fa-solid fa-check"></i>
<i class="fa-solid fa-gears"></i>

Template Structure

The template.zip file contains a complete reveal.js presentation exported from slides.com, including:

  • reveal.js core (lib/reveal.js, lib/reveal.css) - The presentation framework
  • Plugins (lib/reveal-plugins.js):

- RevealZoom - Zoom into elements (Alt+Click / Ctrl+Click) - RevealNotes - Speaker notes view (press S) - RevealMarkdown - Markdown support (available but skill prefers HTML markup) - RevealHighlight - Code syntax highlighting

  • Fonts (lib/fonts/) - Local font files for offline use
  • Styles (lib/offline-v2.css) - Complete CSS including themes
  • Offline support (lib/offline.js) - Works without internet connection

Note: The template uses slides.com format but we convert it to standard reveal.js <section> format when extracting. All plugins are pre-configured and ready to use.

Advanced Features

For fragments (progressive reveal), speaker notes, custom backgrounds, auto-animate, and transitions, see references/advanced-features.md.

Reveal.js Configuration

Reveal.initialize({
  controls: true,          // Show navigation arrows
  progress: true,          // Show progress bar
  slideNumber: true,       // Show slide numbers
  hash: true,              // Update URL hash for each slide
  transition: 'slide',     // none/fade/slide/convex/concave/zoom
  center: false,           // Vertical centering of slide content
  autoSlide: 0,            // Auto-advance (ms), 0 to disable
  loop: false,             // Loop presentation
});

Note on center: Default is false (content aligns to top), which works best for content-heavy slides. Set to true for minimal/creative presentations where you want content vertically centered.

Built-in Reveal.js Classes

Use these directly without custom CSS:

  • r-fit-text - Auto-size text to fill slide
  • r-stretch - Stretch element to fill remaining vertical space
  • r-stack - Layer elements on top of each other
<h1 class="r-fit-text">BIG TEXT</h1>
<img class="r-stretch" src="image.jpg">

Adding Charts

IMPORTANT: Before adding ANY chart, you MUST read references/charts.md. Charts require specific flexbox/grid patterns to size correctly and avoid overflow. Do not attempt to add charts without reading the full documentation first.

Note: The template does not include Chart.js by default. To add charts, you'll need to include Chart.js and the reveal.js chart plugin. See references/charts.md for details.

Required pattern - charts need flexbox containers and maintainAspectRatio: false:

<section style="display: flex; flex-direction: column; height: 100%;">
  <h2>Chart Title</h2>
  <div style="flex: 1; position: relative; min-height: 0;">
    <canvas data-chart="bar">
    <!--
    {
      "data": {
        "labels": ["Q1", "Q2", "Q3", "Q4"],
        "datasets": [{ "label": "Revenue", "data": [12, 19, 8, 15] }]
      },
      "options": {
        "maintainAspectRatio": false
      }
    }
    -->
    </canvas>
  </div>
</section>

references/charts.md covers (required reading):

  • Layout patterns: full slide, half (horizontal/vertical), quarter, unequal splits (1fr 2fr, 1fr 3fr)
  • Why the flexbox pattern is required (Chart.js aspect ratio behavior)
  • All chart types (bar, line, pie, doughnut, scatter, etc.)
  • Styling and color options
  • CSV data format (simpler alternative to JSON)

Dependencies

Required for the scripts:

  • Node.js (for running scripts)
  • adm-zip (for template extraction): npm install adm-zip
  • cheerio (for HTML parsing): npm install cheerio
  • Puppeteer (for overflow checking): npm install puppeteer
  • Decktape (for screenshots): npx decktape (runs directly)

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

28.7%
按下载量换算358

OpenCode

23.23%
按下载量换算290

Codex

18.15%
按下载量换算227

Cursor

11.71%
按下载量换算146

Gemini CLI

7.43%
按下载量换算93

Antigravity

3.26%
按下载量换算41

安全审计

暂无安全审计结果可展示。

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills