Trigger this skill for requests about creating presentation files:
Trigger keywords:
/felo-slides, "use felo slides"
Do NOT use this skill for:
felo-search)
Linux/macOS:
export FELO_API_KEY="your-api-key-here"
Windows PowerShell:
$env:FELO_API_KEY="your-api-key-here"
Use Bash tool commands and follow this workflow exactly.
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.
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:
POST https://openapi.felo.ai/v2/ppts
--theme to apply a PPT theme (sends ppt_config.ai_theme_id)
--task-id to resume polling an existing task (skips creation)
GET https://openapi.felo.ai/v2/tasks/{task_id}/historical
COMPLETED/SUCCESS as success terminal (case-insensitive)
FAILED/ERROR as failure terminal
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
On success, return:
ppt_url immediately (script default output, fallback live_doc_url)
--json is used, also include task_id, terminal status, and optional metadata
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>
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:
task_id so user can query again
--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
task_id so follow-up queries can continue from the same task.
共 2 个版本