api2cli:讓 Claude 把任意 API 自動變成 CLI 工具和 Skill
api2cli 是一個 Claude Code 技能,能將任意 API 自動轉換爲可用的 CLI 工具,並進一步生成 SKILL.md 文檔——讓未來的 Claude 會話無需閱讀代碼即可直接調用。
只需指向 API 文檔頁面、實時 URL 或 peek-api 抓包文件,Claude 就能自動發現所有端點,生成完整的 Commander.js CLI(帶雙模式輸出:終端人類可讀 + 管道 JSON 信封),並創建技能文件夾。這相當於套了兩層娃:先讓 AI 把 API 包裝成 CLI,再讓 AI 給自己寫使用說明書。
生成的 CLI 功能完整:支持認證、分頁、重試退避、限速、緩存,每個 API 端點對應一個子命令。錯誤處理對 Agent 友好,附帶修復建議。端點發現支持三種方式:文檔解析、主動探測、peek-api 網絡抓包。整個流程從發現到生成到測試全自動,堪稱 Agent 工具鏈的基礎設施級項目。
项目概述
api2cli 是一个為 Claude Code 設計的技能(Skill),核心功能是将任意 API 自動转换為 Commander.js CLI 工具,並生成配套的 SKILL.md 文档。這意味着你只需告诉 Claude 一个 API 的入口,它就能完成從端點發現、CLI 代码生成、到技能文档創建的全流程。
核心特性
三种端點發現方式
- **文档解析**:指向公開 API 文档页面,自動抓取和解析端點信息
- **主動探測**:提供 base URL 和凭據,Claude 主動探測可用端點
- **peek-api 抓包**:配合 peek-api 工具监控網絡流量,從實际请求中發現隐藏 API
双模式 CLI 输出
生成的 CLI 具有智能输出模式切换:
- **终端模式**:人类可读的格式化表格输出
- **管道模式**:自動检測管道環境,输出 JSON 信封格式,包含 HATEOAS 风格的 `next_actions` 建议
完整的 API 客户端
- 認证管理(API Key、OAuth 等)
- 自動分页處理
- 指數退避重試
- 请求限速
- 响應缓存
- Agent 友好的错误處理(附修复建议)
自動生成 Skill
生成的 `.claude/skills/{service}/SKILL.md` 包含:
- 所有可用命令及示例
- 常用多步骤工作流
- 触發短语(让 Claude 自動激活)
- 認证配置和 Agent 使用说明
使用方式
git clone https://github.com/alexknowshtml/api2cli.git
cp -r api2cli/skill/ /path/to/your/project/.claude/skills/api2cli/
然後在 Claude Code 中说:
- "Build me a CLI for the Resend API"
- "Generate a CLI from these docs: https://docs.example.com/api"
- "Turn this peek-api capture into a CLI"
實际效果示例
以 Resend 邮件 API 為例,Claude 能發現 15 个端點、5 个資源组(emails、domains、api-keys、audiences、contacts),自動生成對應的 CLI 子命令,並創建完整的技能文档。
設計理念
项目灵感來自于给 AI Agent 提供工具访問能力的需求。發現 Agent 天然擅長使用 CLI,于是構建了這个從 API 到 CLI 再到 Skill 的自動化管线。输出模式的設計(JSON 信封、HATEOAS next_actions、自文档化根命令、错误修复建议)参考了 Joel Hooks 的 agent-first CLI 設計理念。