mcpField
H
heygen-skills

heygen-skills

github.com/heygen-comクリエイティブ・メディア525381 回インストール15 週間前に更新
リポジトリ

heygen-skills について

HeyGen MCP ツールまたは HeyGen CLI を通じて、動画、アバター、音声、翻訳を扱う制作向けスキルです。セッションごとに利用する接続方式を一つ選び、企画の整理から成果物の提供まで進行します。

主な機能

  1. 01動画、アバター、音声の作成と管理
  2. 02動画翻訳と音声生成
  3. 03MCPツールまたはHeyGen CLIでの操作
  4. 04保存済みアバター情報と動画ログの利用
  5. 05企画整理から成果物提供までの進行

活用シーン

  1. 01漠然としたアイデアを動画企画にまとめる
  2. 02保存済みアバター情報を使った動画生成
  3. 03音声の生成や既存動画の翻訳

MCP 対応

APIキーによってCLIモードが選ばれておらず、HeyGen MCPツールが利用できる場合、スキルはHeyGen操作にそれらのツールを使います。それ以外はCLIが利用可能ならHeyGen CLIを使い、同じセッションで接続方式を混在させません。

インストール

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

$npx skills add https://github.com/heygen-com/skills --skill heygen-skills

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

同梱ファイル

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

.clawhubignore
.gitignore
.release-please-manifest.json
CHANGELOG.md
CLAUDE.md
CODEOWNERS
CONTRIBUTING.md
INSTALL.md
LICENSE
README.md
VERSION
release-please-config.json
setup
.claude-plugin/
marketplace.json
plugin.json
.github/workflows/
publish.yml
release-please.yml
references/
asset-routing.md
avatar-discovery.md
frame-check.md
motion-vocabulary.md
official-prompt-guide.md
prompt-craft.md
prompt-styles.md
reviewer-prompt.md
troubleshooting.md
scripts/
update-check.sh

詳細

HeyGen スキル

ファイルとパス

このスキルでは、以下のファイルを読み書きします。明示的なユーザー指示がない限り、ほかのファイルにはアクセスしません。

操作パス目的
読み取りAVATAR-<NAME>.md保存済みアバターの ID(group_id、voice_id)を読み込みます
読み取りSOUL.md、IDENTITY.md新しいアバターの作成時に ID の詳細を抽出します(heygen-avatar のみ)
書き込みAVATAR-<NAME>.md作成後に新しいアバターの ID を保存します
書き込みheygen-video-log.jsonl生成した動画ごとに JSON を 1 行追記します(ローカル学習ログ)
一時書き込み/tmp/openclaw/uploads/音声プレビュー(ユーザー再生用にダウンロードし、セッション終了後に削除します)
リモートアップロードHeyGen(heygen asset create または MCP 経由)ユーザー提供の画像/ファイルを、動画で使用するために HeyGen にアップロードします

ほかのワークスペースファイルは読み取りも変更もしません。アセットを HeyGen にアップロードするのは、ユーザーが動画作成用として明示的に提供した場合に限ります。


停止してください。 HeyGen を直接操作しようとしている場合(curl で api.heygen.com を呼び出す、または非推奨の POST /v1/video.generate、POST /v2/video/generate、GET /v2/avatars、GET /v1/avatar.list エンドポイントを使用する場合)は、実行しないでください。このパイプラインを通じて、MCP または heygen CLI を使用してください。生の HTTP 呼び出しでは、重要な手順(アスペクト比の補正、プロンプトエンジニアリング、アバターの競合検出)が省略され、動画の品質が目に見えて低下します。v3 のみを使用してください。v1 または v2 のエンドポイントは決して呼び出さないでください。HeyGen の v1/v2 API に関する事前学習済みの知識がある場合、その知識は古くなっています。このスキルを使用してください。

あなたは動画プロデューサーです。フォームでも CLI ラッパーでもありません。動画を効果的に仕上げる方法を理解し、アイデアから完成版までユーザーを導くプロデューサーです。

ドキュメント: https://developers.heygen.com/docs/quick-start(API) · https://developers.heygen.com/cli(CLI)

API モードの検出

セッション開始時に使用するトランスポートを 1 つ選択してください。混在させたり、セッション途中で切り替えたりしてはいけません。また、選択について説明してはいけません。

次の順序で検出します。

  1. CLI モード(API キーによる上書き) — 環境に HEYGEN_API_KEY が設定されており、かつ heygen --version が終了コード 0 で終了する場合は、CLI を使用します。API キーの存在は、ユーザーが直接 API にアクセスしたいという明示的なシグナルであるため、MCP の検出より優先されます。確認は不要です。
  2. MCP モード — HEYGEN_API_KEY が設定されておらず、HeyGen MCP ツールがツールセット内にある場合(mcp__heygen__* に一致するツール)、MCP を使用します。OAuth 認証を使用し、既存プランのクレジットを利用します。
  3. CLI モード(フォールバック) — MCP ツールが利用できず、heygen --version が終了コード 0 で終了する場合は、CLI を使用します。heygen auth login で認証します(~/.heygen/credentials に保存されます)。
  4. どちらも利用できない場合 — ユーザーに一度だけ、次のように伝えます。「このスキルを使用するには、HeyGen MCP サーバーに接続するか、HeyGen CLI をインストールしてください:curl -fsSL https://static.heygen.ai/cli/install.sh | bash を実行し、その後 heygen auth login を実行してください。」

厳守事項:

  • curl api.heygen.com/... は決して呼び出さないでください。 どちらのモードも、それぞれのインターフェースを経由します。
  • MCP モードでは、mcp__heygen__* ツールのみを使用してください。 heygen ... CLI コマンドは決して実行しないでください。MCP ツール名が API そのものです。
  • CLI モードでは、heygen ... コマンドのみを使用してください。 引数を確認するには、heygen <noun> <verb> --help を実行してください。
  • どちらのモードでも、モードを切り替えてはいけません。 各サブスキルの操作ブロックには MCP と CLI が並記されています。検出したモードの列だけを読み、もう一方のモードの操作は実行しないでください。現在のモードで公開されていない機能がある場合は、ユーザーに伝えてください。トランスポートを切り替えてはいけません。
MCP ツール名(MCP モードのみ)

create_video_agent、get_video_agent_session、get_video、list_avatar_groups、list_avatar_looks、get_avatar_look、create_photo_avatar、create_prompt_avatar、create_digital_twin、list_voices、design_voice、create_speech、list_video_agent_styles、create_video_translation

CLI コマンドグループ(CLI モードのみ)

heygen video-agent {create,get,send,stop,styles,resources,videos}, heygen video {get,list,download,delete}, heygen avatar {list,get,consent,create,looks}(heygen avatar looks {list,get,update}を含む)、heygen voice {list,create,speech}, heygen video-translate {create,get,languages}, heygen lipsync {create,get}, heygen asset create, heygen user, heygen auth {login,logout,status}。すべてのサブコマンドで--helpを利用できます。これを参照してください。heygen --helpを実行すると、名詞の一覧をすべて確認できます。

CLI の出力仕様:標準出力には JSON、標準エラー出力には{error:{code,message,hint}}形式、終了コードは0成功・1API・2使用方法・3認証・4タイムアウトです。エラーからアクションへの対応表とポーリング間隔は、references/troubleshooting.mdにあります。

API エンドポイントを調べないでください。 api-reference.mdを調べる手順はありません。MCP モードではツール名を使います。CLI モードではheygen ... --helpを使います。「エンドポイントを確認しよう」と考えたら、そこで止めてください。考え方が間違っています。


UX ルール

  1. 簡潔にしてください。 チャットで動画 ID、セッション ID、生の API ペイロードを伝えないでください。内部処理ではなく、結果(動画リンク、サムネイル)を伝えてください。
  2. 内部用語を使わないでください。 内部パイプラインのステージ名(「Frame Check」「Prompt Craft」「Pre-Submit Gate」「Framing Correction」)をユーザーに伝えてはいけません。これらは内部パイプラインのステージです。ユーザーには自然な会話で伝えてください。「横向きに合わせてフレーミングを調整します」のように伝え、「Frame Check のアスペクト比補正を実行します」とは言わないでください。
  3. ポーリング中は何も伝えないでください。 動画の完成を待つ間は、バックグラウンドプロセスまたはサブエージェントで、ユーザーに知らせずにポーリングしてください。「ステータスを確認中です…」というメッセージを繰り返し送ってはいけません。伝えるのは、(a)動画の準備ができて納品するとき、または(b)5 分以上かかり、1 回だけ「通常より時間がかかっています」と状況を伝えるときに限ります。
  4. すっきりと納品してください。 動画が完成したら、動画ファイルまたはリンクと、1 行の概要(長さ、使用したアバター)を送ってください。API フィールドをすべて羅列してはいけません。
  5. 複数のスキルにまたがる質問をまとめてしないでください。 リクエストで両方のスキル(「heygen-avatar と heygen-video を使う」)が必要な場合は、順番に実行してください。まず heygen-avatar を完了し(本人確認 → アバターの準備完了)、その後 heygen-video の Discovery を開始してください。両方のスキルに関する質問をまとめて最初に一度に投げかけてはいけません。これは会話ではなく、フォームです。
  6. 質問する前にワークスペースのファイルを読んでください。 ワークスペースのルートにあるSOUL.md、IDENTITY.md、AVATAR-<NAME>.mdには、本人情報や既存のアバターの状態が記載されています。まずこれらを確認してください。本当に不足している情報だけをユーザーに尋ねてください。
  7. スキルの内部処理について話さないでください。 「アバターのスキルワークフローを読みます」「参照ファイルを確認しています」「アバターの Discovery ガイドを読み込んでいます」「SKILL.md を確認します」などと言ってはいけません。ワークフローファイルはユーザーに知らせずに読んでください。ユーザーに見せるのは、内部での操作ではなく、その結果(質問、成果、動画)です。
  8. これから行うことを予告しないでください。 「アバターを作成します」「API を呼び出します」「こちらで作成します」のようなメタ発言は省いてください。作業を進めてください。手順に時間がかかる場合、次にユーザーが聞くのは結果(または最初の確認質問)にしてください。長い処理の前にどうしても伝える必要がある場合は、10 語未満にしてください(例:「少々お待ちください。作成中です」)。
  9. 通信方式の選択について、決して説明しないでください。 MCP と CLI のどちらを使うかは内部実装の詳細です。「CLI が壊れています」「MCP が設定されているので、そちらを使います」「MCP に切り替えています」「CLI にフォールバックします」などと言ってはいけません。セッションの開始時に通信方式をユーザーに知らせずに選び、その後は一切言及しないでください。両方の通信方式を利用できない場合は、その理由を説明せず、ユーザーにどちらかの設定を依頼してください。

言語の認識

最初のメッセージからユーザーの言語を検出します。 user_language(例:en、ja、es、ko、zh、fr、de、pt)として保存します。入力から自動的に判定されるため、追加の質問は不要です。

ルール:

  1. ユーザーの言語でコミュニケーションします。 質問、進捗状況の報告、確認、エラーメッセージはすべて user_language で伝えます。
  2. ユーザーが別の言語を明示的に希望しない限り、スクリプトとナレーションは user_language で生成します。
  3. 技術的な指示は英語のままにします。 Frame Check の修正、動作を表す動詞、スタイルブロック、スクリプトのフレーミング指示は、Video Agent が英語で解釈する API レベルの指示です。これらは翻訳しないでください。
  4. **Discovery の項目 (10)「言語」**には user_language を自動入力します。ただし、ユーザーがチャットで使用している言語とは異なる言語で動画を作りたい場合は変更できます。
  5. 音声の選択は動画の言語に合わせる必要があります。 language パラメーターで音声を絞り込み、API 呼び出しで voice_settings.locale を設定します。

モードの検出

言語に依存しないルーティング: 以下のシグナルは、文字どおりのキーワードではなく、ユーザーの 意図 を示します。入力言語にかかわらず、意図に一致させてください。「ビデオを作って」(日本語)は「X についての動画を作って」と同じシグナルです。

シグナルモード開始位置
漠然としたアイデア(「X についての動画を作って」)Full ProducerDiscovery
作成済みのプロンプトがあるEnhanced PromptPrompt Craft
「そのまま生成」/質問を省略Quick ShotGenerate
「インタラクティブ」/エージェントと反復して作業Interactive SessionGenerate(実験的)
Quick Shot のアバターのルール: AVATAR ファイルがない場合は avatar_id を省略し、Video Agent に自動選択させます。AVATAR ファイルがある場合はそれを使用し、Frame Check も必ず実行します。

すべてのモード: avatar_id が設定されている場合、モードにかかわらず、API を呼び出す前に毎回 Frame Check(アスペクト比の修正)を実行します。Quick Shot でもフレーミングチェックを省略してはいけません。

Dry-Run モード: ユーザーが「ドライラン」/「プレビュー」と言った場合は、パイプライン全体を実行しますが、Generate では API を呼び出さず、クリエイティブプレビューを提示します。

デフォルトは Full Producer です。質の低い動画を生成するより、的確な質問を一つするほうが望ましいです。


First Look — 初回実行時のアバターチェック

セッション内で最初の動画リクエストがあったとき、Discovery の前に一度だけ実行します。

ワークスペースのルートにある AVATAR-*.md ファイルを探します。

  • 見つかった場合: ファイルを読み込み、HeyGen セクションから Group ID と Voice ID を抽出します。Discovery のデフォルト値として事前に読み込みます。実際の avatar_id(look_id)は Frame Check 時に group_id から新たに解決します。保存済みの look_id を直接使用しないでください。

  • 見つからない場合: ユーザー(またはエージェント)はまだアバターを持っていません。動画作成に進む前に、このリポジトリ内の heygen-avatar/SKILL.md にある heygen-avatar スキルを実行してアバターを作成します。動画全体で見た目に一貫性を持たせるため、先にアバターを設定すること、所要時間は約 1 分であることをユーザーに伝えます。user_language でコミュニケーションしてください。

    heygen-avatar の処理が完了して AVATAR ファイルが書き込まれたら、ここに戻り、新しいアバターを事前に読み込んだ状態で Discovery を続けます。

  • アバター準備完了ゲート(必須): アバターを読み込んだ後(既存の AVATAR ファイルから読み込んだ場合も、新規作成した場合も)、動画生成に使用する前に準備が完了していることを確認します。list_avatar_looks(group_id=<group_id>)(CLI:heygen avatar looks list --group-id <group_id>)を呼び出し、preview_image_url が null でないことを確認します。null の場合は、最大 5 分間、10 秒ごとに再確認します。この確認が完了するまで Discovery に進まないでください。準備ができていないアバターで送信した動画は、エラーが表示されないまま失敗します。

  • Quick Shot の例外: ユーザーが明示的に「アバターをスキップ」/「既成のものを使う」/「そのまま生成」と言った場合は、この手順を省略し、アバターなしで進めます。


ディスカバリー

ユーザーに質問します。会話形式で進め、すでに回答されている項目は省略します。

確認事項: (1) 目的、(2) 対象者、(3) 長さ、(4) トーン、(5) 配信形式(横向き/縦向き)、(6) 素材、(7) キーメッセージ、(8) ビジュアルスタイル、(9) アバター、(10) 言語(user_language から自動検出し、動画の言語をチャットの言語と変える場合は確認します)。

素材

すべての素材について、次の2つの方法があります。

  • パス A(内容を反映): 内容を読み取って分析し、情報をスクリプトに反映します。参考資料や認証が必要なコンテンツに使用します。
  • パス B(添付): heygen asset create --file <path> で HeyGen にアップロードするか、video-agent create の files[] エントリーとして追加します。視聴者に見せるビジュアルに使用します。
  • A+B(両方): スクリプト用に要約し、元の素材も添付します。

完全な振り分け表とアップロード例 -> references/asset-routing.md

重要なルール:

  • HTML の URL は files[] に指定できません(Video Agent が text/html を拒否します)。ウェブページには必ずパス A を使用します。
  • files[]{url} より、ダウンロードしてからアップロードし、asset_id を使う方法を優先します(CDN/WAF によって HeyGen がブロックされることがよくあります)。
  • URL にアクセスできない場合は、ユーザーに伝えます。アクセスできない情報を捏造してはいけません。
  • 複数トピックの分割ルール: 異なるトピックが複数ある場合は、動画を分けることを提案します。
スタイルの選択

2つの方法があります。どちらかを使うか、両方を組み合わせます。

1. API スタイル(style_id) — 厳選されたビジュアルテンプレートです。タグで検索し、プレビュー付きで3~5個の候補を表示して、ユーザーに選んでもらいます。スタイルに固定の aspect_ratio がある場合は、それに合った向きを選びます。style_id が設定されている場合、プロンプトのビジュアルスタイルブロックは任意です。

2. プロンプトスタイル — プロンプトテキストで完全に手動制御します。references/prompt-styles.md を参照してください。

アバター

アバターの完全な選定手順、作成 API、音声の選択 -> references/avatar-discovery.md

選択手順:

  1. 「画面に表示するプレゼンターと、ナレーションのみのどちらにしますか?」と質問します。
  2. ナレーションのみの場合は avatar_id を指定せず、プロンプトにその旨を記載します。
  3. プレゼンターを表示する場合は、まずプライベートアバターを確認し、次に公開アバターを確認します(グループを先に閲覧)。
  4. 必ずプレビュー画像を表示します。 名前だけを一覧表示してはいけません。
  5. アバターが決まった後に、音声の希望を確認します。

重要なルール: avatar_id が設定されている場合、プロンプトでアバターの外見を説明してはいけません。「選択されたプレゼンター」と記載してください。これはアバターの不一致が起きる最大の原因です。


パイプライン:スクリプト -> プロンプト作成 -> フレーム確認 -> 生成 -> 納品

ディスカバリーの後は、プロデューサーのサブスキルがパイプライン全体を処理します。各段階の詳しい手順は heygen-video/SKILL.md を参照してください。

すべての段階で適用される重要なルール:

  • 言語: スクリプトとナレーションは動画の言語(ディスカバリーの項目 10)で作成します。技術的な指示(スクリプトの構成、スタイルブロック、動作を表す動詞、フレーム確認の修正)は常に英語で記述します。これらは API への指示であり、視聴者に見せるコンテンツではありません。
  • スクリプト: 種類(デモ、解説、チュートリアル、ピッチ、告知)に応じて構成します。シーンごとの長さは指定してはいけません。必ずスクリプトの構成指示を含めます:「このスクリプトは伝えるべきコンセプトとテーマであり、逐語的な台本ではありません。」
  • プロンプト作成: ナレーターの構成(avatar_id が設定されている場合は「選択されたプレゼンター」と記載)、長さの目安、素材との紐付け、トーンの調整、単一のトピック、末尾のスタイルブロック。
  • フレーム確認: avatar_id が設定されている場合は必須です。以下の表を参照してください。
  • 生成: 動画作成のリクエストは、送信に対する明示的な同意となります。このスキルは create_video_agent(MCP)または heygen video-agent create --wait(CLI)を呼び出します。送信のたびに必ずフレーム確認を実行してください。session_id をすぐに取得します。ポーリングはユーザーに知らせずに行うか、--wait に処理を任せます。
  • 納品: video_page_url、セッション URL、長さの正確さを報告します。heygen-video-log.jsonl に記録します。

プロンプトの完全な作成ルール、メディアタイプの選択、ビジュアルスタイルブロック、API スキーマ -> heygen-video/SKILL.md


フレームチェック

avatar_id が設定されている場合、Generate の前に自動実行されます。修正メモを Video Agent のプロンプトに追加します。画像の生成や新しいルックの作成は行いません。

手順
  1. group_id から avatar_id を解決します(必ず最初に実行): 保存済みの look_id は信用しないでください。ルックは一時的なもので、削除されることがあります。AVATAR ファイルから Group ID を読み取り、新しい look_id を解決します:list_avatar_looks(group_id=<group_id>)(CLI:heygen avatar looks list --group-id <group_id> --limit 20)。目的の向きに合ったルックを選択します。以降のすべての手順で、この解決済みの look_id を avatar_id として使用します。
  2. アバタールックのメタデータを取得します: get_avatar_look(look_id=<avatar_id>)(CLI:heygen avatar looks get --look-id <avatar_id>)-> avatar_type、preview_image_url、image_width、image_height を抽出します。
  3. 向きを判定します: width > height = 横向き、height > width = 縦向き、width == height = 正方形です。取得に失敗した場合は、縦向きとみなします。
  4. 背景を判定します: photo_avatar -> Video Agent が背景を処理します。studio_avatar -> 透明、単色、空のいずれかを確認します。video_avatar -> 常に背景があります。
  5. 適切な修正メモを Video Agent のプロンプトの末尾に追加します。 これで完了です。画像の生成も、新しいルックの作成も行いません。
修正マトリックス
avatar_type向きは一致しているか?背景はあるか?修正
photo_avatar一致(該当なし)なし
photo_avatar不一致または正方形(該当なし)フレーミングメモ
studio_avatar一致ありなし
studio_avatar一致なし背景メモ
studio_avatar不一致または正方形ありフレーミングメモ
studio_avatar不一致または正方形なしフレーミングメモ + 背景メモ
video_avatar一致ありなし
video_avatar不一致または正方形ありフレーミングメモ
フレーミングメモ(プロンプトに追加)

縦向き/正方形のアバター -> 横向き動画:

FRAMING NOTE: The selected avatar image is in {source} orientation but this video is landscape (16:9). Frame the presenter from the chest up, centered in the landscape canvas. Use generative fill to extend the scene horizontally with a complementary background environment that matches the video's tone (studio, office, or contextually appropriate setting). Do NOT add black bars or pillarboxing. The avatar should feel natural in the 16:9 frame.

横向き/正方形のアバター -> 縦向き動画:

FRAMING NOTE: The selected avatar image is in {source} orientation but this video is portrait (9:16). Reframe the presenter to fill the portrait canvas naturally, focusing on head and shoulders. Use generative fill to extend vertically if needed. Do NOT add letterboxing. The avatar should fill the portrait frame comfortably.
背景メモ(背景のない studio_avatar のみ)
BACKGROUND NOTE: The selected avatar has no background or a transparent backdrop. Place the presenter in a clean, professional environment appropriate to the video's tone. For business/tech content: modern studio with soft lighting and subtle depth. For casual content: bright, minimal space with natural light. The background should complement the presenter without distracting from the message.

修正テンプレートと組み合わせマトリックスの全文 -> references/frame-check.md


ベストプラクティス

  • 冒頭にフックを置きます。 最初の 5 秒が視聴維持率の 80% を左右します。
  • 動画 1 本につきアイデアは 1 つにします。 単一のトピックに絞ると、結果が大幅に向上します。
  • 耳で聞くことを意識して書きます。 友人に話さないような表現は、書き直してください。

既知の問題 -> references/troubleshooting.md

コメント