Skip to content
cccskills
FreePublished on GitHub

server-skills

Server-specific best practices for FastAPI, Celery, and Pydantic. Extends python-skills with framework-specific patterns.

The English summary is being prepared. Showing the original description.

See how to install

Files included (5)

  • SKILL.md5.3 KB
  • celery.md10.1 KB
  • fastapi.md7.5 KB
  • performance.md10.6 KB
  • pydantic.md9.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Server Skills for LlamaFarm

Framework-specific patterns and code review checklists for the LlamaFarm Server component.

Overview

PropertyValue
Pathserver/
Python3.12+
FrameworkFastAPI 0.116+
Task QueueCelery 5.5+
ValidationPydantic 2.x, pydantic-settings
Loggingstructlog with FastAPIStructLogger

Links to Shared Skills

This skill extends the shared Python skills. See:

Server-Specific Checklists

TopicFileKey Points
FastAPIfastapi.mdRoutes, dependencies, middleware, exception handlers
Celerycelery.mdTask patterns, error handling, retries, signatures
Pydanticpydantic.mdPydantic v2 models, validation, serialization
Performanceperformance.mdAsync patterns, caching, connection pooling

Architecture Overview

server/
├── main.py                 # Uvicorn entry point, MCP mount
├── api/
│   ├── main.py             # FastAPI app factory, middleware setup
│   ├── errors.py           # Custom exceptions + exception handlers
│   ├── middleware/         # ASGI middleware (structlog, errors)
│   └── routers/            # API route modules
│       ├── projects/       # Project CRUD endpoints
│       ├── datasets/       # Dataset management
│       ├── rag/            # RAG query endpoints
│       └── ...
├── core/
│   ├── settings.py         # pydantic-settings configuration
│   ├── logging.py          # structlog setup, FastAPIStructLogger
│   └── celery/             # Celery app configuration
│       ├── celery.py       # Celery app instance
│       └── rag_client.py   # RAG task signatures and helpers
├── services/               # Business logic layer
│   ├── project_service.py  # Project CRUD operations
│   ├── dataset_service.py  # Dataset management
│   └── ...
├── agents/                 # AI agent implementations
└── tests/                  # Pytest test suite

Quick Reference

Settings Pattern (pydantic-settings)

from pydantic_settings import BaseSettings

class Settings(BaseSettings, env_file=".env"):
    HOST: str = "0.0.0.0"
    PORT: int = 14345
    LOG_LEVEL: str = "INFO"

settings = Settings()  # Module-level singleton

Structured Logging

from core.logging import FastAPIStructLogger

logger = FastAPIStructLogger(__name__)
logger.info("Operation completed", extra={"count": 10, "duration_ms": 150})
logger.bind(namespace=namespace, project=project_id)  # Add context

Custom Exceptions

# Define exception hierarchy
class NotFoundError(Exception): ...
class ProjectNotFoundError(NotFoundError):
    def __init__(self, namespace: str, project_id: str):
        self.namespace = namespace
        self.project_id = project_id
        super().__init__(f"Project {namespace}/{project_id} not found")

# Register handler in api/errors.py
async def _handle_project_not_found(request: Request, exc: Exception) -> Response:
    payload = ErrorResponse(error="ProjectNotFound", message=str(exc))
    return JSONResponse(status_code=404, content=payload.model_dump())

def register_exception_handlers(app: FastAPI) -> None:
    app.add_exception_handler(ProjectNotFoundError, _handle_project_not_found)

Service Layer Pattern

class ProjectService:
    @classmethod
    def get_project(cls, namespace: str, project_id: str) -> Project:
        project_dir = cls.get_project_dir(namespace, project_id)
        if not os.path.isdir(project_dir):
            raise ProjectNotFoundError(namespace, project_id)
        # ... load and validate

Review Checklist Summary

  1. FastAPI Routes (High priority)

    • Proper async/sync function choice
    • Response model defined with response_model=
    • OpenAPI metadata (operation_id, tags, summary)
    • HTTPException with proper status codes
  2. Celery Tasks (High priority)

    • Use signatures for cross-service calls
    • Implement proper timeout and polling
    • Handle task failures gracefully
    • Store group metadata for parallel tasks
  3. Pydantic Models (Medium priority)

    • Use Pydantic v2 patterns (model_config, Field)
    • Proper validation with field constraints
    • Serialization with model_dump()
  4. Performance (Medium priority)

    • Avoid blocking calls in async functions
    • Use proper connection pooling for external services
    • Implement caching where appropriate

See individual topic files for detailed checklists with grep patterns.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

CLI best practices for LlamaFarm. Covers Cobra, Bubbletea, Lipgloss patterns for Go CLI development.

The English summary is being prepared. Showing the original description.

llama-farm/llamafarm836Updated Jun 10, 2026

Comprehensive code review for diffs. Analyzes changed code for security vulnerabilities, anti-patterns, and quality issues. Auto-detects domain (frontend/backend) from file paths.

The English summary is being prepared. Showing the original description.

llama-farm/llamafarm836Updated Jun 10, 2026

Commit changes, push to GitHub, and open a PR. Includes quality checks (security, patterns, simplification). Use --quick to skip checks.

The English summary is being prepared. Showing the original description.

llama-farm/llamafarm836Updated Jun 10, 2026

Best practices for the Common utilities package in LlamaFarm. Covers HuggingFace Hub integration, GGUF model management, and shared utilities.

The English summary is being prepared. Showing the original description.

llama-farm/llamafarm836Updated Jun 10, 2026

Configuration module patterns for LlamaFarm. Covers Pydantic v2 models, JSONSchema generation, YAML processing, and validation.

The English summary is being prepared. Showing the original description.

llama-farm/llamafarm836Updated Jun 10, 2026

Designer subsystem patterns for LlamaFarm. Covers React 18, TanStack Query, TailwindCSS, and Radix UI.

The English summary is being prepared. Showing the original description.

llama-farm/llamafarm836Updated Jun 10, 2026

See all skills by llama-farm

Report a problem with this skill