Skill-Details

felo-landingpage

Directly generates landing pages and single-page websites.

ÜbereinstimmungDirektGeprüft für landingpages
Quellefelo-inc/felo-skillsExterne Quelle
Gemeldete Installationen47Nur Popularitätssignal

Vor Nutzung prüfen

Die automatische Prüfung bewertet Relevanz, nicht Sicherheit oder Empfehlung. Lies vor der Nutzung die Quellanweisungen.

Gespeicherte Quellvorschau

SKILL.md

Dieser Auszug wurde bei der Prüfung gespeichert. Die externe Quelle enthält die vollständige und aktuelle Version.

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

# 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>
- 
Vollständige Quelle auf GitHub lesen (öffnet externe Seite)
Kontext

Verwandte Arbeit