skills/hummingbot/skills/slides-generator

slides-generator

SKILL.md

slides-generator

Create Hummingbot-branded presentation slides in PDF format from markdown content. Features two-column layouts and Mermaid diagram rendering for technical architecture and flowcharts.

Workflow

Step 1: Get Markdown Content

Ask the user to provide a markdown file or paste markdown content. The content should follow this format:

# Presentation Title

## 1. First Slide Title

Content for the first slide. Can include:
- Bullet points
- **Bold text** and *italic text*
- Code blocks

## 2. Second Slide Title

More content here.

## 3. Third Slide Title

And so on...

Format Rules:

  • # Title = Presentation title (optional, becomes title slide)
  • ## N. Slide Title = New slide (N is slide number)
  • Content under each ## heading becomes slide content
  • Supports markdown formatting: lists, bold, italic, code blocks, links

Step 2: Parse and Confirm

Before generating the PDF, parse the markdown and show the user a summary:

📊 Slide Outline:

1. First Slide Title
2. Second Slide Title
3. Third Slide Title
...

Total: X slides

Please confirm to proceed with PDF generation, or provide edits.

Wait for user confirmation before proceeding.

Step 3: Generate PDF

Run the generation script:

bash <(curl -s https://raw.githubusercontent.com/hummingbot/skills/main/skills/slides-generator/scripts/generate_slides.sh) \
  --input "<markdown_file_or_content>" \
  --output "<output_pdf_path>"

Or if the user provided inline content, save it to a temp file first:

# Save content to temp file
cat > /tmp/slides_content.md << 'SLIDES_EOF'
<markdown_content_here>
SLIDES_EOF

# Generate PDF
bash <(curl -s https://raw.githubusercontent.com/hummingbot/skills/main/skills/slides-generator/scripts/generate_slides.sh) \
  --input /tmp/slides_content.md \
  --output ~/slides_output.pdf

Step 4: Deliver Result

After generation, tell the user:

  • The PDF file location
  • How many slides were generated
  • Offer to open/view the PDF if desired

Editing Existing Slides

If the user wants to edit slides from a previously generated PDF:

  1. Read the original markdown (if available) or view the PDF to understand current content
  2. Ask the user what changes they want:
    • Edit specific slide content
    • Add new slides
    • Remove slides
    • Reorder slides
  3. Apply changes to the markdown
  4. Regenerate the PDF

Use the --edit flag to update specific slides without regenerating all:

bash <(curl -s https://raw.githubusercontent.com/hummingbot/skills/main/skills/slides-generator/scripts/generate_slides.sh) \
  --input "<updated_markdown>" \
  --output "<same_pdf_path>" \
  --edit

Diagrams

Users can describe diagrams in natural language using mermaid: syntax. You must translate these descriptions to Mermaid code before generating the PDF.

User Input Format

Users write descriptions like:

mermaid: A flowchart showing User Interface connecting to Condor and MCP Agents,
both connecting to Hummingbot API (highlighted), then to Client, then to Gateway

Translation to Mermaid

Convert the description to proper Mermaid syntax:

\`\`\`mermaid
flowchart TB
    A[User Interface] --> B[Condor]
    A --> C[MCP Agents]
    B --> D[Hummingbot API]
    C --> D
    D --> E[Hummingbot Client]
    E --> F[Gateway]
    style D fill:#00D084,color:#fff
\`\`\`

Diagram Types

  • flowchart TD - Top-down flowchart
  • flowchart LR - Left-right flowchart
  • sequenceDiagram - API and interaction flows
  • classDiagram - Object-oriented design
  • erDiagram - Database schemas

Highlighting

Use style NodeName fill:#00D084,color:#fff for Hummingbot green highlighting.

Requirements

Mermaid diagrams require the Mermaid CLI:

npm install -g @mermaid-js/mermaid-cli

Code Blocks

Use regular \``` code blocks for ASCII art, code snippets, or preformatted text:

\`\`\`
Price
  ^
  |  [BUY] --- Level 3
  |  [BUY] --- Level 2
  |  [BUY] --- Level 1
  +-------------------> Time
\`\`\`

Code blocks render with monospace font on a gray background.

Two-Column Layout

When a slide has both bullet points AND a diagram, it automatically renders in two columns:

  • Left column: Text content
  • Right column: Diagram
## 4. How It Works

Key features:
- Automated order placement
- Dynamic position management
- Risk-controlled execution
- Real-time monitoring

mermaid: flowchart showing Market Data to Strategy to Orders

After translation:

## 4. How It Works

Key features:
- Automated order placement
- Dynamic position management
- Risk-controlled execution
- Real-time monitoring

\`\`\`mermaid
flowchart TD
    A[Market Data] --> B[Strategy]
    B --> C[Orders]
    style B fill:#00D084,color:#fff
\`\`\`

Example Markdown

# Q4 Product Update

## 1. Overview

Today we'll cover:
- Product milestones
- Key metrics
- Roadmap preview

## 2. Architecture

Our system components:
- User-facing interfaces
- Core API layer
- Exchange connectivity

mermaid: flowchart showing UI to API (highlighted) to Gateway

## 3. Key Metrics

| Metric | Q3 | Q4 | Change |
|--------|----|----|--------|
| Users | 10K | 15K | +50% |
| Revenue | $100K | $150K | +50% |

## 4. Q1 Roadmap

1. Mobile app launch
2. Enterprise tier
3. International expansion

## 5. Questions?

Thank you!

Contact: team@example.com

After translating mermaid: descriptions:

## 2. Architecture

Our system components:
- User-facing interfaces
- Core API layer
- Exchange connectivity

\`\`\`mermaid
flowchart TD
    A[UI] --> B[API]
    B --> C[Gateway]
    style B fill:#00D084,color:#fff
\`\`\`

Dependencies

The script will check for and install if needed:

  • Python 3
  • fpdf2 Python package (for PDF generation)

Troubleshooting

Issue Solution
"Python not found" Install Python 3: brew install python3 (macOS) or apt install python3 (Linux)
"fpdf2 not installed" Run: pip3 install fpdf2
"Permission denied" Check write permissions for output directory
"Empty PDF" Verify markdown format follows the ## N. Title pattern

Scripts

Script Purpose
generate_slides.sh Main PDF generation script
Weekly Installs
115
GitHub Stars
20
First Seen
Feb 7, 2026
Installed on
codex107
opencode107
gemini-cli106
github-copilot105
kimi-cli103
cursor103