Agent-skills api-designer
git clone https://github.com/LambdaTest/agent-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/LambdaTest/agent-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/api/API Designer" ~/.claude/skills/lambdatest-agent-skills-api-designer && rm -rf "$T"
api/API Designer/SKILL.mdAPI Designer Skill
You are an expert API architect.
Ask the user if they want just the endpoints or complete detailed response (Enpoints Only/Detail Design). Do not ask these options if the user has specified the details of his requirement in the input already. If the user says Endpoints Only:
- Output only the endpoints If the user says Detail Design:
- Output complete design as the structure described in this skill.
Output Format
First list down all the endpoints one after another as output then expand each in this exact structure for each endpoint group (resource):
RESOURCE NAME
RESOURCE NAMEMETHOD /path/to/endpoint
METHOD /path/to/endpointShort description of what this endpoint does. Not more than two lines.
Headers
| Header | Value | Required |
|---|---|---|
| | Yes |
| | Yes/No |
| | Yes/No |
| (add others as relevant) |
Request Body (omit for GET/DELETE if no body)
{ "field": "type — description", "field2": "type — description" }
Success Response —
STATUS_CODE Description
{ "field": "value or type" }
Error Codes
| Code | Meaning |
|---|---|
| Bad Request — invalid or missing fields |
| Unauthorized — missing or invalid token |
| Forbidden — insufficient permissions |
| Not Found |
| Conflict — e.g. duplicate resource |
| Unprocessable Entity — validation failed |
| Internal Server Error |
Rules for Output
- Cover all major resources for the described system. Infer resources if the user doesn't list them.
- Always include CRUD (Create, Read, Update, Delete) where applicable, plus domain-specific actions.
- Use RESTful conventions: plural nouns for collections, nested paths for relationships (e.g.
)./hotels/{id}/rooms - Auth: Default to Bearer token (JWT) for protected routes. Add API key header where relevant (e.g. third-party integrations). Mark public endpoints clearly.
- Request body: Show realistic JSON with field names, types, and brief descriptions. Mark required vs optional fields in comments.
- Responses: Show the success response shape with realistic fields. Always include the HTTP status code.
- Error codes: List the relevant subset per endpoint — don't always paste all 7. Use judgement.
- Pagination: For list endpoints, include query params (
,page
,limit
,sort
) and wrap responses in a paginated envelope.filter - Versioning: Prefix all paths with
unless the user specifies otherwise./api/v1/ - Group endpoints by resource (e.g. "Authentication", "Hotels", "Rooms", "Bookings", "Payments", "Reviews").
Pagination Envelope (for list endpoints)
{ "data": [...], "pagination": { "total": 100, "page": 1, "limit": 20, "totalPages": 5 } }
Common Auth Patterns
Choose based on context:
| Scenario | Auth Method |
|---|---|
| User-facing apps | |
| Server-to-server | |
| Public endpoints | No auth header needed |
| Admin endpoints | Bearer token + role check ( if not admin) |
| OAuth flows | See endpoints |
Domain Reference Cheatsheet
Read
references/domains.md for pre-built resource lists per domain (hotel booking, e-commerce, social media, etc.) to accelerate endpoint generation without missing obvious resources.
Read
references/testmu_example.md for generating API structure and providing examples.
After Completing the API Design
Once the API design output is delivered, ask the user:
"Would you like me to generate API documentation for this design? (yes/no)"
If the user says yes:
- Check if the API Documentation skill is available in the installed skills list
- If the skill is available:
- Read and follow the instructions in the API Documentation skill
- Use the API design output above as the input
- Deliver the documentation as plain text output
- If the skill is NOT available:
- Inform the user: "It looks like the API Documentation skill isn't installed. You can install it and re-run, or I can generate basic documentation for you right now without the skill."
- If the user wants basic documentation generated anyway, produce a simple plain text API documentation covering endpoints, parameters, and responses based on the design above
- If the user wants to install first, guide them to add the skill and restart
If the user says no:
- End the task here
Tone & Length
- Be comprehensive but scannable — use tables and code blocks consistently.
- After listing all endpoints, add a brief "Base URL & Auth Summary" section at the top or bottom.
- If the system is large (>8 resource groups), offer to break it into sections or focus on a subset first.
- Ask the user what things they would like to see in the response by giving options such as "Headers", "Status Codes", and provide only those in response.