跳到正文
cccskills
免费在 GitHub 公开

route-to-openapi

Generates RESTful API documentation (OpenAPI 3.0 / Swagger spec) by scanning route definitions in code for Flask, FastAPI, Express, Gin, and other frameworks. Trigger when users ask about API documentation, OpenAPI, Swagger, endpoint docs, generating docs from code, or extracting endpoints.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(3)

  • SKILL.md4.5 KB
  • LICENSE1.0 KB
  • scripts/generate_api_doc.py26.3 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

route-to-openapi

Automatically scan route/endpoint definitions in source code and generate RESTful API documentation conforming to the OpenAPI 3.0.3 specification.

Supports major web frameworks with automatic framework detection. Extracts HTTP methods, paths, parameters, request bodies, response models, and doc comments, then outputs a standard OpenAPI spec file ready to import into Swagger UI or Redoc.

Quick Start

# Scan source directory, output OpenAPI spec in JSON format
python scripts/generate_api_doc.py ./src

# Specify output format and file
python scripts/generate_api_doc.py ./src --format yaml --output api-spec.yaml

# Specify framework and API metadata
python scripts/generate_api_doc.py ./app --framework flask --title "My API" --version 2.0.0

# Add server URLs
python scripts/generate_api_doc.py ./routes --server http://localhost:3000 --server https://api.example.com

Supported Frameworks

LanguageFrameworkParsing Method
PythonFlaskAST parsing (decorators + type annotations + docstrings)
PythonFastAPIAST parsing (decorators + Pydantic models + type annotations)
PythonDjango REST FrameworkAST parsing (@api_view decorators)
JavaScript/TypeScriptExpress.jsRegex matching (app.get() / router.get() + JSDoc)
GoGinRegex matching (r.GET() / group.GET() + comments)
GoEchoRegex matching (e.GET() + comments)

Extraction Capabilities

The script automatically extracts the following information:

  • HTTP Methods: GET / POST / PUT / DELETE / PATCH, etc.
  • Route Paths: Automatically converts each framework's path parameter format to the OpenAPI {param} format
  • Path Parameters: Extracted from route patterns (with type inference)
  • Query Parameters: Extracted from function signatures (Python frameworks)
  • Request Bodies: Inferred from type annotations and Pydantic models (FastAPI)
  • Response Models: Extracted from the response_model parameter (FastAPI)
  • Endpoint Descriptions: Extracted from docstrings / JSDoc / inline comments
  • Tag Grouping: Automatically grouped by source file module name

Path Parameter Format Conversion

FrameworkSource FormatConverted Result
Flask<int:user_id>{user_id} (type: integer)
FastAPI{user_id}{user_id} (unchanged)
Express:user_id{user_id}
Gin/Echo:user_id{user_id}

Parameters

ParameterDescriptionDefault
source_dirSource directory to scan (required)-
-f, --formatOutput format: json or yamljson
-o, --outputOutput file pathstdout
--frameworkForce a specific framework (skip auto-detection)Auto-detect
--titleAPI documentation titleAPI Documentation
--versionAPI version number1.0.0
--descriptionAPI description textEmpty
--serverServer URL (can be specified multiple times)None

Output Example

{
  "openapi": "3.0.3",
  "info": {
    "title": "My API",
    "version": "1.0.0"
  },
  "paths": {
    "/users": {
      "get": {
        "summary": "List all users",
        "operationId": "list_users",
        "tags": ["users"],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": { "type": "integer" }
          }
        ],
        "responses": {
          "200": { "description": "Successful response" }
        }
      }
    },
    "/users/{user_id}": {
      "get": {
        "summary": "Get user by ID",
        "operationId": "get_user",
        "tags": ["users"],
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": { "type": "integer" }
          }
        ],
        "responses": {
          "200": { "description": "Successful response" }
        }
      }
    }
  }
}

Prerequisites

  • Python 3.8+
  • No additional dependencies required — uses only the Python standard library
  • The scanned project must use one of the supported web frameworks listed above

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Simulates academic peer review, evaluating papers across Originality, Methodology, Results, and Writing to provide Major/Minor Revision recommendations with actionable feedback. Triggers when a user asks to "review my paper," "simulate peer review," or "give my paper a peer review.

中文简介正在准备中。当前显示原文说明。

zebbern/claude-code-guide46672026年10月19日 更新

This skill should be used when the user asks to "attack Active Directory", "exploit AD", "Kerberoasting", "DCSync", "pass-the-hash", "BloodHound enumeration", "Golden Ticket", "Silver Ticket", "AS-REP roasting", "NTLM relay", or needs guidance on Windows domain penetration testing.

中文简介正在准备中。当前显示原文说明。

zebbern/claude-code-guide46672026年10月19日 更新

This skill should be used when the user asks to "test API security", "fuzz APIs", "find IDOR vulnerabilities", "test REST API", "test GraphQL", "API penetration testing", "bug bounty API testing", or needs guidance on API security assessment techniques.

中文简介正在准备中。当前显示原文说明。

zebbern/claude-code-guide46672026年10月19日 更新

Generate multiple radically different interface designs for a module using parallel sub-agents. Use when user wants to design an API, explore interface options, compare module shapes, or mentions "design it twice".

中文简介正在准备中。当前显示原文说明。

zebbern/claude-code-guide46672026年10月19日 更新

Interactive system flow tracing across CODE, API, AUTH, DATA, NETWORK layers with SQLite persistence and Mermaid export. Use for security audits, compliance documentation, flow tracing, feature ideation, brainstorming, debugging, architecture reviews, or incident post-mortems. Triggers on audit, trace flow, document flow, security review, debug flow, brainstorm, architecture review, post-mortem, incident review.

中文简介正在准备中。当前显示原文说明。

zebbern/claude-code-guide46672026年10月19日 更新

Authentication patterns: session vs JWT vs OAuth comparison, provider selection (NextAuth, Clerk, Supabase Auth), security checklist, and common mistakes. Use when implementing auth, reviewing auth flows, or choosing auth providers.

中文简介正在准备中。当前显示原文说明。

zebbern/claude-code-guide46672026年10月19日 更新

查看 zebbern 的全部技能

报告此技能的问题