{"id":"06493ad8-61de-4025-a1e6-9c6cb70cf1d7","shortId":"Yd9QpS","kind":"skill","title":"litestar-middleware","tagline":"Auto-activate for AbstractMiddleware, DefineMiddleware, MiddlewareProtocol, middleware=, CORSConfig, CSRFConfig, AllowedHostsConfig, CompressionConfig, request IDs, auth middleware, or ASGI scope filtering. Use when configuring Litestar middleware or cross-cutting request behavio","description":"# Litestar Middleware\n\nUse this skill for built-in middleware config, custom ASGI middleware, request lifecycle hooks, and auth user loading.\n\n## Code Style Rules\n\n- Use built-in middleware configs before custom middleware.\n- Keep middleware focused on cross-cutting request behavior.\n- Filter by ASGI scope when middleware applies only to HTTP or WebSocket.\n- Keep business policy in Guards and services.\n\n## Quick Reference\n\n- Middleware patterns: [middleware.md](references/middleware.md)\n- Pair with [litestar-auth-guards](../litestar-auth-guards/SKILL.md) for permission checks.\n- Pair with [litestar-deployment](../litestar-deployment/SKILL.md) for proxy and platform concerns.\n\n<workflow>\n\n## Workflow\n\n1. Decide whether a built-in config solves the need.\n2. Choose custom middleware only for cross-cutting behavior.\n3. Set ordering deliberately.\n4. Verify HTTP and WebSocket behavior separately when both apply.\n\n</workflow>\n\n<guardrails>\n\n## Guardrails\n\n- Do not put business workflows in middleware.\n- Do not apply HTTP-only middleware to WebSocket scopes.\n- Do not mutate request state without documenting the key.\n- Do not duplicate Guard policy in middleware.\n\n</guardrails>\n\n<validation>\n\n## Validation Checkpoint\n\n- [ ] Middleware order is intentional.\n- [ ] Scope filtering is correct.\n- [ ] Built-in configs are used where available.\n- [ ] Tests cover the request path affected by middleware.\n\n</validation>\n\n<example>\n\n## Example\n\n```python\nfrom litestar.middleware import DefineMiddleware\n\nmiddleware = [DefineMiddleware(RequestIDMiddleware)]\n```\n\n</example>\n\n## References Index\n\n- [middleware.md](references/middleware.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","middleware","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-middleware","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-middleware","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,003 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:54.312Z","embedding":null,"createdAt":"2026-05-18T13:20:58.019Z","updatedAt":"2026-05-18T19:13:54.312Z","lastSeenAt":"2026-05-18T19:13:54.312Z","tsv":"'/latest/reference/':239 '/litestar-auth-guards/skill.md':108 '/litestar-deployment/skill.md':117 '/litestar-styleguide/references/general.md':247 '/litestar-styleguide/references/litestar.md':251 '/litestar-styleguide/references/python.md':249 '1':124 '2':135 '3':145 '4':149 'abstractmiddlewar':8 'activ':6 'affect':216 'allowedhostsconfig':14 'api':241 'appli':83,158,169 'asgi':21,47,79 'auth':18,53,106 'auto':5 'auto-activ':4 'avail':210 'baselin':245 'behavio':34 'behavior':76,144,154 'built':42,61,129,204 'built-in':41,60,128,203 'busi':90,163 'check':111 'checkpoint':194 'choos':136 'code':56 'compressionconfig':15 'concern':122 'config':45,64,131,206 'configur':26 'correct':202 'corsconfig':12 'cover':212 'cross':31,73,142 'cross-cut':30,72,141 'csrfconfig':13 'custom':46,66,137 'cut':32,74,143 'decid':125 'definemiddlewar':9,224,226 'deliber':148 'deploy':116 'docs.litestar.dev':234,238 'docs.litestar.dev/latest/reference/':237 'document':183,236 'duplic':188 'exampl':219 'filter':23,77,200 'focus':70 'general':246 'guard':93,107,189 'guardrail':159 'hook':51 'http':86,151,171 'http-on':170 'id':17 'import':223 'index':229 'intent':198 'keep':68,89 'key':185 'lifecycl':50 'litestar':2,27,35,105,115,235,240,250 'litestar-auth-guard':104 'litestar-deploy':114 'litestar-middlewar':1 'litestar.middleware':222 'load':55 'middlewar':3,11,19,28,36,44,48,63,67,69,82,98,138,166,173,192,195,218,225 'middleware.md':100,230 'middlewareprotocol':10 'mutat':179 'need':134 'offici':232 'order':147,196 'pair':102,112 'path':215 'pattern':99 'permiss':110 'platform':121 'polici':91,190 'proxi':119 'put':162 'python':220,248 'quick':96 'refer':97,228,233,242 'references/middleware.md':101,231 'request':16,33,49,75,180,214 'requestidmiddlewar':227 'rule':58 'scope':22,80,176,199 'separ':155 'servic':95 'set':146 'share':243 'skill':39 'skill-litestar-middleware' 'solv':132 'source-litestar-org' 'state':181 'style':57 'styleguid':244 'test':211 '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' 'use':24,37,59,208 'user':54 'valid':193 'verifi':150 'websocket':88,153,175 'whether':126 'without':182 'workflow':123,164","prices":[{"id":"3bdec14c-6a2d-43c6-a75c-95f1d5d43e1a","listingId":"06493ad8-61de-4025-a1e6-9c6cb70cf1d7","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:58.019Z"}],"sources":[{"listingId":"06493ad8-61de-4025-a1e6-9c6cb70cf1d7","source":"github","sourceId":"litestar-org/litestar-skills/litestar-middleware","sourceUrl":"https://github.com/litestar-org/litestar-skills/tree/main/skills/litestar-middleware","isPrimary":false,"firstSeenAt":"2026-05-18T13:20:58.019Z","lastSeenAt":"2026-05-18T19:13:54.312Z"}],"details":{"listingId":"06493ad8-61de-4025-a1e6-9c6cb70cf1d7","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"litestar-org","slug":"litestar-middleware","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":"e13bd48abaf15426f4f83554739e06a76335b50f","skill_md_path":"skills/litestar-middleware/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/litestar-org/litestar-skills/tree/main/skills/litestar-middleware"},"layout":"multi","source":"github","category":"litestar-skills","frontmatter":{"name":"litestar-middleware","description":"Auto-activate for AbstractMiddleware, DefineMiddleware, MiddlewareProtocol, middleware=, CORSConfig, CSRFConfig, AllowedHostsConfig, CompressionConfig, request IDs, auth middleware, or ASGI scope filtering. Use when configuring Litestar middleware or cross-cutting request behavior. Not for route-level business logic or frontend middleware."},"skills_sh_url":"https://skills.sh/litestar-org/litestar-skills/litestar-middleware"},"updatedAt":"2026-05-18T19:13:54.312Z"}}