mcpField
C
check-compatibility

check-compatibility

github.com/runwayml開発7447 回インストール2 日前に更新
リポジトリ

check-compatibility について

プロジェクトが Runway の公開 API に対応できるかを調べるスキルです。サーバーサイド機能、ランタイム、SDK、環境変数の対応を確認し、APIキーをクライアントコードに含めないよう扱います。

主な機能

  1. 01プロジェクト構成の特定
  2. 02サーバーサイド機能の確認
  3. 03Runway SDKの検出
  4. 04ランタイムバージョンの確認
  5. 05環境設定の確認

活用シーン

  1. 01Runway APIを呼び出せるかの評価
  2. 02フロントエンドのみの構成にあるセキュリティ上の課題発見
  3. 03SDKとランタイムの準備状況確認
  4. 04APIキー設定の準備

インストール

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

$npx skills add https://github.com/runwayml/skills --skill check-compatibility

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

詳細

互換性を確認する

ユーザーのプロジェクトを分析し、Runway のパブリック API と互換性があるかどうかを判断します。

これが重要な理由

Runway のパブリック API では、サーバー側からの呼び出しが必須です。API キーをクライアント側のコードに決して公開してはいけません。フロントエンドのみのプロジェクト(静的な HTML/JS、バックエンドのないクライアントのみの SPA)では、安全に API を呼び出せません。

分析手順

ステップ 1:プロジェクトの種類を特定する

プロジェクトのルートで次のファイルを検索し、使用している技術スタックを特定します。

ファイル示すもの
package.jsonNode.js プロジェクト
requirements.txt、pyproject.toml、Pipfile、setup.pyPython プロジェクト
go.modGo プロジェクト
Cargo.tomlRust プロジェクト
pom.xml、build.gradleJava/Kotlin プロジェクト
GemfileRuby プロジェクト
composer.jsonPHP プロジェクト

これらが存在しない場合は、プロジェクトを不明として扱い、使用している言語/ランタイムをユーザーに尋ねます。

ステップ 2:サーバー側の機能を確認する

サーバー/バックエンドの有無を示すものを探します。

Node.js プロジェクト — package.json の依存関係を確認します。

  • express、fastify、koa、hapi、nest、hono → HTTP サーバーフレームワーク
  • next → Next.js(API ルートがあるため互換性があります)
  • nuxt → Nuxt.js(サーバールートがあるため互換性があります)
  • remix → Remix(ローダー/アクションがあるため互換性があります)
  • @sveltejs/kit → SvelteKit(サーバールートがあるため互換性があります)
  • astro → Astro(SSR が有効な場合、API エンドポイントがあります)

Python プロジェクト — 次の項目を確認します。

  • flask、django、fastapi、starlette、tornado、aiohttp、sanic → Web サーバーフレームワーク
  • streamlit、gradio → サーバー側からの呼び出しが可能

危険信号(フロントエンドのみ):

  • package.json に react、vue、svelte、angular だけがあり、サーバーフレームワークがない
  • サーバー/SSR の設定がない vite.config.ts または webpack.config.js
  • サーバールートのない静的サイトジェネレーター(例:プレーンな Gatsby、プレーンな Eleventy)
  • インラインの <script> タグを含む index.html が唯一のエントリーポイント
ステップ 3:既存の Runway SDK を確認する

既存の Runway SDK がインストールされているか検索します。

Node.js:

  • package.json で @runwayml/sdk を確認します
  • ソースファイル内で import RunwayML または require('@runwayml/sdk') を検索します

Python:

  • requirements.txt/pyproject.toml で runwayml を確認します
  • ソースファイル内で from runwayml import RunwayML または import runwayml を検索します
ステップ 4:ランタイムのバージョンを確認する

Node.js: バージョン 18 以上である必要があります(node --version) Python: バージョン 3.8 以上である必要があります(python3 --version)

ステップ 5:環境変数への対応を確認する

.env ファイル、.env.example、.env.local、または dotenv の設定があるか確認します。

  • Node.js:依存関係に dotenv があるか、フレームワーク標準の環境変数対応(Next.js など)があること
  • Python:依存関係に python-dotenv があるか、フレームワーク標準の対応があること

レポート形式

分析後、明確なレポートを提示します。

## Runway API Compatibility Report

**Project type:** [Node.js / Python / etc.]
**Server-side capable:** [Yes / No / Partial]
**Runtime version:** [version] — [Compatible / Needs upgrade]
**Runway SDK installed:** [Yes / No]
**Environment variable support:** [Yes / No / Needs setup]

### Verdict: [COMPATIBLE / NEEDS CHANGES / INCOMPATIBLE]

[If COMPATIBLE]
Your project is ready for Runway API integration. Proceed with API key setup.

[If NEEDS CHANGES]
Your project needs the following changes:
1. [List specific changes needed]

[If INCOMPATIBLE]
Your project is frontend-only and cannot safely call Runway's API. Options:
1. **Add a backend** — Add an Express/FastAPI server or use a framework with server routes (Next.js, SvelteKit, etc.)
2. **Use a serverless function** — Add API routes via Vercel Functions, AWS Lambda, Cloudflare Workers, etc.
3. **Create a separate backend** — Build a thin API proxy that your frontend calls

重要な注意事項

  • API キーをクライアント側のコードに埋め込むよう、決して提案してはいけません。 これはセキュリティ上のリスクです。
  • プロジェクトが SSR を使用する Next.js、Remix、SvelteKit、Nuxt、または Astro であれば、互換性があります。サーバー側のルートハンドラーから API を呼び出せます。
  • サーバーレスプラットフォーム(Vercel、Netlify、AWS Lambda、Cloudflare Workers)は互換性があります。
  • Docker/コンテナー化されたアプリは、サーバープロセスを実行する場合、互換性があります。

互換性の確認後

プロジェクトに互換性がある場合は、API 認証情報を設定するために +setup-api-key に進むようユーザーに提案します。

コメント