What problem does it solve? Writing Rust APIs with Axum normally requires manually maintaining OpenAPI specs, request validation logic, and DTO structs that drift out of sync with database models. This Skill guides an agent to build APIs with Vespera, which generates OpenAPI 3.1 specs at compile time from route handler macros and derives request/response schemas directly from SeaORM models. ## Core Features & Use Cases - Macro-driven routing: Define routes with #[vespera::route] on pub async fn handlers, with file-structure-to-URL mapping and automatic OpenAPI path generation. - Request validation: Wrap extractors in Validated<T> to enforce garde rules and return canonical 422 JSON error envelopes automatically. - Schema derivation from models: Use schema_type! with pick, omit, partial, and omit_default to generate DTOs from SeaORM models, including relation handling and auto-generated From impls. - Use Case: When adding a new PATCH /users/{id} endpoint, derive a partial update struct from the user model with schema_type!(UserPatch from crate::models::user::Model, partial) instead of hand-writing a struct that can drift from the database schema. ## Quick Start Ask the agent to create a Vespera route handler with a validated JSON body and a response schema derived from your SeaORM model using schema_type!.