Agent skill

Claw Presentation Creator

by LeoYeAI in LeoYeAI/openclaw-master-skills

Create professional PowerPoint presentations with python-pptx.

MITAuto-check passedDocuments & Office

Install Claw Presentation Creator

skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill claw-presentation-creator -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LeoYeAI/openclaw-master-skills claw-presentation-creator --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/claw-presentation-creator .claude/skills/claw-presentation-creator && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
claw-presentation-creator
GitHub stars
2.2k
Token cost
~4.5k tokens
SKILL.md length
121 words
Files
2
Skills in repo
1,235
Repo updated
First seen
Licence
MIT

At a glance

Create professional PowerPoint presentations with python-pptx.

  • Works in 4 steps: Use Master Slides for Consistency → Keep File Size Manageable → Use Standard Fonts → …
  • Tasks that involve Slides and decks
  • SKILL.md covers Overview, Installation & Dependencies, Quick Start and Complete API Reference, plus 4 more sections
  • Calls pip, npm and python

What it does

Claw Presentation Creator is an agent skill from LeoYeAI/openclaw-master-skills. Create professional PowerPoint presentations with python-pptx. Supports slides, charts, tables, images, and templates.

Its SKILL.md is about 4.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `_meta.json`).

It sits in Documents & Office, covering Slides and decks and PowerPoint presentations. It works with python-pptx. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.

When your agent uses it

  • Tasks that involve Slides and decks
  • Tasks that involve PowerPoint presentations

Example prompts

  • “/claw-presentation-creator”

Requirements

  • Python 3
  • Node.js

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Use Master Slides for Consistency
  2. Keep File Size Manageable
  3. Use Standard Fonts
  4. Limit Animations

What it can do on your machine

Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pip
    • npm
    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pip and npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Claw Presentation Creator loads about 4.5k tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 121 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~36
When it runs · the whole SKILL.md, loaded when a task matches
~4.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 121 words, ~4,488 tokens.

Download SKILL.mdSave it as .claude/skills/claw-presentation-creator/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
claw-presentation-creator
description
Create professional PowerPoint presentations with python-pptx. Supports slides, charts, tables, images, and templates.
version
2.0.0
category
content-creation
license
MIT

PPTX Skill v2.0

Overview

Complete PowerPoint presentation creation and editing using python-pptx. Supports all common slide operations including text, images, charts, tables, and animations.

Installation & Dependencies

Required
bash
pip install python-pptx pillow
Optional
bash
# For advanced chart support
pip install numpy

# For HTML conversion (advanced)
npm install puppeteer dom-to-pptx

Quick Start

Create First Presentation
python
from pptx import Presentation

prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[0])
slide.shapes.title.text = "Hello World"
prs.save('presentation.pptx')
print("✓ Presentation created!")
Add Content Slide
python
from pptx import Presentation

prs = Presentation()

# Title slide
slide = prs.slides.add_slide(prs.slide_layouts[0])
slide.shapes.title.text = "My Presentation"
slide.placeholders[1].text = "Subtitle here"

# Content slide
slide = prs.slides.add_slide(prs.slide_layouts[1])
slide.shapes.title.text = "Agenda"
slide.placeholders[1].text = "• Point 1\n• Point 2\n• Point 3"

prs.save('output.pptx')

Complete API Reference

Slide Layouts
python
from pptx import Presentation

prs = Presentation()

# Available layouts (indices may vary by template)
# 0 - Title Slide
slide = prs.slides.add_slide(prs.slide_layouts[0])
slide.shapes.title.text = "Title"
slide.placeholders[1].text = "Subtitle"

# 1 - Title and Content
slide = prs.slides.add_slide(prs.slide_layouts[1])
slide.shapes.title.text = "Heading"
slide.placeholders[1].text = "Content here"

# 2 - Section Header
slide = prs.slides.add_slide(prs.slide_layouts[2])

# 3 - Two Content
slide = prs.slides.add_slide(prs.slide_layouts[3])

# 4 - Comparison
slide = prs.slides.add_slide(prs.slide_layouts[4])

# 5 - Title Only
slide = prs.slides.add_slide(prs.slide_layouts[5])

# 6 - Blank
slide = prs.slides.add_slide(prs.slide_layouts[6])
Text Formatting
python
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN

prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[1])

# Title formatting
title = slide.shapes.title
title.text = "Formatted Title"
title.text_frame.paragraphs[0].font.name = 'Arial'
title.text_frame.paragraphs[0].font.size = Pt(36)
title.text_frame.paragraphs[0].font.bold = True
title.text_frame.paragraphs[0].font.color.rgb = RGBColor(0, 0, 0)

# Content formatting
content = slide.placeholders[1]
tf = content.text_frame
tf.text = "First paragraph"

# Add paragraph with formatting
p = tf.add_paragraph()
p.text = "Second paragraph"
p.level = 0  # Indentation level
p.alignment = PP_ALIGN.LEFT

# Run-level formatting (within paragraph)
run = p.add_run()
run.text = "Bold text"
run.font.bold = True
run.font.size = Pt(14)
run.font.name = 'Arial'
run.font.color.rgb = RGBColor(0, 112, 192)  # Blue

run = p.add_run()
run.text = " and "

run = p.add_run()
run.text = "italic text"
run.font.italic = True
Adding Images
python
from pptx import Presentation
from pptx.util import Inches

prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[5])  # Blank layout

# Add image
left = top = Inches(1)
slide.shapes.add_picture(
    'image.jpg',
    left,
    top,
    width=Inches(5),
    height=Inches(3)  # Optional, maintains aspect ratio if omitted
)

# Add image with caption
slide.shapes.add_picture('logo.png', Inches(1), Inches(5), width=Inches(2))

# Add textbox for caption
txBox = slide.shapes.add_textbox(Inches(3.2), Inches(5), Inches(3), Inches(1))
tf = txBox.text_frame
tf.text = "Image caption here"

prs.save('with-image.pptx')
Adding Tables
python
from pptx import Presentation
from pptx.util import Inches
from pptx.dml.color import RGBColor

prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[5])

# Add table: 3 rows, 3 columns
rows = cols = 3
left = top = Inches(2)
width = Inches(6)
height = Inches(2)

table = slide.shapes.add_table(rows, cols, left, top, width, height).table

# Set column widths
table.columns[0].width = Inches(2)
table.columns[1].width = Inches(2)
table.columns[2].width = Inches(2)

# Fill data
table.cell(0, 0).text = 'Header 1'
table.cell(0, 1).text = 'Header 2'
table.cell(0, 2).text = 'Header 3'
table.cell(1, 0).text = 'Row 1'
table.cell(1, 1).text = 'Data 1'
table.cell(1, 2).text = 'Data 2'
table.cell(2, 0).text = 'Row 2'
table.cell(2, 1).text = 'Data 3'
table.cell(2, 2).text = 'Data 4'

# Format cells
cell = table.cell(0, 0)
cell.fill.solid()
cell.fill.fore_color.rgb = RGBColor(0, 112, 192)  # Blue header
cell.text_frame.paragraphs[0].font.color.rgb = RGBColor(255, 255, 255)
cell.text_frame.paragraphs[0].font.bold = True

# Center align all cells
for row in table.rows:
    for cell in row.cells:
        cell.text_frame.paragraphs[0].alignment = PP_ALIGN.CENTER

prs.save('with-table.pptx')
Adding Charts
python
from pptx import Presentation
from pptx.chart.data import CategoryChartData
from pptx.enum.chart import XL_CHART_TYPE
from pptx.util import Inches

prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[5])

# Prepare chart data
chart_data = CategoryChartData()
chart_data.categories = ['Q1', 'Q2', 'Q3', 'Q4']
chart_data.add_series('Revenue', (100000, 150000, 200000, 250000))
chart_data.add_series('Expenses', (80000, 100000, 120000, 140000))

# Add chart
x, y, cx, cy = Inches(1), Inches(1), Inches(8), Inches(5)
chart = slide.shapes.add_chart(
    XL_CHART_TYPE.COLUMN_CLUSTERED,  # Chart type
    x, y, cx, cy,
    chart_data
).chart

# Customize chart
chart.has_title = True
chart.chart_title.text_frame.text = 'Quarterly Financials'
chart.value_axis.has_major_gridlines = True
chart.category_axis.tick_labels.font.size = Pt(10)

prs.save('with-chart.pptx')
Chart Types
python
from pptx.enum.chart import XL_CHART_TYPE

# Available chart types
XL_CHART_TYPE.COLUMN_CLUSTERED      # Clustered column
XL_CHART_TYPE.COLUMN_STACKED        # Stacked column
XL_CHART_TYPE.BAR_CLUSTERED         # Clustered bar
XL_CHART_TYPE.LINE                  # Line chart
XL_CHART_TYPE.PIE                   # Pie chart
XL_CHART_TYPE.PIE_EXPLODED          # Exploded pie
XL_CHART_TYPE.AREA                  # Area chart
XL_CHART_TYPE.XY_SCATTER            # Scatter plot
XL_CHART_TYPE.BUBBLE                # Bubble chart
XL_CHART_TYPE.DOUGHNUT              # Doughnut chart
XL_CHART_TYPE.RADAR                 # Radar chart
Adding Shapes
python
from pptx import Presentation
from pptx.util import Inches
from pptx.enum.shapes import MSO_SHAPE
from pptx.dml.color import RGBColor

prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[5])

# Add rectangle
shape = slide.shapes.add_shape(
    MSO_SHAPE.ROUNDED_RECTANGLE,
    Inches(1), Inches(1), Inches(3), Inches(2)
)
shape.fill.solid()
shape.fill.fore_color.rgb = RGBColor(0, 112, 192)
shape.line.color.rgb = RGBColor(0, 0, 0)

# Add text to shape
tf = shape.text_frame
tf.text = "Click Shape"
tf.paragraphs[0].font.color.rgb = RGBColor(255, 255, 255)
tf.paragraphs[0].alignment = PP_ALIGN.CENTER

# Add arrow
arrow = slide.shapes.add_shape(
    MSO_SHAPE.RIGHT_ARROW,
    Inches(4.5), Inches(1.5), Inches(2), Inches(1)
)

# Add ellipse
ellipse = slide.shapes.add_shape(
    MSO_SHAPE.OVAL,
    Inches(1), Inches(4), Inches(2), Inches(2)
)

prs.save('with-shapes.pptx')
Using Templates
python
from pptx import Presentation

# Use existing template
prs = Presentation('template.pptx')

# Add slides with template layouts
slide = prs.slides.add_slide(prs.slide_layouts[1])
slide.shapes.title.text = "Using Template"

# Access slide master
slide_master = prs.slide_master
print(f"Template has {len(slide_master.slide_layouts)} layouts")

prs.save('customized.pptx')
Notes and Handouts
python
from pptx import Presentation

prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[1])
slide.shapes.title.text = "Slide with Notes"

# Add speaker notes
notes_slide = slide.notes_slide
notes_slide.notes_text_frame.text = """
Speaker Notes:
- Key point 1
- Key point 2
- Remember to mention Q3 results
"""

prs.save('with-notes.pptx')

Complete Examples

Example 1: Business Presentation
python
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN

def create_business_presentation(output_file):
    prs = Presentation()
    
    # Slide 1: Title
    slide = prs.slides.add_slide(prs.slide_layouts[0])
    slide.shapes.title.text = "Q4 Business Review"
    slide.placeholders[1].text = "December 2024\nPresented by: John Doe"
    
    # Slide 2: Agenda
    slide = prs.slides.add_slide(prs.slide_layouts[1])
    slide.shapes.title.text = "Agenda"
    tf = slide.placeholders[1].text_frame
    tf.text = "Business Overview"
    for item in ["Financial Performance", "Key Achievements", "Challenges", "Next Steps"]:
        p = tf.add_paragraph()
        p.text = item
        p.level = 0
    
    # Slide 3: Financial Table
    slide = prs.slides.add_slide(prs.slide_layouts[5])
    title = slide.shapes.add_textbox(Inches(0.5), Inches(0.3), Inches(9), Inches(1))
    title.text_frame.text = "Financial Summary"
    title.text_frame.paragraphs[0].font.size = Pt(24)
    title.text_frame.paragraphs[0].font.bold = True
    
    # Add table
    rows, cols = 5, 4
    left, top, width, height = Inches(0.5), Inches(1.5), Inches(9), Inches(4)
    table = slide.shapes.add_table(rows, cols, left, top, width, height).table
    
    # Headers
    headers = ['Metric', 'Q1', 'Q2', 'Q3']
    for i, header in enumerate(headers):
        cell = table.cell(0, i)
        cell.text = header
        cell.fill.solid()
        cell.fill.fore_color.rgb = RGBColor(0, 112, 192)
        cell.text_frame.paragraphs[0].font.color.rgb = RGBColor(255, 255, 255)
        cell.text_frame.paragraphs[0].font.bold = True
    
    # Data
    data = [
        ['Revenue', '$1.2M', '$1.5M', '$1.8M'],
        ['Expenses', '$0.8M', '$0.9M', '$1.0M'],
        ['Profit', '$0.4M', '$0.6M', '$0.8M'],
        ['Margin', '33%', '40%', '44%']
    ]
    for row_idx, row_data in enumerate(data, 1):
        for col_idx, value in enumerate(row_data):
            table.cell(row_idx, col_idx).text = value
    
    # Slide 4: Closing
    slide = prs.slides.add_slide(prs.slide_layouts[1])
    slide.shapes.title.text = "Thank You"
    slide.placeholders[1].text = "Questions?\n\ncontact@company.com"
    
    prs.save(output_file)
    print(f"✓ Presentation created: {output_file}")

# Usage
create_business_presentation('business-review.pptx')
python
from pptx import Presentation
from pptx.util import Inches
import os

def create_photo_gallery(image_folder, output_file):
    """Create a photo gallery presentation"""
    prs = Presentation()
    
    # Title slide
    slide = prs.slides.add_slide(prs.slide_layouts[0])
    slide.shapes.title.text = "Photo Gallery"
    slide.placeholders[1].text = f"Images from {image_folder}"
    
    # Get images
    images = [f for f in os.listdir(image_folder) if f.endswith(('.jpg', '.png', '.jpeg'))]
    
    # Add images (2 per slide)
    for i in range(0, len(images), 2):
        slide = prs.slides.add_slide(prs.slide_layouts[5])
        
        # First image
        if i < len(images):
            img_path = os.path.join(image_folder, images[i])
            slide.shapes.add_picture(img_path, Inches(0.5), Inches(1.5), width=Inches(4.5))
            
            # Caption
            txBox = slide.shapes.add_textbox(Inches(0.5), Inches(5.5), Inches(4.5), Inches(1))
            tf = txBox.text_frame
            tf.text = images[i]
            tf.paragraphs[0].alignment = PP_ALIGN.CENTER
        
        # Second image
        if i + 1 < len(images):
            img_path = os.path.join(image_folder, images[i + 1])
            slide.shapes.add_picture(img_path, Inches(5), Inches(1.5), width=Inches(4.5))
            
            # Caption
            txBox = slide.shapes.add_textbox(Inches(5), Inches(5.5), Inches(4.5), Inches(1))
            tf = txBox.text_frame
            tf.text = images[i + 1]
            tf.paragraphs[0].alignment = PP_ALIGN.CENTER
    
    prs.save(output_file)
    print(f"✓ Gallery created with {len(images)} images: {output_file}")

# Usage
# create_photo_gallery('./photos', 'gallery.pptx')
Example 3: Invoice Presentation
python
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor

def create_invoice_pptx(invoice_data, output_file):
    """Create invoice as PowerPoint slide"""
    prs = Presentation()
    slide = prs.slides.add_slide(prs.slide_layouts[5])
    
    # Title
    title = slide.shapes.add_textbox(Inches(0.5), Inches(0.3), Inches(9), Inches(1))
    title.text_frame.text = "INVOICE"
    title.text_frame.paragraphs[0].font.size = Pt(36)
    title.text_frame.paragraphs[0].font.bold = True
    title.text_frame.paragraphs[0].alignment = PP_ALIGN.CENTER
    
    # Invoice details
    details = slide.shapes.add_textbox(Inches(0.5), Inches(1.5), Inches(4), Inches(2))
    tf = details.text_frame
    tf.text = f"Invoice #: {invoice_data['number']}\n"
    tf.text += f"Date: {invoice_data['date']}\n"
    tf.text += f"Due: {invoice_data['due_date']}"
    
    # Client info
    client = slide.shapes.add_textbox(Inches(5.5), Inches(1.5), Inches(4), Inches(2))
    tf = client.text_frame
    tf.text = f"Bill To:\n{invoice_data['client_name']}\n{invoice_data['client_address']}"
    
    # Items table
    rows = len(invoice_data['items']) + 2
    table = slide.shapes.add_table(rows, 4, Inches(0.5), Inches(4), Inches(9), Inches(3)).table
    
    # Headers
    headers = ['Description', 'Qty', 'Rate', 'Amount']
    for i, header in enumerate(headers):
        cell = table.cell(0, i)
        cell.text = header
        cell.fill.solid()
        cell.fill.fore_color.rgb = RGBColor(0, 112, 192)
        cell.text_frame.paragraphs[0].font.color.rgb = RGBColor(255, 255, 255)
        cell.text_frame.paragraphs[0].font.bold = True
    
    # Items
    total = 0
    for row_idx, item in enumerate(invoice_data['items'], 1):
        amount = item['qty'] * item['rate']
        total += amount
        table.cell(row_idx, 0).text = item['description']
        table.cell(row_idx, 1).text = str(item['qty'])
        table.cell(row_idx, 2).text = f"${item['rate']:.2f}"
        table.cell(row_idx, 3).text = f"${amount:.2f}"
    
    # Total row
    table.cell(rows-1, 2).text = "Total:"
    table.cell(rows-1, 2).text_frame.paragraphs[0].font.bold = True
    table.cell(rows-1, 3).text = f"${total:.2f}"
    table.cell(rows-1, 3).text_frame.paragraphs[0].font.bold = True
    
    prs.save(output_file)
    print(f"✓ Invoice created: {output_file}")

# Usage
invoice = {
    'number': 'INV-2024-001',
    'date': '2024-01-15',
    'due_date': '2024-02-15',
    'client_name': 'ABC Corporation',
    'client_address': '123 Business St\nCity, State 12345',
    'items': [
        {'description': 'Web Development', 'qty': 40, 'rate': 100},
        {'description': 'Design', 'qty': 20, 'rate': 80},
        {'description': 'Consulting', 'qty': 10, 'rate': 150}
    ]
}
create_invoice_pptx(invoice, 'invoice.pptx')

Error Handling

Common Errors
Error: "Placeholder not found"
python
# Solution: Check layout has the placeholder
slide = prs.slides.add_slide(prs.slide_layouts[0])
if len(slide.placeholders) > 1:
    slide.placeholders[1].text = "Subtitle"
Error: "Image not found"
python
# Solution: Check file exists before adding
import os
if os.path.exists('image.jpg'):
    slide.shapes.add_picture('image.jpg', Inches(1), Inches(1))
else:
    print("Image file not found!")
Error: "Chart data error"
python
# Solution: Ensure data categories and series match
chart_data = CategoryChartData()
chart_data.categories = ['Q1', 'Q2', 'Q3']  # Must match series length
chart_data.add_series('Revenue', (100, 150, 200))

Best Practices

1. Use Master Slides for Consistency
python
# Edit slide master for consistent branding
slide_master = prs.slide_master
title_layout = slide_master.slide_layouts[0]
2. Keep File Size Manageable
python
# Compress images before adding
from PIL import Image
img = Image.open('large.jpg')
img.thumbnail((1920, 1080))
img.save('compressed.jpg', quality=85)
3. Use Standard Fonts
python
# Use fonts available on most systems
title.text_frame.paragraphs[0].font.name = 'Arial'  # Safe choice
4. Limit Animations
python
# python-pptx has limited animation support
# Create simple, clean slides instead

Testing Your Setup

python
# test-pptx.py
from pptx import Presentation
from pptx.util import Inches
import os

print("Testing PPTX setup...")

# Test 1: Create basic presentation
prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[0])
slide.shapes.title.text = "Test Presentation"
prs.save('test-output.pptx')
assert os.path.exists('test-output.pptx')
print("✓ Basic creation test passed")

# Test 2: Add content
slide = prs.slides.add_slide(prs.slide_layouts[1])
slide.shapes.title.text = "Content Slide"
slide.placeholders[1].text = "Test content"
prs.save('test-output.pptx')
print("✓ Content addition test passed")

# Test 3: Load and verify
prs = Presentation('test-output.pptx')
assert len(prs.slides) == 2
print("✓ Load and verify test passed")

# Cleanup
os.remove('test-output.pptx')
print("✓ All tests passed!")

Run test:

bash
python test-pptx.py

License

MIT License - See LICENSE file for details.

© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/claw-presentation-creator of LeoYeAI/openclaw-master-skills.

  • SKILL.md
  • _meta.json

Open the folder on GitHubat commit e5199b5

Compare with similar skills

Claw Presentation Creator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Claw Presentation Creator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Claw Presentation Creator this skillLeoYeAI/openclaw-master-skills2.2k—~4.5kAutomated safety check: PassMIT
Slidesfcakyon/claude-codex-settings1.2k1 repos~1.1kAutomated safety check: PassMIT
Powerpoint SlidesNoi1r/powerpoint-skill124—~12kAutomated safety check: NotesMIT
PPTX HTML Fidelity Auditsanqiufong/slides-from-anything1321 repos~3.5kAutomated safety check: PassApache-2.0
Slide Making Skillhaojing8312/WorkClaw1411 repos~1.8kAutomated safety check: PassApache-2.0
Ppt Generationpeintune/runjam228—~7.1kAutomated safety check: PassMIT

Similar skills

  • Slides

    fcakyon/claude-codex-settings

    Create and edit presentation slide decks (.pptx) with PptxGenJS, bundled layout helpers, and render/validation utilities.

    1.2k GitHub starsUsed in 1 repo~1.1k tokens
    Documents & OfficeAuto-check passed
  • Powerpoint Slides

    Noi1r/powerpoint-skill

    Create visually rich PowerPoint (.pptx) presentations from academic papers, research notes, or any content the user wants in slide format.

    124 GitHub stars~12k tokensUpdated 6 mo ago
    Documents & OfficeAuto-check: notes
  • PPTX HTML Fidelity Audit

    sanqiufong/slides-from-anything

    Audit a python-pptx export against its source HTML deck, identify layout/content drift (footer overflow, cropped content, missing italic/em, lost styling, off-rhythm spacing), and re-export with…

    132 GitHub starsUsed in 1 repo~3.5k tokens
    Documents & OfficeAuto-check passed
  • Slide Making Skill

    haojing8312/WorkClaw

    Implement single-slide PowerPoint pages with PptxGenJS. An agent skill from haojing8312/WorkClaw.

    141 GitHub starsUsed in 1 repo~1.8k tokens
    Documents & OfficeAuto-check passed
  • Ppt Generation

    peintune/runjam

    A skill your agent uses when the user requests to generate, create, or make presentations (PPT/PPTX).

    228 GitHub stars~7.1k tokensUpdated 4 days ago
    Documents & OfficeAuto-check passed
  • PPTX

    ymx10086/ResearchClaw

    Create, edit, and analyze PowerPoint presentations — research talks, conference presentations, lecture slides, and poster summaries.

    312 GitHub stars~2.3k tokensUpdated 6 mo ago
    Documents & OfficeAuto-check passed

More from LeoYeAI/openclaw-master-skills

All 1,235 skills in this repo
  • DevOps Pipeline Management

    LeoYeAI/openclaw-master-skills

    Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.

    2.2k GitHub stars~4.2k tokensUpdated 2 mo ago
    Auto-check: notes
  • Feishu Document Collaboration

    LeoYeAI/openclaw-master-skills

    Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.

    2.2k GitHub stars~2k tokensUpdated 2 mo ago
    Auto-check passed
  • Files Memory System

    LeoYeAI/openclaw-master-skills

    Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.

    2.2k GitHub stars~3.8k tokensUpdated 2 mo ago
    Auto-check passed
  • GEO-Claw AI Visibility Agent

    LeoYeAI/openclaw-master-skills

    Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.

    2.2k GitHub stars~4.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Google Workspace CLI

    LeoYeAI/openclaw-master-skills

    Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.

    2.2k GitHub stars~2.6k tokensUpdated 2 mo ago
    Auto-check: notes
  • HealthFit Health Advisors

    LeoYeAI/openclaw-master-skills

    Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.

    2.2k GitHub stars~4.4k tokensUpdated 2 mo ago
    Auto-check passed

Works with

Questions about Claw Presentation Creator

What does Claw Presentation Creator do?

Create professional PowerPoint presentations with python-pptx. Claw Presentation Creator is an agent skill from LeoYeAI/openclaw-master-skills. Create professional PowerPoint presentations with python-pptx.

When should I use Claw Presentation Creator?

Claw Presentation Creator fits situations like: tasks that involve Slides and decks; tasks that involve PowerPoint presentations.

How do I install Claw Presentation Creator in Claude Code?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill claw-presentation-creator -a claude-code`. Or copy the skill folder (skills/claw-presentation-creator in LeoYeAI/openclaw-master-skills) into .claude/skills/claw-presentation-creator in your project. Claude Code loads it when a task matches its description.

How do I install Claw Presentation Creator in Codex?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill claw-presentation-creator -a codex`. Or copy the skill folder (skills/claw-presentation-creator in LeoYeAI/openclaw-master-skills) into .agents/skills/claw-presentation-creator in your project. Codex loads it when a task matches its description.

Can I use Claw Presentation Creator in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill claw-presentation-creator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/claw-presentation-creator, .gemini/skills/claw-presentation-creator, .github/skills/claw-presentation-creator and .opencode/skills/claw-presentation-creator in your project.

What does Claw Presentation Creator need to run?

Going by SKILL.md and its folder, Claw Presentation Creator needs the command-line tools its instructions call (pip, npm and python). Our summary lists: Python 3; Node.js.

Does Claw Presentation Creator access the network?

SKILL.md contains no URLs. Its commands use pip and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Claw Presentation Creator safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Claw Presentation Creator use?

Claw Presentation Creator is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Claw Presentation Creator use?

About 4.5k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Claw Presentation Creator?

Skills that share tags, products or a category with Claw Presentation Creator: Slides (fcakyon/claude-codex-settings, 1.2k stars), Powerpoint Slides (Noi1r/powerpoint-skill, 124 stars), PPTX HTML Fidelity Audit (sanqiufong/slides-from-anything, 132 stars) and Slide Making Skill (haojing8312/WorkClaw, 141 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Claw Presentation Creator?

LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,160 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.

Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.