Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
felo-inc avatar

Felo Slides

  • 896 installs
  • 241 repo stars
  • Updated July 22, 2026
  • felo-inc/felo-skills

felo-slides is a Claude Code agent skill that turns topics, outlines, or notes into shareable PowerPoint decks using the Felo PPT Task API for developers who need automated presentation files.

About

felo-slides is a felo-inc/felo-skills integration that calls the Felo PPT Task API from Claude Code to create presentation slide decks. The workflow checks API keys, creates a generation task, polls until completion, and returns a final ppt_url link developers can share. Use felo-slides when prompts ask to create, make, generate, or export slides or PPT files from a topic, outline, notes, or explicit /felo-slides command, including Chinese presentation requests. Page-count requirements and bilingual trigger keywords are documented so agents handle end-to-end deck creation without manual PowerPoint editing.

  • Generates full PPT decks from a topic, outline or notes
  • Supports explicit page count and formatting requirements
  • Handles API key validation, task creation, polling and returns final ppt_url
  • Activated by natural language requests or the /felo-slides command
  • Optimized for both English and Chinese slide-generation prompts

Felo Slides by the numbers

  • 896 all-time installs (skills.sh)
  • +27 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #302 of 1,335 Generative Media skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/felo-inc/felo-skills --skill felo-slides

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs896
repo stars241
Security audit3 / 3 scanners passed
Last updatedJuly 22, 2026
Repositoryfelo-inc/felo-skills

How do you generate PowerPoint slides from an outline?

Instantly turn topics, outlines or notes into complete, shareable PowerPoint slide decks using the Felo PPT Task API inside Claude Code.

Who is it for?

Developers in Claude Code who need fast, API-driven PowerPoint decks from notes without manual slide layout work.

Skip if: Teams requiring on-premise, code-only Reveal.js decks with zero external presentation API dependencies.

When should I use this skill?

A user asks to create slides, generate a PPT, export a presentation, or invokes /felo-slides with a topic or outline.

What you get

Completed Felo PPT task, shareable ppt_url link, and generated slide deck ready for download or presentation.

  • Shareable ppt_url
  • Generated slide deck

Files

SKILL.mdMarkdownGitHub ↗

Felo Slides Skill

When to Use

Trigger this skill for requests about creating presentation files:

  • Create/generate slides from a topic or outline
  • Turn notes into a PPT deck
  • Build a presentation with a page count requirement
  • Export presentation content into a shareable slide link

Trigger keywords:

  • Chinese prompts about making slides or presentations
  • English: slides, PPT, presentation deck, generate presentation
  • Explicit commands: /felo-slides, "use felo slides"

Do NOT use this skill for:

  • Real-time information lookup (use felo-search)
  • Questions about local codebase files
  • Pure text tasks that do not require slide generation

Setup

1. Get API key

1. Visit felo.ai 2. Open Settings -> API Keys 3. Create and copy your API key

2. Configure environment variable

Linux/macOS:

export FELO_API_KEY="your-api-key-here"

Windows PowerShell:

$env:FELO_API_KEY="your-api-key-here"

How to Execute

Use Bash tool commands and follow this workflow exactly.

Step 1: Precheck API key

if [ -z "$FELO_API_KEY" ]; then
  echo "ERROR: FELO_API_KEY not set"
  exit 1
fi

If key is missing, stop and return setup instructions.

Step 2: Run Node Script (create + poll)

Use the bundled script (no jq dependency):

node felo-slides/scripts/run_ppt_task.mjs \
  --query "USER_PROMPT_HERE" \
  --interval 10 \
  --max-wait 1800 \
  --timeout 60

To apply a specific theme, first list available themes with felo ppt-themes, then pass the theme ID:

node felo-slides/scripts/run_ppt_task.mjs \
  --query "USER_PROMPT_HERE" \
  --theme "THEME_ID_HERE" \
  --interval 10 \
  --max-wait 1800 \
  --timeout 60

Script behavior:

  • Creates task via POST https://openapi.felo.ai/v2/ppts
  • Supports optional --theme <id> to apply a PPT theme (sends ppt_config.ai_theme_id)
  • Supports optional --livedoc-id <id> to reuse an existing LiveDoc instead of auto-creating a new one
  • Supports optional --task-id <id> to resume polling an existing task (skips creation)
  • Polls via GET https://openapi.felo.ai/v2/tasks/{task_id}/historical
  • Treats COMPLETED/SUCCESS as success terminal (case-insensitive)
  • Treats FAILED/ERROR as failure terminal
  • Stops polling immediately on terminal status
  • Prints ppt_url on success (fallback: live_doc_url)

Optional debug output:

node felo-slides/scripts/run_ppt_task.mjs \
  --query "USER_PROMPT_HERE" \
  --interval 10 \
  --max-wait 1800 \
  --json \
  --verbose

This outputs structured JSON including:

  • task_id
  • task_status
  • ppt_url
  • live_doc_url
  • livedoc_short_id
  • ppt_business_id
  • error_message

Step 3: Confirm terminal status

The script polls the historical endpoint automatically. Wait for it to exit before responding:

  • Success: terminal status is COMPLETED or SUCCESS, and the script prints

ppt_url (fallback: live_doc_url)

  • Failure: terminal status is FAILED or ERROR; return the error format below
  • Timeout: include the task_id and tell the user to resume with --task-id

instead of creating a duplicate PPT task

Step 4: Return structured result

On success, return:

  • ppt_url immediately (script default output, fallback live_doc_url)
  • if --json is used, also include task_id, terminal status, and optional metadata

Output Format

Use this response structure:

## PPT Generation Result

- Task ID: <task_id>
- Status: <status>
- PPT URL: <ppt_url>
- Live Doc URL: <live_doc_url or N/A>

## Notes

- livedoc_short_id: <value or N/A>
- ppt_business_id: <value or N/A>

Error format:

## PPT Generation Failed

- Error Type: <error code or category>
- Message: <readable message>
- Suggested Action: <next step>

Error Handling

Known API error codes:

  • INVALID_API_KEY (401): key invalid or revoked
  • PPT_TASK_CREATE_FAILED (502): create task downstream failed
  • PPT_TASK_QUERY_FAILED (502): query task downstream failed

Timeout handling:

  • If timeout reached, return last known status and instruct user to retry later
  • Include task_id so user can query again
  • IMPORTANT: To resume a timed-out task, use --task-id instead of --query to avoid creating a duplicate PPT:
node felo-slides/scripts/run_ppt_task.mjs \
  --task-id "TASK_ID_HERE" \
  --interval 10 \
  --max-wait 1800

Important Notes

  • Always execute this skill when user intent is slide generation.
  • Always return task_id so follow-up queries can continue from the same task.
  • Do not claim completion without a terminal status.
  • Keep API calls minimal: create once, then poll.

References

Related skills

FAQ

What API does felo-slides use?

felo-slides uses the Felo PPT Task API inside Claude Code. The skill verifies the API key, creates a generation task, polls for completion, and returns the final ppt_url for the finished slide deck.

What triggers felo-slides in Claude Code?

felo-slides triggers on requests to create, make, generate, or export slides or PPT decks, including the /felo-slides command and Chinese presentation prompts. Developers can pass a topic, outline, notes, or required page count.

Is Felo Slides safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Generative Mediaautomationagents

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.