Install
npx skillscat add ihkreddy/agent-skills-ts/api-docs Install via the SkillsCat registry.
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/swaggerThe 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 |