backend-dev

Implement FastAPI endpoints with Pydantic schemas, TinyDB, and LiteLLM integrations.

Updated Mar 5, 2026
One-click install
npx skills add https://github.com/dankofly/Swing_B2B --skill backend-dev-dankofly
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: backend-dev
Source: https://github.com/dankofly/Swing_B2B/tree/main/.claude/skills/backend-dev
Command: npx skills add https://github.com/dankofly/Swing_B2B --skill backend-dev-dankofly

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Helps developers implement and maintain backend services for the Resume Matcher by providing clear patterns, validation, and integration guidance that reduce runtime errors and inconsistent implementations.

Core Features & Use Cases

  • API and Schema Patterns: Guidance for creating FastAPI endpoints and Pydantic request/response schemas with enforced type hints.
  • Persistence and LLM Integration: Patterns for TinyDB operations, safe mutable defaults, and Litellm/LiteLLM calls using direct api_key parameters.
  • Concurrency and Error Handling: Best practices for asyncio locks, detailed server-side logging, and generic client error responses.
  • Use Case: Add a POST endpoint that validates resume JSON, persists a record, and invokes LiteLLM to generate or improve resume text before returning a standardized response model.

Quick Start

Create a FastAPI POST endpoint that validates resume input with Pydantic, stores the record in TinyDB, and returns a LiteLLM-generated match or improved text result.

Frequently Asked Questions about backend-dev

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a FastAPI backend service for resume parsing and matching?

Build a FastAPI backend by defining Pydantic schemas for resume validation, implementing TinyDB operations for persistence, and integrating LiteLLM to generate match results. Ensure typed function signatures and direct api_key parameter usage for LLM calls.

What's the best way to handle async concurrency and shared resources in a FastAPI application?

Handle async concurrency in FastAPI by applying asyncio locks to manage shared resources safely. Combine this with structured server-side logging and generic client error responses to maintain stability without exposing internal error details.

How do I prevent mutable default argument errors when using TinyDB with FastAPI?

Prevent mutable default argument errors in TinyDB operations by applying deepcopy to default function arguments. This ensures each request handles isolated data instances, avoiding unintended shared state across concurrent FastAPI endpoint calls.

Can I use LiteLLM to generate improved resume text directly within an API endpoint?

Yes, you can invoke LiteLLM directly within a FastAPI endpoint using the direct api_key parameter. The endpoint validates the resume input with Pydantic, stores the record in TinyDB, and returns the LiteLLM-generated improved text result.

Why does my FastAPI resume matcher return generic client error responses instead of details?

FastAPI resume matchers return generic client error responses as a security best practice to prevent data leakage. The backend implements structured server-side error logging to capture detailed diagnostic information internally for debugging.

Do I need Pydantic schemas to validate resume JSON before storing it in TinyDB?

Yes, you need Pydantic schemas to validate resume JSON before TinyDB storage. Defining Pydantic request and response schemas with enforced type hints ensures data integrity before persistence and LiteLLM processing.