agentsclimarketplace

Litestar routing

Skill litestar-org/litestar-skills/skills/litestar-routing

Opinionated first-party agent skills, plugins, subagents, slash commands, and MCP servers for the Litestar framework ecosystem — publishable to Claude Code, Gemini CLI, Codex CLI, Cursor, OpenCode, and VS Code/Copilot from a single repo.

Install
npx -y skills add litestar-org/litestar-skills --skill litestar-routing

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 13 stars13 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Auto-activate for Controller, Router, @get/@post/@put/@patch/@delete, route_handler, path params, app/domain modules, or Autowire layout. Not for frontend routers.

SKILL.md

3.0 KB, as published. Nobody here has run it

Litestar Routing

Use this skill for route handlers, Controllers, Routers, domain clustering, and endpoint module layout.

Code Style Rules

  • Cluster Controllers by domain, not HTTP method.
  • Keep handlers thin: parse request data, call a service, return a DTO or response object.
  • Put shared path, dependencies, guards, and tags on the Controller class.
  • Use FromPath[T], FromQuery[T], FromHeader[T], and FromCookie[T] for unconstrained request parameters.
  • Use Annotated[T, PathParameter(...)], QueryParameter(...), HeaderParameter(...), or CookieParameter(...) when the parameter needs constraints, metadata, or a wire name. Do not use implicit parameters or the deprecated field: T = Parameter(...) form.
  • Use typed path parameters and explicit return annotations.

Quick Reference

<workflow>

Workflow

  1. Identify the domain boundary and URL prefix.
  2. Pick a Controller when routes share path, guards, dependencies, or tags.
  3. Keep data access in services and validation in DTOs.
  4. Wire the Controller into the app explicitly or through Litestar Autowire.
</workflow> <guardrails>

Guardrails

  • Do not group Controllers by HTTP method.
  • Do not put authorization logic in handlers; use Guards.
  • Do not hand-roll query parameter pagination; use the data-services skill.
  • Do not put app-wide plugin setup in route modules.
</guardrails> <validation>

Validation Checkpoint

  • Routes are domain-clustered.
  • Handlers are async when they perform I/O.
  • Shared guards and dependencies live on the Controller.
  • DTO and service concerns link to their owning skills.
</validation> <example>

Example

from litestar import Controller, get
from litestar.di import NamedDependency

class UserController(Controller):
    path = "/users"

    @get("/")
    async def list_users(
        self,
        users_service: NamedDependency[UserService],
    ) -> list[UserRead]:
        return await users_service.list_users()
</example>

References Index

Official References

Shared Styleguide Baseline

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.