felo-slides
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseFelo Slides Skill
Felo Slides 技能
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: , "use felo slides"
/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
当用户提出以下创建演示文稿文件的请求时,触发该技能:
- 根据主题或大纲创建/生成幻灯片
- 将笔记转换为PPT演示文稿
- 制作指定页数的演示文稿
- 将演示文稿内容导出为可分享的幻灯片链接
触发关键词:
- 中文提示词:制作幻灯片、生成演示文稿等相关表述
- 英文:slides, PPT, presentation deck, generate presentation
- 明确命令:, "use felo slides"
/felo-slides
以下场景请勿使用该技能:
- 实时信息查询(请使用)
felo-search - 关于本地代码库文件的问题
- 无需生成幻灯片的纯文本任务
Setup
配置步骤
1. Get API key
1. 获取API密钥
- Visit felo.ai
- Open Settings -> API Keys
- Create and copy your API key
- 访问 felo.ai
- 打开「设置」->「API密钥」
- 创建并复制你的API密钥
2. Configure environment variable
2. 配置环境变量
Linux/macOS:
bash
export FELO_API_KEY="your-api-key-here"Windows PowerShell:
powershell
$env:FELO_API_KEY="your-api-key-here"Linux/macOS:
bash
export FELO_API_KEY="your-api-key-here"Windows PowerShell:
powershell
$env:FELO_API_KEY="your-api-key-here"How to Execute
执行方法
Use Bash tool commands and follow this workflow exactly.
使用Bash工具命令,并严格遵循以下工作流程。
Step 1: Precheck API key
步骤1:预检查API密钥
bash
if [ -z "$FELO_API_KEY" ]; then
echo "ERROR: FELO_API_KEY not set"
exit 1
fiIf key is missing, stop and return setup instructions.
bash
if [ -z "$FELO_API_KEY" ]; then
echo "ERROR: FELO_API_KEY not set"
exit 1
fi如果密钥缺失,请停止操作并返回配置说明。
Step 2: Run Node Script (create + poll)
步骤2:运行Node脚本(创建+轮询)
Use the bundled script (no dependency):
jqbash
node felo-slides/scripts/run_ppt_task.mjs \
--query "USER_PROMPT_HERE" \
--interval 10 \
--max-wait 1800 \
--timeout 60Script behavior:
- Creates task via
POST https://openapi.felo.ai/v2/ppts - Polls via
GET https://openapi.felo.ai/v2/tasks/{task_id}/historical - Treats /
COMPLETEDas success terminal (case-insensitive)SUCCESS - Treats /
FAILEDas failure terminalERROR - Stops polling immediately on terminal status
- Prints on success (fallback:
ppt_url)live_doc_url
Optional debug output:
bash
node felo-slides/scripts/run_ppt_task.mjs \
--query "USER_PROMPT_HERE" \
--interval 10 \
--max-wait 1800 \
--json \
--verboseThis outputs structured JSON including:
task_idtask_statusppt_urllive_doc_urllivedoc_short_idppt_business_id
使用内置脚本(无需依赖):
jqbash
node felo-slides/scripts/run_ppt_task.mjs \
--query "USER_PROMPT_HERE" \
--interval 10 \
--max-wait 1800 \
--timeout 60脚本行为:
- 通过创建任务
POST https://openapi.felo.ai/v2/ppts - 通过轮询任务状态
GET https://openapi.felo.ai/v2/tasks/{task_id}/historical - 将/
COMPLETED视为成功终止状态(不区分大小写)SUCCESS - 将/
FAILED视为失败终止状态ERROR - 达到终止状态时立即停止轮询
- 成功时输出(备用:
ppt_url)live_doc_url
可选调试输出:
bash
node felo-slides/scripts/run_ppt_task.mjs \
--query "USER_PROMPT_HERE" \
--interval 10 \
--max-wait 1800 \
--json \
--verbose该模式输出结构化JSON,包含:
task_idtask_statusppt_urllive_doc_urllivedoc_short_idppt_business_id
Step 4: Return structured result
步骤4:返回结构化结果
On success, return:
- immediately (script default output, fallback
ppt_url)live_doc_url - if is used, also include
--json, terminal status, and optional metadatatask_id
成功时返回:
- 直接返回(脚本默认输出,备用为
ppt_url)live_doc_url - 如果使用参数,还需包含
--json、终止状态及可选元数据task_id
Output Format
输出格式
Use this response structure:
markdown
undefined请使用以下响应结构:
markdown
undefinedPPT Generation Result
PPT生成结果
- Task ID: <task_id>
- Status: <status>
- PPT URL: <ppt_url>
- Live Doc URL: <live_doc_url or N/A>
- 任务ID:<task_id>
- 状态:<status>
- PPT链接:<ppt_url>
- 实时文档链接:<live_doc_url 或 N/A>
Notes
备注
- livedoc_short_id: <value or N/A>
- ppt_business_id: <value or N/A>
Error format:
```markdown- livedoc_short_id:<值 或 N/A>
- ppt_business_id:<值 或 N/A>
错误格式:
```markdownPPT Generation Failed
PPT生成失败
- Error Type: <error code or category>
- Message: <readable message>
- Suggested Action: <next step>
undefined- 错误类型:<错误代码或类别>
- 消息:<可读错误信息>
- 建议操作:<下一步操作>
undefinedError Handling
错误处理
Known API error codes:
- (401): key invalid or revoked
INVALID_API_KEY - (502): create task downstream failed
PPT_TASK_CREATE_FAILED - (502): query task downstream failed
PPT_TASK_QUERY_FAILED
Timeout handling:
- If timeout reached, return last known status and instruct user to retry later
- Include so user can query again
task_id
已知API错误代码:
- (401):密钥无效或已被撤销
INVALID_API_KEY - (502):下游任务创建失败
PPT_TASK_CREATE_FAILED - (502):下游任务查询失败
PPT_TASK_QUERY_FAILED
超时处理:
- 如果达到超时时间,返回最后已知状态并建议用户稍后重试
- 需包含以便用户后续再次查询
task_id
Important Notes
重要说明
- Always execute this skill when user intent is slide generation.
- Always return so follow-up queries can continue from the same task.
task_id - Do not claim completion without a terminal status.
- Keep API calls minimal: create once, then poll.
- 当用户明确需要生成幻灯片时,务必启用该技能。
- 务必返回,以便后续查询可基于同一任务继续操作。
task_id - 未达到终止状态时,请勿声称任务已完成。
- 尽量减少API调用:创建一次任务后,仅进行轮询操作。