Skip to content
Back to skills

Collection

ASecurity

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.

  • 24 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 8, 2026
testingfastapitestingapibackend

Works with

  • api

Security analysis

A100/100

Pro scans all 21 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add mattnigh/skills_collection --skill collection --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Collection?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Collection
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mattnigh-collection-14065290/badge)](https://www.skillsdirectory.com/skills/mattnigh-collection-14065290)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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
```

Files in this skill

  • 0Chan-smc__claude-code-workflow-lab__claude__skills__frontend-dev-guidelines__SKILL.md15.1 KB
  • 17hz__nextjs-template__claude__skills__example-skill__SKILL.md316 B
  • 1ambda__dataops-platform__claude__skills__context-synthesis__SKILL.md3.5 KB
  • 1natsu172__dotfiles__claude__skills__git-analysis__SKILL.md5.4 KB
  • 1natsu172__dotfiles__claude__skills__github-pr-best-practices__SKILL.md7.7 KB
  • 23Maestro__prospect-pipeline__claude__skills__npid-fastapi-skill.md26.1 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-code-javascript__SKILL.md15.7 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-code-python__SKILL.md17.5 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-expression-syntax__SKILL.md9.4 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-mcp-tools-expert__SKILL.md12.5 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-node-configuration__SKILL.md16.6 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-workflow-patterns__SKILL.md11.2 KB
  • 3x-Projetos__claude-memory-framework__claude__skills__scientist__SKILL.md14.8 KB
  • 5MinFutures__futures-arena__claude__skills__migration-tracker__SKILL.md16.2 KB
  • 5MinFutures__futures-arena__claude__skills__planning-guidelines__SKILL.md11.8 KB
  • 92Bilal26__TaskPilotAI__claude__skills__assessment-builder__SKILL.md17.5 KB
  • 92Bilal26__TaskPilotAI__claude__skills__book-scaffolding__SKILL.md19.1 KB
  • 92Bilal26__TaskPilotAI__claude__skills__code-validation-sandbox__SKILL.md6.2 KB
  • 92Bilal26__TaskPilotAI__claude__skills__exercise-designer__SKILL.md18.1 KB
  • 92Bilal26__TaskPilotAI__claude__skills__learning-objectives__SKILL.md24.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…