Install any skill in seconds. Free to start, no credit card required.
Get Started Free →zebbern/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.
Passed 23 of 23 test cases with the skill, and 14 of 23 without it.
and 11 more in the full report
9 fixed14 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 9 test cases the skill fixed. Same model, same prompt, with and without the skill.
What is the minimum Python version required to run the route scanner script?
| Checked | Without skill | With skill |
|---|---|---|
| States that Python 3.8 or higher is required. | Missed | Passed |
The instructions your model reads when the skill loads.
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.
# 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
| Language | Framework | Parsing Method |
|---|---|---|
| Python | Flask | AST parsing (decorators + type annotations + docstrings) |
| Python | FastAPI | AST parsing (decorators + Pydantic models + type annotations) |
| Python | Django REST Framework | AST parsing (@api_view decorators) |
| JavaScript/TypeScript | Express.js | Regex matching (app.get() / router.get() + JSDoc) |
| Go | Gin | Regex matching (r.GET() / group.GET() + comments) |
| Go | Echo | Regex matching (e.GET() + comments) |
The script automatically extracts the following information:
{param} formattest cases passed, vs 14 / 23 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.