dv-query
SkillBulk reads, multi-page iteration, and analytics over Dataverse data. Use when the user wants to read, list, filter, aggregate, group, join, or analyze records — including pandas DataFrame workflows and notebook exploration.
Install
git clone https://github.com/microsoft/Dataverse-skills.git ~/.claude/skills/dv-queryWhat is dv-query?
Bulk reads, multi-page iteration, and analytics over Dataverse data. Use when the user wants to read, list, filter, aggregate, group, join, or analyze records — including pandas DataFrame workflows and notebook exploration.
What this can do
Capabilities declared in this component's own frontmatter — not inferred.
Inherit all session tools
Declares no tool restrictions — inherits every session tool
~56 tokens of context used while enabled, before you invoke anything
Documentation
README · ~9 min readSkill: Query — Read and Analyze Dataverse Records
This skill uses Python exclusively. Do not use Node.js, JavaScript, or any other language for Dataverse scripting. See the overview skill's Hard Rules.
Reads: prefer a managed surface, choose by shape
Pick MCP or the SDK by the shape of the read — both handle auth, paging, and retry (see the routing table below and the overview's Tool Capabilities / Hard Rule 2). MCP fits small, interactive reads; the SDK fits bulk iteration and analytics. For $apply aggregation and N:N $expand, prefer client.query.fetchxml() (aggregates + link-entity) or the managed dataverse api escape hatch; reach for hand-rolled urllib/get_token() only to stay in-process inside a tight Python loop (e.g. paging thousands of rows with client-side processing — see web-api-advanced.md).
Dataverse CLI gotchas (custom tables + Windows)
When you drive the dataverse CLI directly (headless reads/CRUD), two empirical traps:
- Custom-table SQL pluralization.
dataverse data queryin SQL mode auto-pluralizes the table name, and irregular plurals resolve wrong:FROM im_categorylooks up entity setim_categorysand returns a 404 that reads like "table missing." It is not — switch to OData mode with the explicit entity set:dataverse data query --table im_categories --select im_name. Discover the realEntitySetNamefromEntityDefinitionswhen unsure; never conclude the table doesn't exist from this 404. - Windows shell quoting. Wrap the whole
--pathvalue in double quotes socmd.exe/PowerShell don't treat&as a command separator. Keep&literal — it separates OData query options; encoding it to%26merges them and breaks the query. Encode only$->%24(in PowerShell a bare$selectis read as a variable). If an unquoted&splits the command, the wrapper can exit nonzero even when the API returned valid JSON — quoting prevents it. (This is why thedataverse api requestexamples in other skills quote the path, use%24, and leave&literal.)
ERP target is a separate path. ERP (Finance and Operations), when linked to a Dataverse env, does not go through the Python SDK. See references/erp-reads.md.
How to Answer Data Questions
Reviews
Log in to leave a review.
No reviews yet — be the first.
Explore related
Other things in this space — across every part of the ecosystem, not just skills.
Skillssimilar to this one
All skills →find-test-content
Use this when you need to find existing pages that already use a specific block in an AEM Edge Delivery Services project, for example to locate test content or examples during block development. Covers reporting page URLs with occurrence counts and block variants. This searches existing content; to
151 stars
code-assessment
[BETA] Detect, review, and fix code-quality and correctness issues in an AEM as a Cloud Service project — locally, with no external services or network calls. Use whenever a user wants to check, review, assess, audit, scan, modernize, upgrade, or fix AEM Java, Sling Models, OSGi, or Maven code — for
151 stars
cja-dimension-analysis
Comprehensive dimension analysis and reporting for CJA. Use this skill whenever the user wants to analyze one or more dimensions — including cardinality, distribution/skew, trends, anomalies, data quality errors, comparisons, and forecasting. Also trigger when someone asks "what are the top values f
151 stars