$npx -y skills add hummingbot/skills --skill slides-generatorCreate Hummingbot-branded PDF slides from markdown with Mermaid diagram support. Use for presentations, decks, and technical documentation with professional diagrams.
| 1 | # slides-generator |
| 2 | |
| 3 | Create Hummingbot-branded presentation slides in PDF format from markdown content. Features two-column layouts and Mermaid diagram rendering for technical architecture and flowcharts. |
| 4 | |
| 5 | ## Workflow |
| 6 | |
| 7 | ### Step 1: Get Markdown Content |
| 8 | |
| 9 | Ask the user to provide a markdown file or paste markdown content. The content should follow this format: |
| 10 | |
| 11 | ```markdown |
| 12 | # Presentation Title |
| 13 | |
| 14 | ## 1. First Slide Title |
| 15 | |
| 16 | Content for the first slide. Can include: |
| 17 | - Bullet points |
| 18 | - **Bold text** and *italic text* |
| 19 | - Code blocks |
| 20 | |
| 21 | ## 2. Second Slide Title |
| 22 | |
| 23 | More content here. |
| 24 | |
| 25 | ## 3. Third Slide Title |
| 26 | |
| 27 | And so on... |
| 28 | ``` |
| 29 | |
| 30 | **Format Rules:** |
| 31 | - `# Title` = Presentation title (optional, becomes title slide) |
| 32 | - `## N. Slide Title` = New slide (N is slide number) |
| 33 | - Content under each `##` heading becomes slide content |
| 34 | - Supports markdown formatting: lists, bold, italic, code blocks, links |
| 35 | |
| 36 | ### Step 2: Parse and Confirm |
| 37 | |
| 38 | Before generating the PDF, parse the markdown and show the user a summary: |
| 39 | |
| 40 | ``` |
| 41 | 📊 Slide Outline: |
| 42 | |
| 43 | 1. First Slide Title |
| 44 | 2. Second Slide Title |
| 45 | 3. Third Slide Title |
| 46 | ... |
| 47 | |
| 48 | Total: X slides |
| 49 | |
| 50 | Please confirm to proceed with PDF generation, or provide edits. |
| 51 | ``` |
| 52 | |
| 53 | Wait for user confirmation before proceeding. |
| 54 | |
| 55 | ### Step 3: Generate PDF |
| 56 | |
| 57 | Run the generation script: |
| 58 | |
| 59 | ```bash |
| 60 | bash <(curl -s https://raw.githubusercontent.com/hummingbot/skills/main/skills/slides-generator/scripts/generate_slides.sh) \ |
| 61 | --input "<markdown_file_or_content>" \ |
| 62 | --output "<output_pdf_path>" |
| 63 | ``` |
| 64 | |
| 65 | Or if the user provided inline content, save it to a temp file first: |
| 66 | |
| 67 | ```bash |
| 68 | # Save content to temp file |
| 69 | cat > /tmp/slides_content.md << 'SLIDES_EOF' |
| 70 | <markdown_content_here> |
| 71 | SLIDES_EOF |
| 72 | |
| 73 | # Generate PDF |
| 74 | bash <(curl -s https://raw.githubusercontent.com/hummingbot/skills/main/skills/slides-generator/scripts/generate_slides.sh) \ |
| 75 | --input /tmp/slides_content.md \ |
| 76 | --output ~/slides_output.pdf |
| 77 | ``` |
| 78 | |
| 79 | ### Step 4: Deliver Result |
| 80 | |
| 81 | After generation, tell the user: |
| 82 | - The PDF file location |
| 83 | - How many slides were generated |
| 84 | - Offer to open/view the PDF if desired |
| 85 | |
| 86 | ## Editing Existing Slides |
| 87 | |
| 88 | If the user wants to edit slides from a previously generated PDF: |
| 89 | |
| 90 | 1. **Read the original markdown** (if available) or **view the PDF** to understand current content |
| 91 | 2. Ask the user what changes they want: |
| 92 | - Edit specific slide content |
| 93 | - Add new slides |
| 94 | - Remove slides |
| 95 | - Reorder slides |
| 96 | 3. Apply changes to the markdown |
| 97 | 4. Regenerate the PDF |
| 98 | |
| 99 | Use the `--edit` flag to update specific slides without regenerating all: |
| 100 | |
| 101 | ```bash |
| 102 | bash <(curl -s https://raw.githubusercontent.com/hummingbot/skills/main/skills/slides-generator/scripts/generate_slides.sh) \ |
| 103 | --input "<updated_markdown>" \ |
| 104 | --output "<same_pdf_path>" \ |
| 105 | --edit |
| 106 | ``` |
| 107 | |
| 108 | ## Diagrams |
| 109 | |
| 110 | Users can describe diagrams in natural language using `mermaid:` syntax. **You must translate these descriptions to Mermaid code** before generating the PDF. |
| 111 | |
| 112 | ### User Input Format |
| 113 | |
| 114 | Users write descriptions like: |
| 115 | ```markdown |
| 116 | mermaid: A flowchart showing User Interface connecting to Condor and MCP Agents, |
| 117 | both connecting to Hummingbot API (highlighted), then to Client, then to Gateway |
| 118 | ``` |
| 119 | |
| 120 | ### Translation to Mermaid |
| 121 | |
| 122 | Convert the description to proper Mermaid syntax: |
| 123 | ```markdown |
| 124 | \`\`\`mermaid |
| 125 | flowchart TB |
| 126 | A[User Interface] --> B[Condor] |
| 127 | A --> C[MCP Agents] |
| 128 | B --> D[Hummingbot API] |
| 129 | C --> D |
| 130 | D --> E[Hummingbot Client] |
| 131 | E --> F[Gateway] |
| 132 | style D fill:#00D084,color:#fff |
| 133 | \`\`\` |
| 134 | ``` |
| 135 | |
| 136 | ### Diagram Types |
| 137 | |
| 138 | - `flowchart TD` - Top-down flowchart |
| 139 | - `flowchart LR` - Left-right flowchart |
| 140 | - `sequenceDiagram` - API and interaction flows |
| 141 | - `classDiagram` - Object-oriented design |
| 142 | - `erDiagram` - Database schemas |
| 143 | |
| 144 | ### Highlighting |
| 145 | |
| 146 | Use `style NodeName fill:#00D084,color:#fff` for Hummingbot green highlighting. |
| 147 | |
| 148 | ### Requirements |
| 149 | |
| 150 | Mermaid diagrams require the Mermaid CLI: |
| 151 | ```bash |
| 152 | npm install -g @mermaid-js/mermaid-cli |
| 153 | ``` |
| 154 | |
| 155 | ## Code Blocks |
| 156 | |
| 157 | Use regular `\`\`\`` code blocks for ASCII art, code snippets, or preformatted text: |
| 158 | |
| 159 | ```markdown |
| 160 | \`\`\` |
| 161 | Price |
| 162 | ^ |
| 163 | | [BUY] --- Level 3 |
| 164 | | [BUY] --- Level 2 |
| 165 | | [BUY] --- Level 1 |
| 166 | +-------------------> Time |
| 167 | \`\`\` |
| 168 | ``` |
| 169 | |
| 170 | Code blocks render with monospace font on a gray background. |
| 171 | |
| 172 | ## Two-Column Layout |
| 173 | |
| 174 | When a slide has both bullet points AND a diagram, it automatically renders in two columns: |
| 175 | - Left column: Text content |
| 176 | - Right column: Diagram |
| 177 | |
| 178 | ```markdown |
| 179 | ## 4. How It Works |
| 180 | |
| 181 | Key features: |
| 182 | - Automated order placement |
| 183 | - Dynamic position management |
| 184 | - Risk-controlled execution |
| 185 | - Real-time monitoring |
| 186 | |
| 187 | mermaid: flowchart showing Market Data to Strategy to Orders |
| 188 | ``` |
| 189 | |
| 190 | After translation: |
| 191 | ```markdown |
| 192 | ## 4. How It Works |
| 193 | |
| 194 | Key features: |
| 195 | - Automated order placement |
| 196 | - Dynamic position management |
| 197 | - Risk-controlled execution |
| 198 | - Real-time monitoring |
| 199 | |
| 200 | \`\`\`mermaid |
| 201 | flowchart TD |