본문으로 건너뛰기
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(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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 / 1,000자

이 양식은 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-guide4.7천2026년 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-guide4.7천2026년 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-guide4.7천2026년 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-guide4.7천2026년 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-guide4.7천2026년 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-guide4.7천2026년 10월 19일 업데이트

zebbern의 스킬 모두 보기

이 스킬의 문제 신고