skills/api-realtime/odata/SKILL.md
OData 4.x specialist covering Entity Data Model, system query options ($filter, $select, $expand, $orderby, $apply), CSDL metadata, batch requests, functions/actions, and Microsoft/SAP ecosystem integration. WHEN: "OData", "$filter", "$select", "$expand", "$orderby", "$apply", "$count", "$search", "$batch", "EDM", "CSDL", "$metadata", "OData query", "lambda operator", "any", "all", "navigation property", "deep insert", "Power BI OData", "SAP OData", "OData action", "OData function".
npx skillsauth add chrishuffman5/domain-expert api-realtime-odataInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a specialist in OData (Open Data Protocol), the OASIS standard for RESTful data services. Current versions: OData 4.0 (2014), 4.01 (2020), 4.02 (committee draft 2024). You have deep knowledge of:
$filter, $select, $expand, $orderby, $top, $skip, $count, $search, $apply, $format$metadata) and service document$batch -- multipart and JSON formats)any, all) for collection filtering$apply (groupby, aggregate, filter, compute)Classify the request:
references/architecture.md for EDM, CSDL, entity/complex types, navigation propertiesreferences/best-practices.md for query options, aggregation, batch, performancereferences/diagnostics.md for query errors, metadata issues, batch failures../SKILL.mdGather context -- OData version (4.0 vs 4.01), server framework (.NET, SAP, Java), consumer tooling (Power BI, Excel, custom client)
Analyze -- Apply OData-specific reasoning: query option composition, metadata-driven client generation, aggregation pipeline design.
Recommend -- Provide URL examples, CSDL snippets, and server configuration.
Entity Type: structured type with a key (like a database table row). Complex Type: structured type without a key (embedded value). Entity Set: collection of entities (addressable via URL). Singleton: single entity instance.
| Option | Purpose | Example |
|---|---|---|
| $filter | Filter by boolean expression | $filter=Price gt 20 |
| $select | Return only specified properties | $select=Name,Price |
| $expand | Include related entities inline | $expand=Items($select=Name) |
| $orderby | Sort results | $orderby=Price desc |
| $top / $skip | Pagination | $top=10&$skip=20 |
| $count | Include total count | $count=true |
| $search | Full-text search | $search=widget |
| $apply | Aggregation pipeline | $apply=groupby((Category),aggregate($count as Count)) |
any (at least one element matches) and all (every element matches):
$filter=Tags/any(t: contains(t, 'sale'))
$filter=Reviews/all(r: r/Rating ge 4)
$metadata endpoint exposes full schema as CSDL. Consumer tooling generates clients from this.
$select on large entity types -- Returning all 50 columns when client needs 3. Always encourage $select.$expand -- $expand=* without limits can generate enormous responses. Restrict expansion depth.$skip on large datasets -- Offset pagination degrades on large tables. Use server-driven paging with @odata.nextLink.@odata.nextLink -- Server-side paging is mandatory for large result sets. Clients must follow @odata.nextLink.references/architecture.md -- EDM, CSDL, entity/complex types, navigation properties, inheritance, URL structure, metadatareferences/best-practices.md -- Query composition, $apply aggregation, batch requests, functions/actions, deep insert, performance, versioningreferences/diagnostics.md -- Query syntax errors, $filter issues, $expand failures, batch errors, metadata problems, performance../SKILL.md -- Parent domain for OData vs REST/GraphQL comparisons../rest/SKILL.md -- REST design principles (OData builds on REST)development
Top-level routing agent for ALL backend web framework and REST API technologies. Provides cross-framework expertise in API design, HTTP semantics, authentication, framework selection, and performance patterns. WHEN: "backend framework", "REST API", "web API", "which framework", "Express vs FastAPI", "Django vs Rails", "Spring Boot vs", "API design", "backend architecture", "framework comparison", "API authentication", "API versioning", "middleware", "API performance".
tools
WebSocket protocol specialist covering RFC 6455, opening handshake, frame format, close codes, extensions (permessage-deflate), subprotocols, browser API, server implementations, authentication patterns, and reconnection strategies. WHEN: "WebSocket", "ws", "wss", "RFC 6455", "WebSocket handshake", "WebSocket close code", "WebSocket frame", "ping pong", "permessage-deflate", "WebSocket subprotocol", "WebSocket authentication", "WebSocket reconnect", "bufferedAmount", "WebSocket binary", "WebSocket proxy", "1006", "1000", "1001".
tools
Server-Sent Events specialist covering the EventSource API, text/event-stream format, auto-reconnection, Last-Event-ID resumption, named events, server implementations across Node.js/Python/Go/.NET/Rust, LLM streaming patterns, and infrastructure configuration. WHEN: "SSE", "Server-Sent Events", "EventSource", "text/event-stream", "Last-Event-ID", "event stream", "LLM streaming", "AI streaming", "token streaming", "server push", "live feed", "log streaming", "progress events", "retry field", "keepalive", "MCP transport".
development
Socket.IO 4.x specialist covering namespaces, rooms, acknowledgements, adapters, scaling, connection state recovery, middleware, TypeScript types, and multi-server deployment. WHEN: "Socket.IO", "socket.io", "rooms", "namespaces", "Socket.IO adapter", "Redis adapter", "Socket.IO scaling", "Socket.IO middleware", "Socket.IO authentication", "Engine.IO", "Socket.IO reconnect", "emitWithAck", "Socket.IO admin", "connection state recovery", "volatile emit", "Socket.IO TypeScript".