← Back to Skills Marketplace
wangzhiming1999

Felo Slides

by wangzhiming · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ suspicious
1264
Downloads
0
Stars
6
Active Installs
2
Versions
Install in OpenClaw
/install felo-slides
Description
Generate PPT/slides with Felo PPT Task API in Claude Code. Use when users ask to create/make/generate/export presentations or slide decks, or when explicit c...
README (SKILL.md)

\r \r

Felo Slides Skill\r

\r

When to Use\r

\r Trigger this skill for requests about creating presentation files:\r \r

  • Create/generate slides from a topic or outline\r
  • Turn notes into a PPT deck\r
  • Build a presentation with a page count requirement\r
  • Export presentation content into a shareable slide link\r \r Trigger keywords:\r \r
  • Chinese prompts about making slides or presentations\r
  • English: slides, PPT, presentation deck, generate presentation\r
  • Explicit commands: /felo-slides, "use felo slides"\r \r Do NOT use this skill for:\r \r
  • Real-time information lookup (use felo-search)\r
  • Questions about local codebase files\r
  • Pure text tasks that do not require slide generation\r \r

Setup\r

\r

1. Get API key\r

\r

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

2. Configure environment variable\r

\r Linux/macOS:\r \r

export FELO_API_KEY="your-api-key-here"\r
```\r
\r
Windows PowerShell:\r
\r
```powershell\r
$env:FELO_API_KEY="your-api-key-here"\r
```\r
\r
## How to Execute\r
\r
Use Bash tool commands and follow this workflow exactly.\r
\r
### Step 1: Precheck API key\r
\r
```bash\r
if [ -z "$FELO_API_KEY" ]; then\r
  echo "ERROR: FELO_API_KEY not set"\r
  exit 1\r
fi\r
```\r
\r
If key is missing, stop and return setup instructions.\r
\r
### Step 2: Run Node Script (create + poll)\r
\r
Use the bundled script (no `jq` dependency):\r
\r
```bash\r
node felo-slides/scripts/run_ppt_task.mjs \\r
  --query "USER_PROMPT_HERE" \\r
  --interval 10 \\r
  --max-wait 1800 \\r
  --timeout 60\r
```\r
\r
To apply a specific theme, first list available themes with `felo ppt-themes`, then pass the theme ID:\r
\r
```bash\r
node felo-slides/scripts/run_ppt_task.mjs \\r
  --query "USER_PROMPT_HERE" \\r
  --theme "THEME_ID_HERE" \\r
  --interval 10 \\r
  --max-wait 1800 \\r
  --timeout 60\r
```\r
\r
Script behavior:\r
\r
- Creates task via `POST https://openapi.felo.ai/v2/ppts`\r
- Supports optional `--theme \x3Cid>` to apply a PPT theme (sends `ppt_config.ai_theme_id`)\r
- Supports optional `--task-id \x3Cid>` to resume polling an existing task (skips creation)\r
- Polls via `GET https://openapi.felo.ai/v2/tasks/{task_id}/historical`\r
- Treats `COMPLETED`/`SUCCESS` as success terminal (case-insensitive)\r
- Treats `FAILED`/`ERROR` as failure terminal\r
- Stops polling immediately on terminal status\r
- Prints `ppt_url` on success (fallback: `live_doc_url`)\r
\r
Optional debug output:\r
\r
```bash\r
node felo-slides/scripts/run_ppt_task.mjs \\r
  --query "USER_PROMPT_HERE" \\r
  --interval 10 \\r
  --max-wait 1800 \\r
  --json \\r
  --verbose\r
```\r
\r
This outputs structured JSON including:\r
\r
- `task_id`\r
- `task_status`\r
- `ppt_url`\r
- `live_doc_url`\r
- `livedoc_short_id`\r
- `ppt_business_id`\r
- `error_message`\r
\r
### Step 4: Return structured result\r
\r
On success, return:\r
\r
- `ppt_url` immediately (script default output, fallback `live_doc_url`)\r
- if `--json` is used, also include `task_id`, terminal status, and optional metadata\r
\r
## Output Format\r
\r
Use this response structure:\r
\r
```markdown\r
## PPT Generation Result\r
\r
- Task ID: \x3Ctask_id>\r
- Status: \x3Cstatus>\r
- PPT URL: \x3Cppt_url>\r
- Live Doc URL: \x3Clive_doc_url or N/A>\r
\r
## Notes\r
\r
- livedoc_short_id: \x3Cvalue or N/A>\r
- ppt_business_id: \x3Cvalue or N/A>\r
```\r
\r
Error format:\r
\r
```markdown\r
## PPT Generation Failed\r
\r
- Error Type: \x3Cerror code or category>\r
- Message: \x3Creadable message>\r
- Suggested Action: \x3Cnext step>\r
```\r
\r
## Error Handling\r
\r
Known API error codes:\r
\r
- `INVALID_API_KEY` (401): key invalid or revoked\r
- `PPT_TASK_CREATE_FAILED` (502): create task downstream failed\r
- `PPT_TASK_QUERY_FAILED` (502): query task downstream failed\r
\r
Timeout handling:\r
\r
- If timeout reached, return last known status and instruct user to retry later\r
- Include `task_id` so user can query again\r
- **IMPORTANT**: To resume a timed-out task, use `--task-id` instead of `--query` to avoid creating a duplicate PPT:\r
\r
```bash\r
node felo-slides/scripts/run_ppt_task.mjs \\r
  --task-id "TASK_ID_HERE" \\r
  --interval 10 \\r
  --max-wait 1800\r
```\r
\r
## Important Notes\r
\r
- Always execute this skill when user intent is slide generation.\r
- Always return `task_id` so follow-up queries can continue from the same task.\r
- Do not claim completion without a terminal status.\r
- Keep API calls minimal: create once, then poll.\r
\r
## References\r
\r
- [Felo PPT Task API](https://openapi.felo.ai/docs/api-reference/v2/ppt-tasks.html)\r
- [Felo Open Platform](https://openapi.felo.ai/docs/)\r
Usage Guidance
This skill appears to do what it says (create and poll Felo PPT tasks), but the package metadata fails to declare two important things: (1) it requires you to set FELO_API_KEY (and optionally FELO_API_BASE), and (2) it requires a Node runtime to execute the bundled script. Before installing or using it, confirm you trust felo.ai (prompts and slide content are sent to their API), verify the origin of this package (the manifest points to a GitHub repo but Source/Homepage were shown as unknown/none), and ask the skill author to update the manifest to declare FELO_API_KEY as a required credential and to note the Node requirement. If you proceed, ensure the API key you provide is scoped appropriately and avoid sending sensitive or private data in prompts.
Capability Analysis
Type: OpenClaw Skill Name: felo-slides Version: 1.0.1 The felo-slides skill is a legitimate tool designed to generate PowerPoint presentations using the Felo PPT Task API. The core logic in `scripts/run_ppt_task.mjs` uses standard Node.js fetch calls to interact with `openapi.felo.ai` for task creation and status polling. The instructions in `SKILL.md` are well-aligned with the stated purpose, and there is no evidence of data exfiltration, malicious execution, or unauthorized access to sensitive local information.
Capability Assessment
Purpose & Capability
The skill's code and instructions perform exactly the advertised task (create PPT tasks via openapi.felo.ai and poll for results). However the registry metadata claims no required env vars or binaries, while the SKILL.md and script require FELO_API_KEY (and optionally FELO_API_BASE) and a Node runtime. The missing declarations are a mismatch.
Instruction Scope
SKILL.md directs the agent to check FELO_API_KEY and run a bundled Node script that POSTs to /v2/ppts and polls /v2/tasks/... — all consistent with slide generation. But it also instructs use of Bash/node commands while the manifest lists no required binary. The instructions do not attempt to read unrelated files or exfiltrate other credentials, but they do send user-provided prompt content to an external service (felo.ai).
Install Mechanism
No external downloads or installers are used; the skill is instruction-only plus a bundled script. Nothing in the install path writes or fetches remote code at install time.
Credentials
The script legitimately needs FELO_API_KEY (and optionally FELO_API_BASE) but the skill manifest does not declare any required environment variables or a primary credential. This omission is disproportionate and reduces transparency (users won't be warned that an API key is needed). The skill does not request unrelated credentials.
Persistence & Privilege
The skill is not always-enabled and does not request persistent system-wide privileges. It does not modify other skills or system settings.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install felo-slides
  3. After installation, invoke the skill by name or use /felo-slides
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
PPT theme support and task resume; README/SKILL doc updates.
v1.0.0
felo-slides 1.0.0 - Initial release of the felo-slides skill for generating PPT/slides using the Felo PPT Task API. - Handles API key checking, task creation, polling, and returns a shareable PPT URL. - Provides clear error handling and user setup instructions. - Supports both English and Chinese prompts for presentation/slide generation. - Returns structured results including task metadata for follow-up actions.
Metadata
Slug felo-slides
Version 1.0.1
License MIT-0
All-time Installs 7
Active Installs 6
Total Versions 2
Frequently Asked Questions

What is Felo Slides?

Generate PPT/slides with Felo PPT Task API in Claude Code. Use when users ask to create/make/generate/export presentations or slide decks, or when explicit c... It is an AI Agent Skill for Claude Code / OpenClaw, with 1264 downloads so far.

How do I install Felo Slides?

Run "/install felo-slides" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Felo Slides free?

Yes, Felo Slides is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Felo Slides support?

Felo Slides is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Felo Slides?

It is built and maintained by wangzhiming (@wangzhiming1999); the current version is v1.0.1.

💬 Comments