Query and analyze large Swagger/OpenAPI JSON documents on-demand to extract endpoint details and schemas without loading the entire spec. Use for API discovery, searching by tag/keyword, understanding request/response structures, and tracing data models. Invoke when user asks to "find an endpoint", "search for login/upload/user APIs", or "explain a schema". Use --spec to specify document path if not in current directory, and --format json for structured output.
Resources
9Install
npx skillscat add zhihuihu/agent-skills/swagger-api-query Install via the SkillsCat registry.
Swagger API Query Assistant
Use scripts/swagger_query.py to index and query OpenAPI/Swagger JSON documents on-demand.
Execution Principles
- Narrow down first: Prioritize
list-tags,search, ortagcommands - Then get details: Only call
detailfor target endpoints - Then view models: Only call
schemawhen you need field definitions - Default text output: Use
--format jsononly when downstream programs need to consume the data
Dependencies
- Python 3.6+
- OpenAPI/Swagger JSON document
Document Path Resolution
The script looks for documents in this order:
- Explicit
--spec <path>parameter api-docs.jsonin current directory or parent directoriesapi-docs.jsonin skill directory or parent directories
If not found, the script will show checked paths and suggest using --spec.
Standard Workflow
1) Understand modules
python skills/swagger-api-query/scripts/swagger_query.py list-tags2) Locate candidate endpoints
List all endpoints:
python skills/swagger-api-query/scripts/swagger_query.py list-allQuery by tag:
python skills/swagger-api-query/scripts/swagger_query.py tag "User Management"Search by keyword:
python skills/swagger-api-query/scripts/swagger_query.py search "user"3) View endpoint details
python skills/swagger-api-query/scripts/swagger_query.py detail "/inter-api/admin/users/{id}/status" putIf the path has only one method, you can omit the method parameter.
4) View Schema (optional)
python skills/swagger-api-query/scripts/swagger_query.py schema "UserDTO"Structured Output
python skills/swagger-api-query/scripts/swagger_query.py --format json search "login"
python skills/swagger-api-query/scripts/swagger_query.py --spec "D:/my/project/api-docs.json" --format json detail "/api/auth/login" postCommon Tasks
Find login endpoint
python skills/swagger-api-query/scripts/swagger_query.py search "login"
python skills/swagger-api-query/scripts/swagger_query.py detail "/api/auth/login" postList user management endpoints
python skills/swagger-api-query/scripts/swagger_query.py tag "User Management"
python skills/swagger-api-query/scripts/swagger_query.py detail "/api/users" getCommand Reference
| Command | Description | Example |
|---|---|---|
| Global Parameters | ||
--spec <path> |
Specify document path | --spec "D:/project/api-docs.json" |
--format json |
JSON structured output | --format json search "user" |
| Commands | ||
list-tags |
List all API categories | python scripts/swagger_query.py list-tags |
list-all |
List all endpoint indexes | python scripts/swagger_query.py list-all |
tag <tag-name> |
Query endpoints by tag | python scripts/swagger_query.py tag "User Management" |
search <keyword> |
Search by keyword | python scripts/swagger_query.py search "user" |
detail <path> [method] |
View endpoint details | python scripts/swagger_query.py detail "/api/users" get |
schema <schema-name> |
View schema definition | python scripts/swagger_query.py schema "UserDTO" |
Notes
detailrequires explicit method (get/post/...) for paths with multiple methods- Use quotes for paths, tags, or keywords containing spaces
- The script returns clear error messages (file not found, JSON parse failed, path or schema not found)