rw-check-compatibility について
Runway の公開 API を利用するプロジェクト向けの互換性確認スキルです。サーバー側の実行能力、SDK、ランタイム、環境変数の対応状況を調べ、レポートを作成します。
主な機能
- 01言語と技術スタックの特定
- 02サーバー側の呼び出し能力の確認
- 03Runway SDK の検出
- 04ランタイムと環境変数の確認
- 05互換性レポートの作成
活用シーン
- 01フロントエンドからの安全な API 呼び出し可否の評価
- 02サーバーフレームワークの要件確認
- 03SDK とランタイム設定の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ runwayml/ skills --skill rw-check-compatibilityインストール後、Claude Code で/rw-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 キーを埋め込むことは、決して提案しないでください。 セキュリティ上のリスクがあります。
- Next.js、Remix、SvelteKit、Nuxt、または SSR を使用する Astro のプロジェクトは互換性があります。サーバーサイドのルートハンドラーから API を呼び出せます。
- サーバーレスプラットフォーム(Vercel、Netlify、AWS Lambda、Cloudflare Workers)は互換性があります。
- Docker/コンテナー化されたアプリは、サーバープロセスを実行する場合は互換性があります。
互換性の確認後
プロジェクトに互換性がある場合、API 認証情報を設定するために +rw-setup-api-key に進むようユーザーに提案します。