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)tools
kubectl command-line usage and scripting: kubeconfig and context management, output formats (jsonpath, custom-columns, go-template), all major verbs (get, describe, apply, delete, exec, logs, port-forward, rollout, scale, drain), workload resources, config/storage, networking, RBAC, node management, debugging (CrashLoopBackOff, ImagePullBackOff, OOMKilled), and scripting patterns (dry-run, diff, wait, jq, kustomize). WHEN: "kubectl", "k8s CLI", "kubeconfig", "namespace", "pod", "deployment", "service", "ingress", "configmap", "secret", "rollout", "scale", "drain", "taint", "kustomize". Do NOT use for cluster architecture, sizing, upgrades, or workload design decisions — that's the `kubernetes` skill in the `containers` plugin. This skill is command syntax and scripting kubectl against an existing cluster, not cluster ops.
tools
Bash 5.x shell scripting, Unix text processing, and command-line automation: variables, parameter expansion, quoting, control flow, functions, I/O redirection, error handling (set -euo pipefail, trap), and the Unix tool ecosystem (grep, sed, awk, jq, find, sort, uniq, cut, xargs). Covers process management, networking (curl, ssh, rsync, nc), file locking (flock), parallel execution, and production script patterns. WHEN: "Bash", "bash", "shell", "sh", ".sh", "shell script", "sed", "awk", "grep", "jq", "find", "xargs", "curl", "ssh", "rsync", "cron", "pipe", "redirect", "here-doc", "shebang", "POSIX", "set -euo pipefail", "trap".
tools
Azure CLI (az) command syntax and scripting: authentication (interactive, service principal, managed identity, SSO), output formats and JMESPath queries, resource groups, VMs, storage accounts/blobs, networking (VNets, NSGs, load balancers, DNS), Entra ID, AKS, App Service, Functions, databases (SQL, Cosmos DB, MySQL, PostgreSQL), Key Vault, Monitor/alerting, and infrastructure scripting patterns. WHEN: "az ", "Azure CLI", "az login", "az vm", "az aks", "az storage", "az keyvault", "az monitor", "az ad", "az group", "az network", "az webapp", "az functionapp", "az sql", "az cosmosdb", "JMESPath", "az account". Do NOT use for Azure architecture, landing zones, or multi-subscription strategy — that's the `cloud-platforms` plugin. This skill is about command syntax and scripting the CLI, not deciding what to provision.
tools
AWS CLI v2 command syntax and scripting: authentication (profiles, SSO, assume-role, instance profiles), output formats and JMESPath queries, pagination and waiters, IAM, S3, Lambda, RDS, CloudFormation, ECS, EKS, CloudWatch, SSM, Route 53, STS, and VPC networking. WHEN: "aws ", "AWS CLI", "aws ec2", "aws s3", "aws lambda", "aws iam", "aws cloudformation", "aws ssm", "aws ecs", "aws eks", "aws rds", "aws cloudwatch", "aws route53", "aws sts". Do NOT use for AWS architecture, service selection, multi-account strategy, or FinOps — that's the `cloud-platforms` plugin. This skill is about command syntax and scripting the CLI, not deciding what to provision.