mcpField
F
felo-landingpage

felo-landingpage

github.com/felo-incデザイン・UI25063 回インストール14 週間前に更新
リポジトリ

felo-landingpage について

felo-landingpageは、テーマ、製品、キャンペーンの概要から単一ページのウェブサイトを生成するスキルです。Felo Open APIでタスクを作成・確認し、生成されたHTMLを返します。

主な機能

  1. 01テーマや概要からページを生成
  2. 02タスク作成と状態のポーリング
  3. 03タスクIDでポーリングを再開
  4. 04生成されたウェブページのHTMLを返却

活用シーン

  1. 01製品紹介を単一ページのサイトに変換
  2. 02キャンペーン用ランディングページの作成
  3. 03タイムアウトした生成タスクの再開

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/felo-inc/felo-skills --skill felo-landingpage

インストール後、Claude Code で/felo-landingpageを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

clawhub.json
LICENSE
README.md
agents/
openai.yaml
scripts/
run_landingpage_task.mjs

詳細

Felo ランディングページスキル

使用するタイミング

生成するウェブページの作成に関するリクエストでは、このスキルを使用します。

  • トピック、製品、機能、キャンペーンの概要をもとにランディングページを作成/生成する
  • マーケティングの説明文を、共有可能な単一ページのウェブサイトにする
  • AI ウェブページを作成し、ホスティング済みの最終 HTML 結果 URL を返す
  • ユーザーがすぐに出力するよう求めた場合、追加の質問をせずにウェブページを直接生成する

トリガーキーワード:

  • ランディングページやウェブページに関する中国語のプロンプト:着陆页, 落地页, 官网页, 单页网站, 网页, HTML 页面
  • 英語:landing page, marketing page, single-page website, webpage, AI page, HTML page
  • 明示的なコマンド:/felo-landingpage、「use felo landing page」

以下の場合は、このスキルを使用しないでください。

  • プレゼンテーション/PPT の生成(felo-slides を使用)
  • マインドマップの生成(felo-mindmap を使用)
  • リアルタイム情報の検索のみ(felo-search を使用)
  • ユーザーがローカルコードの変更を明示的に求めていない場合の、ローカルウェブサイトのソースファイルの編集

セットアップ

1. API キーを取得する
  1. felo.ai にアクセスします
  2. 「Settings」->「API Keys」を開きます
  3. API キーを作成してコピーします
2. 環境変数を設定する

Linux/macOS:

export FELO_API_KEY="your-api-key-here"

Windows PowerShell:

$env:FELO_API_KEY="your-api-key-here"

実行方法

Bash ツールのコマンドを使用し、次のワークフローに正確に従ってください。

ステップ 1:API キーを事前確認する
if [ -z "$FELO_API_KEY" ]; then
  echo "ERROR: FELO_API_KEY not set"
  exit 1
fi

キーが見つからない場合は、処理を停止してセットアップ手順を返します。

ステップ 2:Node スクリプトを実行する(作成+ポーリング)

バンドル済みのスクリプトを使用します(jq は不要です)。

node felo-landingpage/scripts/run_landingpage_task.mjs \
  --query "USER_PROMPT_HERE" \
  --interval 10 \
  --max-wait 1800 \
  --timeout 60

最良の結果を得るため、ユーザーが指示を指定していない場合は、クエリに直接生成するよう指示を含めてください。

In all cases, generate the webpage directly and do not ask any follow-up questions.

ランディングページを重複して作成せずに、既存のタスクのポーリングを再開するには、次を実行します。

node felo-landingpage/scripts/run_landingpage_task.mjs \
  --task-id "TASK_ID_HERE" \
  --interval 10 \
  --max-wait 1800

スクリプトの動作:

  • POST https://openapi.felo.ai/v2/landing_page でタスクを作成します
  • GET https://openapi.felo.ai/v2/tasks/{task_id}/historical でポーリングします
  • COMPLETED/SUCCESS を成功の終端ステータスとして扱います(大文字と小文字は区別しません)
  • FAILED/ERROR/EXPIRED/CANCELED/CANCELLED を失敗の終端ステータスとして扱います
  • 終端ステータスになった時点で、直ちにポーリングを停止します
  • 成功時は ai_page_html を出力します
  • 履歴レスポンスでは現在も PPT の履歴構造が再利用されているため、JSON 出力に ppt_biz_id と ppt_url を保持します

任意のデバッグ出力:

node felo-landingpage/scripts/run_landingpage_task.mjs \
  --query "USER_PROMPT_HERE" \
  --interval 10 \
  --max-wait 1800 \
  --json \
  --verbose

次の項目を含む構造化 JSON を出力します。

  • task_id
  • task_status
  • ai_page_html
  • ppt_biz_id
  • ppt_url
  • error_message
ステップ 3:構造化された結果を返す

成功時は、次を返します。

  • 直ちに ai_page_html を返します(スクリプトのデフォルト出力)
  • --json を使用した場合は、task_id、終端ステータス、任意のメタデータも含めます

出力形式

次のレスポンス構造を使用します。

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

エラー形式:

## Landing Page Generation Failed

- Error Type: <error code or category>
- Message: <readable message>
- Suggested Action: <next step>

Open API ワークフロー

公開されている Open API エンドポイントのみを使用します。

  1. タスクを作成します:POST /v2/landing_page
  2. data.task_id を読み取ります
  3. 結果をポーリングします:GET /v2/tasks/{task_id}/historical
  4. task_status == RUNNING またはその他の非終端ステータスの間、ポーリングを続けます
  5. task_status == COMPLETED になったら、最終的なウェブページの結果 URL として data.ai_page_html を使用します

認証にはユーザーの Felo API キーを使用します。

Authorization: Bearer <user_api_key>

履歴の検索では現在、共有のタスク履歴形式が再利用されているため、ai_page_html とともに ppt_biz_id と ppt_url が表示される場合があります。

エラー処理

既知の/想定されるエラー:

  • INVALID_API_KEY または HTTP 401:キーが無効であるか、取り消されています
  • タスク作成レスポンスに task_id がない:API の形式が変更されたか、タスクの作成に失敗しています
  • 完了したタスクに ai_page_html がない:--task-id で履歴を再度取得するか、タスク ID を報告します
  • タイムアウトに達した:最後に確認されたステータスと task_id を返し、後で再開できるようにします

タイムアウト処理:

  • タイムアウトに達した場合は、最後に確認されたステータスを返し、後で再試行するようユーザーに案内します
  • ユーザーが再度問い合わせられるよう、task_id を含めます
  • タイムアウトしたタスクを再開するには、重複したランディングページの作成を避けるため、--query の代わりに --task-id を使用します

重要な注意事項

  • ユーザーの意図がランディングページまたは生成されたウェブページの作成である場合は、必ずこのスキルを実行してください。
  • 後続のクエリで同じタスクを引き継げるよう、必ず task_id を返してください。
  • 終了ステータスが確認できるまでは、完了したと主張しないでください。
  • 最終結果には ai_page_html を使用してください。ppt_url はレガシーの共有履歴メタデータであり、ランディングページの出力ではありません。
  • API 呼び出しは最小限にしてください。作成は一度だけ行い、その後はポーリングしてください。

参考資料

コメント