{"id":"7db7f574-c3bb-448d-a315-f29534e0dc8d","shortId":"wQuLyV","kind":"skill","title":"litestar-ai-serving","tagline":"Auto-activate for Google ADK, LlmAgent, Runner, SQLSpecSessionService, Vertex AI, agent chat endpoints, streaming AI responses, tool-calling endpoints, or Litestar-hosted model workflows. Use when serving AI agents or model-backed workflows from Litestar. Not for offline ML train","description":"# Litestar AI Serving\n\nUse this skill for HTTP-facing AI agent endpoints, Google ADK integration, session-backed conversations, and Litestar service boundaries around model workflows.\n\n## Code Style Rules\n\n- Keep agent orchestration behind service functions or providers.\n- Use typed request and response DTOs at the HTTP boundary.\n- Store multi-turn state through the project's database stack.\n- Stream only when the client contract needs incremental output.\n\n## Quick Reference\n\n- AI serving patterns: [ai-serving.md](references/ai-serving.md)\n- Pair with [sqlspec](../sqlspec/SKILL.md) for ADK session stores.\n- Pair with [litestar-realtime](../litestar-realtime/SKILL.md) for streaming or event fan-out.\n\n<workflow>\n\n## Workflow\n\n1. Define the HTTP contract before agent internals.\n2. Wire agent runners through DI.\n3. Persist session state through the chosen data stack.\n4. Test deterministic failure, timeout, and cancellation paths.\n\n</workflow>\n\n<guardrails>\n\n## Guardrails\n\n- Do not expose raw agent internals as the API contract.\n- Do not block request workers with unbounded model calls.\n- Do not store prompts, tool outputs, or memory without a retention decision.\n- Do not skip authorization on agent endpoints.\n\n</guardrails>\n\n<validation>\n\n## Validation Checkpoint\n\n- [ ] Request and response DTOs are explicit.\n- [ ] Session persistence is wired.\n- [ ] Timeouts and model failures are handled.\n- [ ] Auth policy matches the sensitivity of tools and data.\n\n</validation>\n\n<example>\n\n## Example\n\n```python\n@get(\"/chat/{session_id:str}\")\nasync def chat(session_id: str, runner: Runner, body: ChatRequest) -> ChatResponse:\n    result = await runner.run_async(session_id=session_id, new_message=body.message)\n    return ChatResponse(message=result.final_response)\n```\n\n</example>\n\n## References Index\n\n- [ai-serving.md](references/ai-serving.md)\n\n## Official References\n\n- <https://docs.litestar.dev/> - Litestar documentation\n- <https://docs.litestar.dev/latest/reference/> - Litestar API reference\n\n## Shared Styleguide Baseline\n\n- [General](../litestar-styleguide/references/general.md)\n- [Python](../litestar-styleguide/references/python.md)\n- [Litestar](../litestar-styleguide/references/litestar.md)","tags":["litestar","serving","skills","litestar-org","advanced-alchemy","agent-skills","agentskills","ai-agents","claude-code-plugin","claude-code-skills","gemini-cli-extension","htmx"],"capabilities":["skill","source-litestar-org","skill-litestar-ai-serving","topic-advanced-alchemy","topic-agent-skills","topic-agentskills","topic-ai-agents","topic-claude-code-plugin","topic-claude-code-skills","topic-gemini-cli-extension","topic-htmx","topic-inertia","topic-litestar","topic-mcp","topic-python"],"categories":["litestar-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/litestar-org/litestar-skills/litestar-ai-serving","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add litestar-org/litestar-skills","source_repo":"https://github.com/litestar-org/litestar-skills","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 7 github stars · SKILL.md body (2,216 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:13:53.185Z","embedding":null,"createdAt":"2026-05-18T13:20:56.323Z","updatedAt":"2026-05-18T19:13:53.185Z","lastSeenAt":"2026-05-18T19:13:53.185Z","tsv":"'/chat':246 '/latest/reference/':288 '/litestar-realtime/skill.md':137 '/litestar-styleguide/references/general.md':296 '/litestar-styleguide/references/litestar.md':300 '/litestar-styleguide/references/python.md':298 '/sqlspec/skill.md':127 '1':146 '2':154 '3':160 '4':169 'activ':7 'adk':10,63,129 'agent':16,36,60,80,152,156,182,214 'ai':3,15,20,35,50,59,119 'ai-serving.md':122,279 'api':186,290 'around':73 'async':250,264 'auth':234 'author':212 'auto':6 'auto-activ':5 'await':262 'back':40,67 'baselin':294 'behind':82 'block':190 'bodi':258 'body.message':271 'boundari':72,96 'call':24,196 'cancel':175 'chat':17,252 'chatrequest':259 'chatrespons':260,273 'checkpoint':217 'chosen':166 'client':112 'code':76 'contract':113,150,187 'convers':68 'data':167,242 'databas':106 'decis':208 'def':251 'defin':147 'determinist':171 'di':159 'docs.litestar.dev':283,287 'docs.litestar.dev/latest/reference/':286 'document':285 'dtos':92,221 'endpoint':18,25,61,215 'event':141 'exampl':243 'explicit':223 'expos':180 'face':58 'failur':172,231 'fan':143 'fan-out':142 'function':84 'general':295 'get':245 'googl':9,62 'guardrail':177 'handl':233 'host':29 'http':57,95,149 'http-face':56 'id':248,254,266,268 'increment':115 'index':278 'integr':64 'intern':153,183 'keep':79 'litestar':2,28,43,49,70,135,284,289,299 'litestar-ai-serv':1 'litestar-host':27 'litestar-realtim':134 'llmagent':11 'match':236 'memori':204 'messag':270,274 'ml':47 'model':30,39,74,195,230 'model-back':38 'multi':99 'multi-turn':98 'need':114 'new':269 'offici':281 'offlin':46 'orchestr':81 'output':116,202 'pair':124,132 'path':176 'pattern':121 'persist':161,225 'polici':235 'project':104 'prompt':200 'provid':86 'python':244,297 'quick':117 'raw':181 'realtim':136 'refer':118,277,282,291 'references/ai-serving.md':123,280 'request':89,191,218 'respons':21,91,220,276 'result':261 'result.final':275 'retent':207 'return':272 'rule':78 'runner':12,157,256,257 'runner.run':263 'sensit':238 'serv':4,34,51,120 'servic':71,83 'session':66,130,162,224,247,253,265,267 'session-back':65 'share':292 'skill':54 'skill-litestar-ai-serving' 'skip':211 'source-litestar-org' 'sqlspec':126 'sqlspecsessionservic':13 'stack':107,168 'state':101,163 'store':97,131,199 'str':249,255 'stream':19,108,139 'style':77 'styleguid':293 'test':170 'timeout':173,228 'tool':23,201,240 'tool-cal':22 'topic-advanced-alchemy' 'topic-agent-skills' 'topic-agentskills' 'topic-ai-agents' 'topic-claude-code-plugin' 'topic-claude-code-skills' 'topic-gemini-cli-extension' 'topic-htmx' 'topic-inertia' 'topic-litestar' 'topic-mcp' 'topic-python' 'train':48 'turn':100 'type':88 'unbound':194 'use':32,52,87 'valid':216 'vertex':14 'wire':155,227 'without':205 'worker':192 'workflow':31,41,75,145","prices":[{"id":"f0b4da67-bb58-4595-9488-1d505c565bf5","listingId":"7db7f574-c3bb-448d-a315-f29534e0dc8d","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"litestar-org","category":"litestar-skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:20:56.323Z"}],"sources":[{"listingId":"7db7f574-c3bb-448d-a315-f29534e0dc8d","source":"github","sourceId":"litestar-org/litestar-skills/litestar-ai-serving","sourceUrl":"https://github.com/litestar-org/litestar-skills/tree/main/skills/litestar-ai-serving","isPrimary":false,"firstSeenAt":"2026-05-18T13:20:56.323Z","lastSeenAt":"2026-05-18T19:13:53.185Z"}],"details":{"listingId":"7db7f574-c3bb-448d-a315-f29534e0dc8d","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"litestar-org","slug":"litestar-ai-serving","github":{"repo":"litestar-org/litestar-skills","stars":7,"topics":["advanced-alchemy","agent-skills","agentskills","ai-agents","claude-code-plugin","claude-code-skills","gemini-cli-extension","htmx","inertia","litestar","mcp","python","sqlspec"],"license":"mit","html_url":"https://github.com/litestar-org/litestar-skills","pushed_at":"2026-05-13T16:04:09Z","description":"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.","skill_md_sha":"993837afbe2e560aaf44d5c3de6226fe7ea0bb17","skill_md_path":"skills/litestar-ai-serving/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/litestar-org/litestar-skills/tree/main/skills/litestar-ai-serving"},"layout":"multi","source":"github","category":"litestar-skills","frontmatter":{"name":"litestar-ai-serving","description":"Auto-activate for Google ADK, LlmAgent, Runner, SQLSpecSessionService, Vertex AI, agent chat endpoints, streaming AI responses, tool-calling endpoints, or Litestar-hosted model workflows. Use when serving AI agents or model-backed workflows from Litestar. Not for offline ML training or non-Litestar agent servers."},"skills_sh_url":"https://skills.sh/litestar-org/litestar-skills/litestar-ai-serving"},"updatedAt":"2026-05-18T19:13:53.185Z"}}