← LeaderboardThe Skill Leaderboard

anygen-slide

Generate an editable PowerPoint (PPTX)/Slide deck from a prompt with AnyGen. Choose styles, page count, ratio, and auto-download the PPTX file. Triggers: make PPT, create slides, slide deck, presentation, quarterly review deck.

Published by LeoYeAI ↗LeoYeAI/agent-master-skills

Try your first task

A source-grounded starter task has not been verified for this skill yet.

SKILL.md

name: anygen-slidedescription: "Generate an editable PowerPoint (PPTX)/Slide deck from a prompt with AnyGen. Choose styles, page count, ratio, and auto-download the PPTX file. Triggers: make PPT, create slides, slide deck, presentation, quarterly review deck."

PowerPoint/Slides Generator (PPTX) - AnyGen

Generate professional slide decks from natural language prompts. Supports multiple styles, page counts, and aspect ratios. Output: auto-downloaded PPTX file + online task URL.

When to use

ScenarioExample Prompts
Product presentation"make a product roadmap PPT"
Business review"make a quarterly review slide deck"
Pitch deck"create a startup pitch deck"
Training material"make a training presentation on cloud security"

Prerequisites

  • Python3 and requests: pip3 install requests
  • AnyGen API Key (sk-xxx) — Get one → Setting → Integration
  • Configure once: python3 scripts/anygen.py config set api_key "sk-xxx"

All scripts/ paths below are relative to this skill's installation directory.

Invocation Flow

Step 1: Collect Required Information

Required:

  1. API Key — sk-xxx format (skip if already configured)
  2. Prompt — What the slides should cover

Slide-specific options (ask the user):

  • Style — business / minimalist / tech / academic / creative / data-driven / nature / dark
  • Page count — Brief 5-8 / Standard 10-15 / Detailed 15-25 (default: AI decides)
  • Aspect ratio — 16:9 (projection) or 4:3 (printing)

Optional:

  • Reference files (PDF, PNG, JPG, DOCX, PPTX, TXT) via --file
  • Language: zh-CN (default) or en-US

Step 2: Create task

python3 scripts/anygen.py create \
  --operation slide \
  --prompt "A presentation about the history of artificial intelligence" \
  --style "business" \
  --slide-count 12 \
  --ratio "16:9"
# → Task ID: task_abc123xyz
ParameterShortDescription
--operation-oMust be slide
--prompt-pContent description
--api-key-kAPI Key (omit if configured)
--style-sStyle preference
--slide-count-cNumber of pages
--ratio-r16:9 / 4:3
--template-tPPT template
--language-lzh-CN / en-US
--fileAttachment file path (repeatable)

Step 3: Check progress

status is a non-blocking single query — call it, get the result, return immediately.

python3 scripts/anygen.py status \
  --task-id task_abc123xyz
# → [STATUS] task_id=task_abc123xyz status=processing progress=60

Progress reporting rules — you MUST follow:

  1. Call status every 10 seconds to poll internally
  2. Only notify the user at milestone progress points: 25%, 50%, 75%, 90%, and completion. Do NOT report every small change — this is a long-running task (up to 15 min)
  3. Example user-facing messages at milestones:
    • 25% → "AnyGen is generating slide outline..."
    • 50% → "Content generated, now designing layout..."
    • 75% → "Styling and polishing slides..."
    • 90% → "Almost done, finalizing..."
  4. Progress may stay at the same percentage for several minutes. This is normal — AnyGen performs deep generation (content research, layout design, style rendering) at certain stages. Do NOT assume the task is stuck. Only treat status=failed as an error.

Step 4: Download file

python3 scripts/anygen.py download \
  --task-id task_abc123xyz --output ./output/

Step 5: Return results to user

Tell the user:

  • Local file path — from [RESULT] Local file: line
  • Task URL — from [RESULT] Task URL: line, for online viewing/editing

Do NOT return file_url to the user. The script auto-downloads the file.

Advanced: IM File Delivery (MEDIA: Protocol)

When running in an IM context (e.g., Feishu/Lark bot with OpenClaw), add --media to download:

python3 scripts/anygen.py download \
  --task-id task_abc123xyz --media

Send the output MEDIA:/absolute/path/to/file as a separate short message so the framework delivers the file.

Error Handling

ErrorSolution
invalid API keyCheck if API Key is correct
operation not allowedContact admin for permissions
prompt is requiredAdd --prompt parameter
task not foundCheck if task_id is correct
Generation timeoutRecreate the task

Notes

  • Maximum execution time per task is 15 minutes (customizable via --max-time)
  • Download link is valid for 24 hours
  • Single attachment file should not exceed 10MB