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 設計理念。