← Back to Skills Marketplace
tavis1536-art

presentation-by-html

by tavis1536-art · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ✓ Security Clean
69
Downloads
1
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install presentation-by-html
Description
Use when the user needs to create a technical sharing, presentation, or talk material. Triggered by requests like "prepare a sharing", "make slides", "build...
README (SKILL.md)

Presentation Builder

Overview

Build presentation materials as HTML through a two-phase process: brainstorm first, build second. Never produce slides before the narrative structure is solid.

Phase 1: Brainstorm

Conduct a structured dialogue before writing any code.

Required Questions

Audience & Format:

  • Who is the audience? Technical depth? Prior knowledge?
  • Duration? Format constraints?

Content Core:

  • What problem does this solve? What was the status quo before?
  • What is the core capability / contribution?
  • Current status (shipped / MVP / in-progress)?
  • Demos, data, or real cases available?

Narrative Intent:

  • What should the audience take away?
  • Pitfalls, "aha moments", counter-intuitive insights?

Structuring Principles

  • Effect before mechanism: Show what it does before explaining how
  • Pitfalls are gold: Real failures resonate more than polished success. Structure each as: phenomenon -> cause -> solution -> generalizable insight
  • Avoid cliché openings: Prefer tension, paradox, or direct demo over "imagine it's 3am..."
  • Time-box sections: Allocate minutes explicitly. Core insights deserve >40% of time
  • One takeaway per slide: Two ideas = two slides

Iterate Until Stable

Continue dialogue until:

  • Framework covers all sections with time estimates
  • Narrative arc is clear (hook -> problem -> solution -> lessons -> future)
  • User confirms "framework OK"

Phase 2: Build HTML

File Structure

Separate concerns into three files for maintainability:

project/
  presentation.html    # Semantic structure only, no inline styles except layout-specific
  css/style.css        # All visual styling, animations, component patterns
  js/deck.js           # Navigation, interactions, TOC, expandable logic
  images/              # Screenshots, avatars, demo videos

Interaction Patterns (Critical)

The presentation is NOT a static slide deck. It uses interactive detail-on-demand patterns:

1. Tab Cards — Clickable cards that switch a shared detail area below

\x3Cdiv class="grid-3">
  \x3Cdiv class="card tab-card active" data-tab="topic-a">Summary A\x3C/div>
  \x3Cdiv class="card tab-card" data-tab="topic-b">Summary B\x3C/div>
\x3C/div>
\x3Cdiv class="tab-detail-area">
  \x3Cdiv class="tab-detail active" data-tab="topic-a">...full detail...\x3C/div>
  \x3Cdiv class="tab-detail" data-tab="topic-b">...full detail...\x3C/div>
\x3C/div>

Use when: Multiple sub-topics exist under one slide, each with rich detail.

2. Expandable Details — Cards that expand to reveal deeper content

\x3Cdiv class="card expandable" data-expand-target="detail-id">Summary\x3C/div>
\x3Cdiv class="expand-content-full" id="detail-id">
  \x3Cdiv class="expand-inner">...detailed content...\x3C/div>
\x3C/div>

Use when: A slide has layered information — show summary by default, expand for evidence/examples. Supports data-default-open attribute.

3. Left-Tab + Right-Detail Panel — Vertical tab list with adjacent detail pane

Use when: Each tab has substantial content (code blocks, diagrams) that benefits from full-width display. Example: security isolation details.

Visual Design System

Component CSS Class Usage
Cards .card .card-accent .card-{color} Discrete points, categorized items
Tags .tag .tag-{color} Labels, keywords, status badges
Grids .grid-2 .grid-3 Parallel comparisons
Quote .quote Key insights, memorable one-liners
Architecture boxes .arch-box .arch-box.primary System diagrams
Code blocks \x3Cpre> with .comment .keyword .string .func .op spans Syntax-highlighted dark code
Comparison .compare-box .compare-before .compare-after Before/after with positioned labels
Timeline .timeline .timeline-item Sequential events with time markers
Pitfall insight .pitfall-step .pitfall-insight Highlighted takeaway badges
Big numbers .big-number Metrics with placeholder __ for pending data

Color System (Semantic)

--primary: #1a73e8;       /* neutral/default/architecture */
--accent: #ea4335;        /* problem/danger/before */
--accent-green: #34a853;  /* solution/success/after */
--accent-yellow: #fbbc04; /* caution/intermediate */
--accent-purple: #9334e6; /* advanced/depth/evaluator */

Animation Patterns

  • Fade-in with stagger: .fade-in .fade-in-d1 through .fade-in-d6 for progressive reveal
  • Step-by-step flow: .anim-step + .anim-flow container, revealed sequentially by JS
  • Flow diagram: .flow-node + .flow-connector revealed node-by-node with delays
  • Tab transitions: CSS @keyframes tabFadeIn for smooth panel switching

Slide Types

  1. Title slide (.slide-title): Gradient background, white text
  2. Section divider (.slide-section): Large faded number + heading
  3. Content slide: h2/h3 + interactive components
  4. Architecture slide: CSS flex/grid layouts with .arch-box nodes
  5. Comparison slide: .compare-before / .compare-after side-by-side
  6. Data slide: .big-number with __ placeholders for pending metrics
  7. Q&A slide: Minimal title-slide style

JS Engine Responsibilities

deck.js handles:
- Slide navigation (keyboard ←→/Space/PgUp/PgDn, touch swipe, ESC for TOC)
- Progress bar + counter update
- Tab card switching (click → toggle active class on cards and detail panels)
- Expandable toggle (click → open/close with accordion behavior)
- Security panel switching
- Animated flow triggering (reset + staggered reveal on slide enter)
- Default-open restoration on slide enter
- Expand state cleanup on slide leave

Content Density Rules

  • Body text: 16-22px; never smaller than 13px even in expand-inner
  • Cards: max 3-4 per slide in top-level grid
  • Detail areas can be denser (tables, code, smaller font) since they're opt-in
  • One core idea per slide at the summary level; detail areas can go deeper
  • Use data-title on section/key slides for TOC generation
  • Lazy-load heavy media (video onclick pattern)

Things to Avoid

  • External CDN links (must work offline/intranet)
  • Single-file HTML over 500 lines (split CSS/JS)
  • Static walls of text (use expandable/tab patterns for density)
  • Inline styles for reusable patterns (extract to CSS classes)
  • Images for diagrams (use CSS flex/grid compositions)
Usage Guidance
This appears safe for normal presentation-building use. Review the generated HTML, CSS, and JavaScript before publishing or sharing, especially if you add private screenshots, internal data, or demo materials. Confidence is medium because the displayed SKILL.md content is truncated, but the supplied metadata and scan results show no concrete suspicious behavior.
Capability Analysis
Type: OpenClaw Skill Name: presentation-by-html Version: 1.0.1 The skill bundle provides a structured framework for an AI agent to assist users in creating interactive HTML-based presentations. The instructions in SKILL.md focus on a two-phase workflow (brainstorming and building) and define a clean architectural pattern for the generated code (HTML/CSS/JS separation). There are no indicators of data exfiltration, malicious execution, or prompt injection aimed at compromising the agent or the host system.
Capability Assessment
Purpose & Capability
The described capability—brainstorming and then building an HTML slide deck—is coherent with the skill name and description.
Instruction Scope
The visible instructions emphasize user dialogue, narrative confirmation, and presentation structure rather than autonomous high-impact actions.
Install Mechanism
There is no install spec and no code files; the registry describes this as an instruction-only skill.
Credentials
The visible artifact only describes creating ordinary presentation project files such as HTML, CSS, JavaScript, and images, which is proportionate to the stated purpose.
Persistence & Privilege
No credentials, background persistence, privileged paths, or account access are declared or evident in the supplied artifacts.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install presentation-by-html
  3. After installation, invoke the skill by name or use /presentation-by-html
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
- Skill renamed from `presentation-builder` to `presentation-by-html` - No changes to logic or file content, only metadata (name) updated - Functionality, usage principles, and workflow remain unchanged
v1.0.0
Initial release with a robust, structured approach for building technical presentation materials: - Two-phase workflow: brainstorm (clarify audience, goals, content) then build HTML slides - Requires a detailed narrative framework before slide code is generated - Enforces interactive, detail-on-demand slide components (tab cards, expandable areas, vertical tab-detail panels) - Provides a consistent design system (cards, tags, grids, architecture diagrams, comparison layouts, timelines) - Separates content (HTML), styles (CSS), and interactions (JS) for maintainability - Focuses on clarity, interactivity, and one key idea per slide—avoiding static text walls and clichés
Metadata
Slug presentation-by-html
Version 1.0.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is presentation-by-html?

Use when the user needs to create a technical sharing, presentation, or talk material. Triggered by requests like "prepare a sharing", "make slides", "build... It is an AI Agent Skill for Claude Code / OpenClaw, with 69 downloads so far.

How do I install presentation-by-html?

Run "/install presentation-by-html" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is presentation-by-html free?

Yes, presentation-by-html is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does presentation-by-html support?

presentation-by-html is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created presentation-by-html?

It is built and maintained by tavis1536-art (@tavis1536-art); the current version is v1.0.1.

💬 Comments