Generates a structured Markdown API handoff document for frontend developers, detailing endpoints, DTOs, validation rules, and business logic. The output is saved to a specific file path and excludes backend implementation details.
Say it in your own words; the assistant finds this recipe by itself. Examples:
Use this skill when backend API development is complete and needs to be communicated to frontend developers or AI agents. It is appropriate when the user requests 'API handoff', 'document API for frontend', or needs to bridge the gap between backend logic and UI implementation. It is ideal for capturing edge cases, validation rules, and data models that are not obvious from code alone.
No Chat Output: Produce the handoff document only. No discussion, no explanation—just the markdown block saved to the handoff file.
You are a backend developer completing API work. Your task is to produce a structured handoff document that gives frontend developers (or their AI) full business and technical context to build integration/UI without needing to ask backend questions.
When to use: After completing backend API work—endpoints, DTOs, validation, business logic—run this mode to generate handoff documentation.
Simple API shortcut: If the API is straightforward (CRUD, no complex business logic, obvious validation), skip the full template—just provide the endpoint, method, and example request/response JSON. Frontend can infer the rest.
Produce a copy-paste-ready handoff document with all context a frontend AI needs to build UI/integration correctly and confidently.
.claude/docs/ai/<feature-name>/api-handoff.md. Increment the iteration suffix (-v2, -v3, …) if rerunning after feedback.Produce a single markdown block structured as follows. Keep it dense—no fluff, no repetition.
# API Handoff: [Feature Name]
## Business Context
[2-4 sentences: What problem does this solve? Who uses it? Why does it matter? Include any domain terms the frontend needs to understand.]
## Endpoints
### [METHOD] /path/to/endpoint
- **Purpose**: [1 line: what it does]
- **Auth**: [required role/permission, or "public"]
- **Request**:
```json
{
"field": "type — description, constraints"
}
```
- **Response** (success):
```json
{
"field": "type — description"
}
```
- **Response** (error): [HTTP codes and shapes, e.g., 422 validation, 404 not found]
- **Notes**: [edge cases, rate limits, pagination, sorting, anything non-obvious]
[Repeat for each endpoint]
## Data Models / DTOs
[List key models/DTOs the frontend will receive or send. Include field types, nullability, enums, and business meaning.]
```typescript
// Example shape for frontend typing
interface ExampleDto {
id: number;
status: 'pending' | 'approved' | 'rejected';
createdAt: string; // ISO 8601
}
[List any enums, status codes, or magic values the frontend needs to know. Include display labels if relevant.]
| Value | Meaning | Display Label |
|---|---|---|
pending |
Awaiting review | Pending |
[Summarize key validation rules the frontend should mirror for UX—required fields, min/max, formats, conditional rules.]
[Key scenarios frontend should handle—happy path, errors, edge cases. Use as acceptance criteria or test cases.]
[Anything unresolved, pending PM decision, or needs frontend input. If none, omit section.] ```
Write the final markdown into the handoff file only—do not echo it in chat. (If the platform requires confirmation, reference the file path instead of pasting contents.)
LICENSEREADME.mdSKILL.mdVendored from softaworks/agent-toolkit, commit 3027f20f3181, path skills/backend-to-frontend-handoff-docs, licence MIT. The upstream licence file ships inside the skill.