check-compatibility について
プロジェクトが Runway の公開 API に対応できるかを調べるスキルです。サーバーサイド機能、ランタイム、SDK、環境変数の対応を確認し、APIキーをクライアントコードに含めないよう扱います。
主な機能
- 01プロジェクト構成の特定
- 02サーバーサイド機能の確認
- 03Runway SDKの検出
- 04ランタイムバージョンの確認
- 05環境設定の確認
活用シーン
- 01Runway APIを呼び出せるかの評価
- 02フロントエンドのみの構成にあるセキュリティ上の課題発見
- 03SDKとランタイムの準備状況確認
- 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.json | Node.js プロジェクト |
requirements.txt、pyproject.toml、Pipfile、setup.py | Python プロジェクト |
go.mod | Go プロジェクト |
Cargo.toml | Rust プロジェクト |
pom.xml、build.gradle | Java/Kotlin プロジェクト |
Gemfile | Ruby プロジェクト |
composer.json | PHP プロジェクト |
これらが存在しない場合は、プロジェクトを不明として扱い、使用している言語/ランタイムをユーザーに尋ねます。
ステップ 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 に進むようユーザーに提案します。