关于 check-compatibility
检查项目是否兼容 Runway 公共 API 的 Skill。它会评估服务端能力、运行时、SDK 和环境变量支持,并强调不得将 API 密钥放入客户端代码。
主要功能
- 01识别项目技术栈
- 02检查服务端调用能力
- 03检测 Runway SDK
- 04核对运行时版本
- 05检查环境配置支持
适用场景
- 01评估应用能否调用 Runway API
- 02发现纯前端项目的安全障碍
- 03检查 SDK 和运行时准备情况
- 04为配置 API 密钥做准备
安装
复制下面的命令,在终端中运行。
$
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,且没有服务端框架vite.config.ts或webpack.config.js中没有服务端/SSR 配置- 没有服务端路由的静态站点生成器(例如,纯 Gatsby、纯 Eleventy)
index.html是唯一入口点,且包含内联<script>标签
步骤 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/容器化应用就兼容。
完成兼容性检查后
如果项目兼容,建议用户继续使用 +setup-api-key 配置 API 凭据。
评论
支持 Markdown