Felo Slides

v1.0.0

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...

2· 324·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for comman-kaide/comman-felo-slides.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Felo Slides" (comman-kaide/comman-felo-slides) from ClawHub.
Skill page: https://clawhub.ai/comman-kaide/comman-felo-slides
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Canonical install target

openclaw skills install comman-kaide/comman-felo-slides

ClawHub CLI

Package manager switcher

npx clawhub@latest install comman-felo-slides
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
The SKILL.md and included script implement creating and polling Felo PPT tasks (POST /v2/ppts and GET /v2/tasks/{id}/historical), which matches the stated purpose. However, the skill metadata declares no required environment variables and no required binaries, while the runtime requires FELO_API_KEY and execution via Node. This omission is a material mismatch between claimed requirements and what the skill actually needs.
Instruction Scope
Instructions are narrowly scoped to creating a PPT task, polling until a terminal state, and returning the URL/task_id. They instruct running the bundled Node script and checking FELO_API_KEY. The SKILL.md telling the agent to "always execute this skill when user intent is slide generation" is an instruction to prefer this skill for relevant intents but not a technical privilege. No instructions attempt to read unrelated local files or exfiltrate data outside the Felo endpoints.
Install Mechanism
There is no install spec (instruction-only + bundled script). The included script is plain, unobfuscated JavaScript that issues HTTP requests to openapi.felo.ai. No downloads from arbitrary URLs or archive extraction occur. This is low install risk.
!
Credentials
Runtime expects FELO_API_KEY (and optionally FELO_API_BASE) but the skill metadata lists no required environment variables or primary credential. Requiring an API key to call an external service is reasonable, but the omission from metadata is misleading and prevents the platform from prompting for appropriate credentials or warning users. There are no unrelated credentials requested by the skill.
Persistence & Privilege
always:false and model invocation is allowed (default). The skill does not request permanent platform presence, does not modify other skills or system-wide settings, and does not persist tokens or change agent config. No excessive privileges are requested.
What to consider before installing
This skill appears to implement exactly what it claims: create a PPT task on Felo and poll until completion. However, before installing or enabling it, verify two things: (1) the skill requires a FELO_API_KEY (the SKILL.md and script check FELO_API_KEY) but the metadata does NOT declare that requirement — ask the publisher to declare FELO_API_KEY as a required credential so the platform can handle it safely; (2) the skill runs a Node script, so the agent runtime must provide a Node binary (metadata currently lists no required binaries). Inspect the included script (it only calls openapi.felo.ai endpoints and prints results) and ensure you are comfortable providing your Felo API key to this skill. If you prefer caution, run the script in a sandboxed environment with a limited/test API key, or request the publisher to update the skill metadata to list FELO_API_KEY and node as required so the platform can surface correct consent prompts.

Like a lobster shell, security has layers — review code before you run it.

latestvk971sssfd2t68znd2sydy39nr182dbjb
324downloads
2stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

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

Script behavior:

  • Creates task via POST https://openapi.felo.ai/v2/ppts
  • 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

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 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

Comments

Loading comments...