Scaffolds a new FastAPI endpoint with Pydantic models, router registration, and tests. Use when creating new backend API endpoints. Related: pydantic-model-scaffolder for complex model validation.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add mattnigh/skills_collection --skill collection --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Collection?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/mattnigh-collection-14065290)More formats (shields.io, HTML) on the badges page.
---
name: fastapi-endpoint-scaffolder
description: "Scaffolds a new FastAPI endpoint with Pydantic models, router registration, and tests. Use when creating new backend API endpoints. Related: pydantic-model-scaffolder for complex model validation."
---
# FastAPI Endpoint Scaffolder Workflow
This skill creates a complete FastAPI endpoint with proper structure, type safety, and testing scaffolding.
## Workflow Steps
1. **Ask for endpoint details:**
- Endpoint name (e.g., `notifications`, `email_templates`)
- HTTP methods needed (GET, POST, PUT, DELETE, PATCH)
- URL path (e.g., `/notifications`, `/email/templates`)
- Brief description of what this endpoint does
2. **Ask for model fields:**
- Request model fields (e.g., `email: str, subject: str, body: str`)
- Response model fields (e.g., `id: str, status: str, sent_at: datetime`)
- Optional fields (mark with `Optional[type]`)
3. **Generate endpoint file:**
- Read template: `.claude/skills/fastapi-endpoint-scaffolder/templates/endpoint.py.tpl`
- Replace placeholders:
- `{{ENDPOINT_NAME}}` - Snake_case name (e.g., `notifications`)
- `{{ENDPOINT_PATH}}` - URL path (e.g., `/notifications`)
- `{{ENDPOINT_DESCRIPTION}}` - Brief description
- `{{REQUEST_MODEL}}` - PascalCase request model name
- `{{RESPONSE_MODEL}}` - PascalCase response model name
- `{{HTTP_METHOD}}` - HTTP method (post, get, put, delete)
- Write to: `backend/app/api/endpoints/{{ENDPOINT_NAME}}.py`
4. **Generate models file:**
- Read template: `.claude/skills/fastapi-endpoint-scaffolder/templates/models.py.tpl`
- Replace placeholders:
- `{{MODEL_NAME}}` - PascalCase model name
- `{{REQUEST_FIELDS}}` - Request model fields
- `{{RESPONSE_FIELDS}}` - Response model fields
- Write to: `backend/app/models/{{ENDPOINT_NAME}}_schemas.py`
5. **Update router registration:**
- Read: `backend/app/api/router.py`
- Add import: `from .endpoints import {{ENDPOINT_NAME}}`
- Add router tuple: `({{ENDPOINT_NAME}}.router, "/{{ENDPOINT_PATH}}", "{{TAG_NAME}}")`
- Write updated file
6. **Update models **init**.py:**
- Read: `backend/app/models/__init__.py`
- Add imports from new schema file
- Add to `__all__` list
- Write updated file
7. **Generate test file:**
- Read template: `.claude/skills/fastapi-endpoint-scaffolder/templates/test_endpoint.py.tpl`
- Replace placeholders
- Write to: `backend/app/tests/api/test_{{ENDPOINT_NAME}}.py`
8. **Report success:**
- List all created/modified files
- Show example curl command for testing
- Remind user to implement business logic in the endpoint
## Example Usage
```
User: Create a new endpoint for managing user notifications
```
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!