felo-landingpage
Generate landing pages/webpages with the Felo Landing Page Task API in Claude Code. Use when users ask to create/make/generate a landing page, marketing page, single-page website, AI webpage, HTML page result, or when explicit commands like /felo-landingpage are used. Handles API key check, task creation, polling shared task history, and final ai_page_html output.
Works with
---
name: felo-landingpage
description: Generate landing pages/webpages with the Felo Landing Page Task API in Claude Code. Use when users ask to create/make/generate a landing page, marketing page, single-page website, AI webpage, HTML page result, or when explicit commands like /felo-landingpage are used. Handles API key check, task creation, polling shared task history, and final ai_page_html output.
license: MIT
---
# Felo Landing Page Skill
## When to Use
Trigger this skill for requests about creating generated webpages:
- Create/generate a landing page from a topic, product, feature, or campaign brief
- Turn a marketing description into a shareable single-page website
- Build an AI webpage and return the final hosted HTML result URL
- Generate a web page directly without follow-up questions when the user asks for immediate output
Trigger keywords:
- Chinese prompts about landing pages or webpages: 着陆页, 落地页, 官网页, 单页网站, 网页, HTML 页面
- English: landing page, marketing page, single-page website, webpage, AI page, HTML page
- Explicit commands: `/felo-landingpage`, "use felo landing page"
Do NOT use this skill for:
- Presentation/PPT generation (use `felo-slides`)
- Mindmap generation (use `felo-mindmap`)
- Real-time information lookup only (use `felo-search`)
- Editing local website source files unless the user explicitly asks for local code changes
## Setup
### 1. Get API key
1. Visit [felo.ai](https://felo.ai)
2. Open Settings -> API Keys
3. Create and copy your API key
### 2. Configure environment variable
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.
### Step 1: Precheck API key
```bash
if [ -z "$FELO_API_KEY" ]; then
echo "ERROR: FELO_API_KEY not set"
exit 1
fi
```
If the key is missing, stop and return setup instructions.
### Step 2: Run Node Script (create + poll)
Use the bundled script (no `jq` dependency):
```bash
node felo-landingpage/scripts/run_landingpage_task.mjs \
--query "USER_PROMPT_HERE" \
--interval 10 \
--max-wait 1800 \
--timeout 60
```
For best results, include a direct-generation instruction in the query when the user has not provided one:
```text
In all cases, generate the webpage directly and do not ask any follow-up questions.
```
To resume polling an existing task without creating a duplicate landing page:
```bash
node felo-landingpage/scripts/run_landingpage_task.mjs \
--task-id "TASK_ID_HERE" \
--interval 10 \
--max-wait 1800
```
Script behavior:
- Creates task via `POST https://openapi.felo.ai/v2/landing_page`
- Polls via `GET https://openapi.felo.ai/v2/tasks/{task_id}/historical`
- Treats `COMPLETED`/`SUCCESS` as success terminal (case-insensitive)
- Treats `FAILED`/`ERROR`/`EXPIRED`/`CANCELED`/`CANCELLED` as failure terminal
- Stops polling immediately on terminal status
- Prints `ai_page_html` on success
- Keeps `ppt_biz_id` and `ppt_url` in JSON output because the historical response currently reuses the PPT history structure
Optional debug output:
```bash
node felo-landingpage/scripts/run_landingpage_task.mjs \
--query "USER_PROMPT_HERE" \
--interval 10 \
--max-wait 1800 \
--json \
--verbose
```
This outputs structured JSON including:
- `task_id`
- `task_status`
- `ai_page_html`
- `ppt_biz_id`
- `ppt_url`
- `error_message`
### Step 3: Return structured result
On success, return:
- `ai_page_html` immediately (script default output)
- if `--json` is used, also include `task_id`, terminal status, and optional metadata
## Output Format
Use this response structure:
```markdown
## Landing Page Generation Result
- Task ID: <task_id>
- Status: <status>
- HTML URL: <ai_page_html>
- PPT Biz ID: <ppt_biz_id or N/A>
- PPT URL: <ppt_url or N/A>
```
Error format:
```markdown
## Landing Page Generation Failed
- Error Type: <error code or category>
- Message: <readable message>
- Suggested Action: <next step>
```
## Open API Workflow
Use only the public Open API endpoints:
1. Create task: `POST /v2/landing_page`
2. Read `data.task_id`
3. Poll result: `GET /v2/tasks/{task_id}/historical`
4. Continue polling while `task_status == RUNNING` or another non-terminal status
5. When `task_status == COMPLETED`, use `data.ai_page_html` as the final webpage result URL
Authentication uses the user's Felo API key:
```http
Authorization: Bearer <user_api_key>
```
Historical lookup currently reuses the shared task history shape, so `ppt_biz_id` and `ppt_url` may still appear alongside `ai_page_html`.
## Error Handling
Known/expected failures:
- `INVALID_API_KEY` or HTTP 401: key invalid or revoked
- Create task response missing `task_id`: API shape changed or task creation failed
- Completed task missing `ai_page_html`: query history again with `--task-id`, or report the task ID
- Timeout reached: return last known status and the `task_id` so the user can resume later
Timeout handling:
- If timeout is reached, return the last known status and instruct the user to retry later
- Include `task_id` so the user can query again
- To resume a timed-out task, use `--task-id` instead of `--query` to avoid creating a duplicate landing page
## Important Notes
- Always execute this skill when user intent is landing page or generated webpage creation.
- Always return `task_id` so follow-up queries can continue from the same task.
- Do not claim completion without a terminal status.
- Use `ai_page_html` as the final result; `ppt_url` is legacy/shared history metadata, not the landing page output.
- Keep API calls minimal: create once, then poll.
## References
- [Felo Open Platform](https://openapi.felo.ai/docs/)More SEO & Marketing skills
ai-video-generation
skills-101/superpowers
Generate AI videos with Google Veo, Seedance 2.0, HappyHorse, Wan, Grok and 40+ models via inference.sh CLI. Models: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Capabilities: text-to-video, image-to-video, reference-to-video, video editing, lipsync, avatar animation, video upscaling, foley sound. Use for: social media videos, marketing content, explainer videos, product demos, AI avatars. Triggers: video generation, ai video, text to video, image to video, veo, animate image, video from image, ai animation, video generator, generate video, t2v, i2v, ai video maker, create video with ai, runway alternative, pika alternative, sora alternative, kling alternative, seedance, happyhorse
ai-image-generation
skills-101/superpowers
Generate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to image, stable diffusion, generate image, ai art, midjourney alternative, dall-e alternative, text2img, t2i, image generator, ai picture, create image with ai, generative ai, ai illustration, grok image, gemini image, gpt image, openai image, chatgpt image
ai-avatar-video
skills-101/superpowers
Create AI avatar and talking head videos via inference.sh CLI. Recommended: P-Video-Avatar (fastest, cheapest, built-in TTS). Also: OmniHuman, Fabric, PixVerse. Audio: Inworld TTS-2 (100+ languages, emotion steering for characters), ElevenLabs, Kokoro. Capabilities: audio-driven avatars, text-to-avatar, lipsync videos, talking head generation, virtual presenters, UGC content. Use for: AI presenters, explainer videos, virtual influencers, dubbing, marketing videos, UGC ads, gaming avatars, NPC dialogue. Triggers: ai avatar, talking head, lipsync, avatar video, virtual presenter, ai spokesperson, audio driven video, heygen alternative, synthesia alternative, talking avatar, lip sync, video avatar, ai presenter, digital human, ugc, ugc video, ugc ad, avatar ugc

