Communitygithub.com

Hinto AI CLI

ターミナルまたはAIエージェントから動画、記事、公開を管理するためのHinto CLIスキル。

Hinto AI CLI とは?

Hinto AI CLIスキルは、Hinto CLI(`@hintoai/cli`)を駆動するための包括的なスキルです。このスキルは、インストール、認証、全コマンドグループ、非同期ジョブ処理、コマンドのチェーン実行など、Hinto CLIの全ワークフローをカバーします。主に動画のアップロード/インポート、テンプレートを利用した記事生成、プロジェクトの公開/再公開/非公開といったコンテンツ制作パイプラインを、ターミナルやAIエージェント(Claude Code, Cursor, Codex等)から直接実行できるようにします。APIキーはプロジェクト単位で発行され、`HINTO_API_KEY`環境変数または`hinto init`コマンドで設定します。スキルは`npx skills add hintoai/hinto-cli`でインストールでき、エージェントはBash経由で`hinto`コマンドを実行し、`--json`フラグで出力をパースしながらチェーン処理を行います。非同期ジョブには`--wait`オプションが利用可能で、公開操作などは手動でジョブステータスをポーリングする必要があります。また、`references/`ディレクトリ配下の詳細なリファレンスファイルを参照することで、各コマンドグループの詳細な使い方やレシピを学ぶことができます。

対応~Claude Code~Codex CLI~Cursor
npx skills add hintoai/hinto-cli

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Hinto CLI スキル

このスキルは、Hintoの全ターミナルワークフロー(インストール、認証、全コマンドグループ、非同期ジョブ処理、コマンドのチェーン実行)をカバーします。

インストール

このスキルは hinto CLI を駆動します。

パッケージ名: コマンドは hinto ですが、npm パッケージは @hintoai/cli です。 @hinto/cli や hinto を推測しないでください — それらは存在せず、404 エラーになります。 常にパッケージは @hintoai/cli としてインストール、アップグレード、参照してください。

コマンドを実行する前に、CLI がインストールされていることを確認してください — hinto が PATH にない場合は、最初にインストールします:

# CLI をグローバルインストール
npm install -g @hintoai/cli

# 確認
hinto --version

最新バージョンにアップグレードするには、以下を実行します:

npm install -g @hintoai/cli@latest

その後、認証します(下記参照)。hinto コマンドが「command not found」で失敗した場合は、上記のインストール手順を再実行してください。

このスキル自体のインストール(任意のエージェント向け)は、ユニバーサルスキル CLI を使用して行います: npx skills add hintoai/hinto-cli

認証

API キーの取得場所

API キーは プロジェクトごと(アカウント全体ではありません)— 各キーは単一のプロジェクトにスコープされ、CLI はキーが属するプロジェクトに対して動作します。作成するには:

  1. Hinto アプリ(https://app.hintoai.com)でプロジェクトを開きます。
  2. 設定(トップバー)をクリックして プロジェクト設定 を開きます。
  3. API キーと Webhooks → API キー タブに移動します。
  4. 新しい API キー をクリックし、生成されたキーをコピーします。

キーの設定

環境変数を推奨します — CI で動作し、設定ファイルより優先されます:

export HINTO_API_KEY=hinto_...

インタラクティブ/ローカル使用の場合は、一度 init を実行します:

hinto init --key hinto_...
# ~/.hinto/config.json に書き込まれます — パーミッション 600

ステージング環境やセルフホストインスタンスを対象にするには、--api-url を使用します:

hinto init --key hinto_... --api-url https://staging.hintoai.com
# またはコマンドごと:
hinto articles list --api-url https://staging.hintoai.com

グローバルフラグ

これらのフラグは すべての コマンドで使用できます:

フラグ目的
--json標準出力に生の JSON を出力 — コマンドをチェーンしたり出力を解析するときに使用
--api-url <url>ベース URL を上書き(ステージング、セルフホスト)

作業スタイル

このスキルがアクティブな場合:

  1. Bash 経由でコマンドを実行 — hinto コマンドを直接実行し、単に説明するだけにしないでください。
  2. チェーンするときは --json を使用 — JSON 出力をパイプまたは解析して次のコマンドに渡します。
  3. 非同期ジョブには --wait を使用 — generate start と generate structure のみサポート。--wait がない場合、これらは即座に jobId を返します。publish now、publish republish、project retranslate は常に非同期(--wait なし)— hinto generate status <jobId> で手動でポーリングします。
  4. 最初に認証を確認 — コマンドが UNAUTHORIZED を返した場合、HINTO_API_KEY が設定されているか、hinto init が実行されているかを確認します。
  5. スピナーは stderr に出力 — --wait を使用しても stdout はパイピングのためにクリーンなままです。

インタラクションパターン:

  1. 尋ねる vs. 自動 — 実際に選択肢がある場合(2つ以上)のみユーザーに確認します。選択肢が0~1の場合は、進めて使用した内容を明示します。
  2. 破壊的なアクションを確認 — articles delete と publish unpublish の前に、何が削除またはオフラインになるかを正確に明示してユーザーに確認します。推測で実行しないでください。
  3. 出力の規律 — すべてのタスクを次のもので終了します: 実行したコマンドとその結果、--wait を使用しなかった非同期ジョブの jobId、利用可能なリンク(editUrl / previewUrl)、および次の確認手順。

オリエンテーション — ここから開始

まずこれらを実行して、キーが対象とするプロジェクトを把握します(キーは プロジェクトごと — あなたは正確に1つのプロジェクトに対して動作します):

hinto project get --json          # 名前、タイプ、公開状態、カスタムドメイン
hinto project structure --json    # フォルダ + 記事ツリー
hinto publish status --json       # 公開されているか、どのURLか

結果がユーザーの期待と一致しない場合、キーは異なるプロジェクトを対象としている可能性があります — ユーザーが正しいキーを提供する必要があります。あなたはプロジェクトを切り替えることはできません。

スコープ

各 API キーにはスコープが含まれています。スコープがない場合、操作は INSUFFICIENT_SCOPE(403)で失敗します:

スコープ許可される操作
readget / list / status / structure / languages / versions / translations
writecreate / update / delete / move / duplicate / restore / add-language
generategenerate start / structure, regenerate, retranslate, trigger-translate
publishpublish now / republish / unpublish

回復方法: 不足しているスコープをユーザーに伝えます — そのスコープを含む新しいキーをアプリ UI で作成する必要があります。

ID と状態の注意点

  • 記事とフォルダの ID は 整数 です。ジョブ ID は uuid です。
  • slug と previewUrl は 公開されるまで null です(また、現在の公開スナップショットに含まれていない記事の場合も null です)。
  • generate start / generate structure の前に、動画は ready 状態である必要があります。
  • generate structure は 空のスタブ を生成します。完全な記事ではありません — references/product-behavior.md を参照してください。
  • レート制限: キーあたり 60 req/min(RATE_LIMITED 429 → Retry-After まで待機)。生成は QUOTA_EXCEEDED を返す場合があります。

CLI ではできないこと(アプリ UI のみ)

これらのためのコマンドを 発明しないでください — これらは Hinto ウェブアプリに存在します:

  • プロジェクトまたは API キーの作成
  • ワークスペース / 請求管理
  • 文書化されたコマンドで公開されていないブランディングや公開設定の編集

コアワークフロー: アップロード → 生成 → 公開

# 1. ローカルの動画ファイルをアップロード
hinto videos upload --file ./video.mp4 --json
# → { "videoId": "..." }

# または URL からインポート(Job オブジェクトを返します — 完了するまでポーリングして videoId を取得)
hinto videos import --url https://example.com/video.mp4 --json
# → { "jobId": "...", "type": "import_video_url", "status": "pending", "output": null, ... }
# その後ポーリング: hinto generate status <jobId> — 完了した出力に videoId が含まれます

# 2. 動画が ready になるまで待機
hinto videos status <videoId> --json
# → { "videoId": "...", "status": "ready", ... }

# 3. 利用可能なテンプレートを一覧表示
hinto templates article --json

# 4. 記事を生成し、完了を待機
hinto generate start --video <videoId> --template <templateId> --wait --json

# 4b. 新しい記事へのリンクをユーザーに渡す(editUrl は常に存在、previewUrl は公開時のみ)
hinto articles get <articleId> --json   # → editUrl + previewUrl を含む

# 5. プロジェクトを公開(非同期 — 即座に jobId を返す)
hinto publish now --json
# → { "jobId": "...", "type": "publish", "status": "pending", ... }
# ポーリング: hinto generate status <jobId>

カテゴリルーティング

該当するコマンドグループのリファレンスファイルを読んでください:

タスクリファレンスファイル
動画のアップロード、インポート、管理references/videos.md
記事の作成、編集、移動、翻訳references/articles.md
フォルダの作成と整理references/folders.md
動画から記事または構造を生成references/generate.md
プロジェクト情報、構造ツリー、言語references/project.md
公開、再公開、非公開references/publish.md
利用可能なテンプレートの参照references/templates.md
記事、フォルダ、またはプロジェクト全体のエクスポートreferences/export.md
動画をコンテンツに変換(1記事 vs 構造)references/content-from-video.md
一般的なタスクレシピ(アップロード→生成→公開、編集→再公開、画像追加)references/recipes.md
プロダクト動作(バージョニング/復元、スタブ/自動生成、画像、翻訳)references/product-behavior.md

出力チェックリスト

ユーザーに次のものを残してください:

  • 実行したコマンドとその出力
  • --wait を使用しなかった非同期ジョブの jobId
  • 次の確認手順(例: hinto videos status <id>、hinto generate status <jobId>)
  • 結果に影響を与えたスコープや認証に関する注意点

関連スキル