{"id":"e2e46ee3-9a87-4d77-875e-472349aeb196","shortId":"yLtvJG","kind":"skill","title":"litestar-data-services","tagline":"Auto-activate for SQLAlchemyAsyncRepositoryService, SQLSpecAsyncService, create_filter_dependencies, LimitOffsetFilter, OffsetPagination, repository_type, service_class, filters, pagination, or CRUD service layers. Use when implementing Litestar data services, repositories, filte","description":"# Litestar Data Services\n\nUse this skill for repositories, service layers, CRUD boundaries, filters, and pagination.\n\n## Code Style Rules\n\n- Match the existing persistence stack before choosing patterns.\n- Keep handlers out of query construction and transaction management.\n- Use filter dependency objects rather than ad hoc query params.\n- Return typed pagination envelopes for collection endpoints.\n\n## Quick Reference\n\n- Service patterns: [services.md](references/services.md)\n- Pagination and filters: [pagination.md](references/pagination.md)\n- Advanced Alchemy details: [advanced-alchemy](../advanced-alchemy/SKILL.md)\n- sqlspec details: [sqlspec](../sqlspec/SKILL.md)\n\n<workflow>\n\n## Workflow\n\n1. Identify the project's data stack.\n2. Put persistence operations behind a service boundary.\n3. Add filters and pagination through the stack's native pattern.\n4. Return DTO-ready data to Controllers.\n\n</workflow>\n\n<guardrails>\n\n## Guardrails\n\n- Do not mix repository stacks in one feature.\n- Do not place SQL or ORM session handling in route handlers.\n- Do not hand-roll pagination query params.\n- Do not return persistence internals when DTOs are required.\n\n</guardrails>\n\n<validation>\n\n## Validation Checkpoint\n\n- [ ] Service methods own data access.\n- [ ] Filters and pagination match the selected stack.\n- [ ] Controller code stays thin.\n- [ ] DTO conversion is explicit or handled by the service stack.\n\n</validation>\n\n<example>\n\n## Example\n\n```python\nclass UserService(SQLAlchemyAsyncRepositoryService[User]):\n    repository_type = UserRepository\n```\n\n</example>\n\n## References Index\n\n- [services.md](references/services.md)\n- [pagination.md](references/pagination.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","data","services","skills","litestar-org","advanced-alchemy","agent-skills","agentskills","ai-agents","claude-code-plugin","claude-code-skills","gemini-cli-extension"],"capabilities":["skill","source-litestar-org","skill-litestar-data-services","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-data-services","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,037 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.442Z","embedding":null,"createdAt":"2026-05-18T13:20:56.692Z","updatedAt":"2026-05-18T19:13:53.442Z","lastSeenAt":"2026-05-18T19:13:53.442Z","tsv":"'/advanced-alchemy/skill.md':103 '/latest/reference/':230 '/litestar-styleguide/references/general.md':238 '/litestar-styleguide/references/litestar.md':242 '/litestar-styleguide/references/python.md':240 '/sqlspec/skill.md':107 '1':109 '2':116 '3':124 '4':135 'access':186 'activ':7 'ad':75 'add':125 'advanc':97,101 'advanced-alchemi':100 'alchemi':98,102 'api':232 'auto':6 'auto-activ':5 'baselin':236 'behind':120 'boundari':45,123 'checkpoint':181 'choos':58 'class':19,210 'code':49,195 'collect':84 'construct':65 'control':142,194 'convers':199 'creat':11 'crud':23,44 'data':3,30,35,114,140,185 'depend':13,71 'detail':99,105 'docs.litestar.dev':225,229 'docs.litestar.dev/latest/reference/':228 'document':227 'dto':138,198 'dto-readi':137 'dtos':177 'endpoint':85 'envelop':82 'exampl':208 'exist':54 'explicit':201 'featur':151 'filt':33 'filter':12,20,46,70,94,126,187 'general':237 'guardrail':143 'hand':166 'hand-rol':165 'handl':159,203 'handler':61,162 'hoc':76 'identifi':110 'implement':28 'index':218 'intern':175 'keep':60 'layer':25,43 'limitoffsetfilt':14 'litestar':2,29,34,226,231,241 'litestar-data-servic':1 'manag':68 'match':52,190 'method':183 'mix':146 'nativ':133 'object':72 'offici':223 'offsetpagin':15 'one':150 'oper':119 'orm':157 'pagin':21,48,81,92,128,168,189 'pagination.md':95,221 'param':78,170 'pattern':59,89,134 'persist':55,118,174 'place':154 'project':112 'put':117 'python':209,239 'queri':64,77,169 'quick':86 'rather':73 'readi':139 'refer':87,217,224,233 'references/pagination.md':96,222 'references/services.md':91,220 'repositori':16,32,41,147,214 'requir':179 'return':79,136,173 'roll':167 'rout':161 'rule':51 'select':192 'servic':4,18,24,31,36,42,88,122,182,206 'services.md':90,219 'session':158 'share':234 'skill':39 'skill-litestar-data-services' 'source-litestar-org' 'sql':155 'sqlalchemyasyncrepositoryservic':9,212 'sqlspec':104,106 'sqlspecasyncservic':10 'stack':56,115,131,148,193,207 'stay':196 'style':50 'styleguid':235 'thin':197 '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' 'transact':67 'type':17,80,215 'use':26,37,69 'user':213 'userrepositori':216 'userservic':211 'valid':180 'workflow':108","prices":[{"id":"9dea37ea-01c6-4208-94fb-93d383c633df","listingId":"e2e46ee3-9a87-4d77-875e-472349aeb196","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.692Z"}],"sources":[{"listingId":"e2e46ee3-9a87-4d77-875e-472349aeb196","source":"github","sourceId":"litestar-org/litestar-skills/litestar-data-services","sourceUrl":"https://github.com/litestar-org/litestar-skills/tree/main/skills/litestar-data-services","isPrimary":false,"firstSeenAt":"2026-05-18T13:20:56.692Z","lastSeenAt":"2026-05-18T19:13:53.442Z"}],"details":{"listingId":"e2e46ee3-9a87-4d77-875e-472349aeb196","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"litestar-org","slug":"litestar-data-services","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":"631024d1ed4c1959775c46fcc5633e8bc6cb3c81","skill_md_path":"skills/litestar-data-services/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/litestar-org/litestar-skills/tree/main/skills/litestar-data-services"},"layout":"multi","source":"github","category":"litestar-skills","frontmatter":{"name":"litestar-data-services","description":"Auto-activate for SQLAlchemyAsyncRepositoryService, SQLSpecAsyncService, create_filter_dependencies, LimitOffsetFilter, OffsetPagination, repository_type, service_class, filters, pagination, or CRUD service layers. Use when implementing Litestar data services, repositories, filters, or pagination. Not for raw driver usage with no Litestar boundary."},"skills_sh_url":"https://skills.sh/litestar-org/litestar-skills/litestar-data-services"},"updatedAt":"2026-05-18T19:13:53.442Z"}}