mcpField
C
check-compatibility

check-compatibility

github.com/runwaymlDevelopment7447 installsUpdated 2d ago
Repository

About check-compatibility

A skill that inspects a project for compatibility with Runway's public API. It checks server-side capability, runtime, SDK, and environment-variable support, with attention to keeping API keys out of client code.

Key features

  1. 01Identify project stack
  2. 02Check server-side capability
  3. 03Detect Runway SDK
  4. 04Verify runtime versions
  5. 05Check environment configuration

Use cases

  1. 01Assess whether an app can call Runway's API
  2. 02Find frontend-only security blockers
  3. 03Check SDK and runtime readiness
  4. 04Prepare for API-key configuration

Install

Copy the command and run it in a terminal.

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

After installing, type/check-compatibilityin Claude Code to confirm it loaded.

Details

From the project README

Check Compatibility

Analyze the user's project to determine whether it is compatible with Runway's public API.

Why This Matters

Runway's public API requires server-side invocation. The API key must never be exposed in client-side code. Projects that are purely frontend (static HTML/JS, client-only SPAs without a backend) cannot safely call the API.

Analysis Steps

Step 1: Identify the Project Type

Search the project root for these files to determine the stack:

FileIndicates
package.jsonNode.js project
requirements.txt, pyproject.toml, Pipfile, setup.pyPython project
go.modGo project
Cargo.tomlRust project
pom.xml, build.gradleJava/Kotlin project
GemfileRuby project
composer.jsonPHP project

If none of these exist, flag the project as unknown and ask the user what language/runtime they're using.

Step 2: Check for Server-Side Capability

Look for indicators of a server/backend:

Node.js projects — check package.json dependencies for:

  • express, fastify, koa, hapi, nest, hono → HTTP server framework
  • next → Next.js (has API routes — compatible)
  • nuxt → Nuxt.js (has server routes — compatible)
  • remix → Remix (has loaders/actions — compatible)
  • @sveltejs/kit → SvelteKit (has server routes — compatible)
  • astro → Astro (has API endpoints if SSR enabled)

Python projects — check for:

  • flask, django, fastapi, starlette, tornado, aiohttp, sanic → web server framework
  • streamlit, gradio → can make server-side calls

Red flags (frontend-only):

  • package.json with only react, vue, svelte, angular and NO server framework
  • vite.config.ts or webpack.config.js with no server/SSR configuration
  • Static site generators without server routes (e.g., plain Gatsby, plain Eleventy)
  • index.html as the only entry point with inline <script> tags
Step 3: Check for Existing Runway SDK

Search for existing Runway SDK installations:

Node.js:

  • Check package.json for @runwayml/sdk
  • Search for import RunwayML or require('@runwayml/sdk') in source files

Python:

  • Check requirements.txt / pyproject.toml for runwayml
  • Search for from runwayml import RunwayML or import runwayml in source files
Step 4: Check Runtime Version

Node.js: Must be version 18 or higher (node --version) Python: Must be version 3.8 or higher (python3 --version)

Step 5: Check for Environment Variable Support

Look for .env file, .env.example, .env.local, or dotenv configuration:

  • Node.js: dotenv in dependencies, or framework-native env support (Next.js, etc.)
  • Python: python-dotenv in dependencies, or framework-native support

Report Format

After analysis, provide a clear report:

## 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

Important Notes

  • Never suggest embedding the API key in client-side code. This is a security risk.
  • If the project uses Next.js, Remix, SvelteKit, Nuxt, or Astro with SSR, it IS compatible — the server-side route handlers can call the API.
  • Serverless platforms (Vercel, Netlify, AWS Lambda, Cloudflare Workers) are compatible.
  • Docker/containerized apps are compatible if they run a server process.

After Compatibility Check

If the project is compatible, suggest the user proceed with +setup-api-key to configure their API credentials.

Comments

Markdown supported