api-docs
npx skills add https://github.com/ihkreddy/agent-skills-ts --skill api-docs
Agent 安装分布
Skill 文档
API Documentation Generator
Automatically generates comprehensive OpenAPI/Swagger documentation from your API code, including endpoints, request/response schemas, and usage examples.
ð¯ Use Case Demo
Scenario: API Documentation for External Consumers
Before (Manual Process):
Team needs to document API for partner integration:
- Open each controller, list endpoints manually
- Document request/response formats in Word doc
- Write example requests in Postman
- Export Postman collection
- Code changes â documentation out of sync
- Partners report incorrect documentation
Time: 1-2 days, always outdated
After (With This Skill):
Developer: “Generate API documentation for FlightBookingAPI”
Agent Response:
ð API DOCUMENTATION GENERATED âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ ð API: Flight Booking API ð Version: 1.0.0 ð Base URL: https://api.flightbooking.com/v1 âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ ð ENDPOINTS DOCUMENTED âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ âï¸ FLIGHTS âââââââââââââââââââââââââââââââââââââââââââââ GET /api/flights ð Search for available flights ð Auth: None (public) Query Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | origin | string | â | IATA airport code (e.g., "JFK") | | destination | string | â | IATA airport code (e.g., "LAX") | | departureDate | date | â | Format: YYYY-MM-DD | | passengers | integer | â | Default: 1, Max: 9 | | cabinClass | string | â | economy, business, first | Response 200: ```json { "flights": [ { "id": 123, "flightNumber": "AA1234", "airline": "American Airlines", "origin": "JFK", "destination": "LAX", "departureTime": "2024-12-25T08:00:00Z", "arrivalTime": "2024-12-25T11:30:00Z", "duration": "5h 30m", "price": { "amount": 299.99, "currency": "USD" }, "seatsAvailable": 45 } ], "totalResults": 24, "page": 1, "pageSize": 10 }Example cURL:
curl -X GET "https://api.flightbooking.com/v1/api/flights?\ origin=JFK&destination=LAX&departureDate=2024-12-25" \ -H "Accept: application/json"GET /api/flights/{id} ð Get flight details by ID ð Auth: None (public)
Path Parameters:
Name Type Description id integer Flight ID Response 200: Flight object Response 404: Flight not found
âââââââââââââââââââââââââââââââââââââââââââââ ð« BOOKINGS âââââââââââââââââââââââââââââââââââââââââââââ
POST /api/bookings ð Create a new booking ð Auth: Bearer Token (required)
Request Body:
{ "flightId": 123, "passengers": [ { "firstName": "John", "lastName": "Doe", "email": "john.doe@email.com", "dateOfBirth": "1990-01-15", "passportNumber": "AB1234567" } ], "contactEmail": "john.doe@email.com", "paymentMethod": "card" }Response 201:
{ "bookingId": "BK-2024-789456", "status": "confirmed", "totalPrice": 299.99, "currency": "USD", "confirmationSentTo": "john.doe@email.com" }Error Responses:
Status Description 400 Invalid request body 401 Authentication required 404 Flight not found 409 No seats available 422 Validation failed GET /api/bookings/{id} ð Get booking by ID ð Auth: Bearer Token (owner or admin)
DELETE /api/bookings/{id} ð Cancel a booking ð Auth: Bearer Token (owner or admin)
Response 200: Cancellation confirmed with refund details Response 400: Booking not cancellable (past departure)
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ ð FILES GENERATED âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â docs/api/openapi.yaml – OpenAPI 3.0 specification â docs/api/README.md – Human-readable documentation â docs/api/postman-collection.json – Postman import file â docs/api/examples/ – Request/response examples
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ ð SWAGGER UI âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Your API documentation is available at: http://localhost:5000/swagger
The OpenAPI spec has been updated with: ⢠4 endpoints documented ⢠3 schema definitions ⢠12 example responses ⢠Authentication configuration
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Time Saved: 2 days â 5 minutes (500x faster, always accurate)
Agent Instructions
When this skill is activated:
-
Analyze Controllers:
- Find all API controller classes
- Extract endpoints (routes, HTTP methods)
- Parse route templates and parameters
-
Extract Request/Response Models:
- Find parameter types and model classes
- Document properties with types
- Note required vs optional fields
- Include validation rules
-
Identify Authentication:
- Check for [Authorize] attributes
- Note authentication schemes
- Document required scopes/roles
-
Generate Examples:
- Create realistic example requests
- Generate sample responses
- Include error response examples
-
Create OpenAPI Spec:
- Generate openapi.yaml file
- Include all paths and schemas
- Add descriptions and examples
- Configure security schemes
-
Generate Human-Readable Docs:
- Create Markdown documentation
- Organize by resource/feature
- Include cURL examples
- Add quick-start guide
-
Export Formats:
- OpenAPI 3.0 YAML
- Postman collection
- Markdown documentation
Example Prompts
- “Generate API documentation”
- “Create OpenAPI spec for our API”
- “Document the Flights endpoint”
- “Export Postman collection from API”
- “Update Swagger documentation”
Output Formats
| Format | File | Use Case |
|---|---|---|
| OpenAPI 3.0 | openapi.yaml | Standard spec, tools |
| Swagger UI | /swagger | Interactive testing |
| Markdown | README.md | GitHub, wikis |
| Postman | collection.json | Team testing |
| cURL | examples.md | Quick testing |
Benefits
| Metric | Before | After | Improvement |
|---|---|---|---|
| Documentation time | 2 days | 5 min | 500x faster |
| Accuracy | Often wrong | Always correct | From code source |
| Maintenance | Manual updates | Auto-generated | Zero effort |
| Partner onboarding | 1 week | 1 day | 5x faster |