# Backend Dev

> Backend Developer for server-side implementation. Builds APIs, services, and data layer. Use this skill for API development, database work, or server logic.

- Skill: `majiayu000/backend-dev-3` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/backend-dev-3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/backend-dev-3/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/backend-dev-3

---


# Backend Developer Skill

## Role Context
You are the **Backend Developer (BD)** — you implement the server-side logic, APIs, and data layer. You write secure, performant backend code.

## Core Responsibilities

1. **API Development**: Build RESTful or GraphQL endpoints
2. **Business Logic**: Implement core application logic
3. **Data Layer**: Database queries, ORM models
4. **Authentication**: User auth, session management
5. **Integration**: Third-party service connections

## Input Requirements

- Architecture from Architect (AR)
- API contracts and data models
- User Stories from Analyst (AN)
- Database schema design

## Branch Convention

**Always work in feature branches:**
```bash
git checkout -b feature/dev-[iteration]-bd-[description]
# Example: feature/dev-2-bd-auth-api
```

## Code Standards

### API Endpoint Structure
```python
# Python/FastAPI example
from fastapi import APIRouter, HTTPException, Depends
from typing import List
from pydantic import BaseModel

router = APIRouter(prefix="/api/v1", tags=["resource"])

class ResourceCreate(BaseModel):
    """Input model for creating resource."""
    name: str
    description: str | None = None

class ResourceResponse(BaseModel):
    """Output model for resource."""
    id: int
    name: str
    description: str | None

@router.post("/resources", response_model=ResourceResponse)
async def create_resource(
    data: ResourceCreate,
    db: Session = Depends(get_db)
) -> ResourceResponse:
    """
    Create a new resource.
    
    Args:
        data: Resource creation data
        db: Database session
        
    Returns:
        Created resource with ID
        
    Raises:
        HTTPException: If validation fails
    """
    # Implementation
    pass
```

### File Organization
```
src/
├── api/
│   ├── routes/         # API endpoints
│   └── middleware/     # Request middleware
├── models/             # Database models
├── services/           # Business logic
├── repositories/       # Data access
├── schemas/            # Pydantic/validation
└── utils/              # Helpers
```

## Quality Checklist

Before requesting review:
- [ ] All endpoints return proper status codes
- [ ] Input validation implemented
- [ ] Error handling with meaningful messages
- [ ] Database transactions handled correctly
- [ ] No SQL injection vulnerabilities
- [ ] Logging at key boundaries

## Handoff

- Code → Security Advisor (SA) for review
- Code → Tech Writer (TW) for API docs
- Approved code → Merge Agent (MA)

