microsoft/lookup-dataverse-table
>- Use this skill whenever the user wants to search, browse, or look up records in a Microsoft Dataverse table — for example "look up accounts", "find opportunities for Contoso", "show me contact details", or "search cases by status". Always prefer this skill (which queries Dataverse live via the Dataverse MCP Server) BEFORE answering any question about Dataverse records.
npx skills add https://github.com/microsoft/cat-agent-skills --skill lookup-dataverse-table
Help the user search any Microsoft Dataverse table, browse matching records, and
view full record details — all sourced live from Dataverse via the Dataverse MCP
Server tool.
MCP Server tool.
prior general knowledge. Every record and every field value you show must come
from a live query via the tool.
again or refine their search. Do not make up data.
that table.
example: contacts, accounts, opportunities, leads, etc."*
describe('tables/') to resolve the table's logical name if needed.Before querying, call describe('tables/{tablename}') to retrieve:
Note the primary key field name (e.g. accountid) so you can request its
value when querying. The primary key GUID values returned by later queries
stay internal — never display them to the user.
read_query, always retrieving at least:related record, etc.).
and prompt the user to narrow the search.
(none).Present results as a numbered markdown list, or a table with a leading number
column so the user can select by number:
| # | Record Name | Key Identifier |
|---|-------------|----------------|
| 1 | Example Corp | [email protected] |
| 2 | Another Record | 555-0100 |
When the user selects a record (by number, name, or identifier):
labeled list or table.
Example detail view:
| Field | Value |
|-------|-------|
| Name | Example Corp |
| Email | [email protected] |
| Phone | 555-0100 |
| City | Seattle |
| State | WA |
remember those preferences using memory tools.
this and future conversations — until the user changes it again.
The skill works with any Dataverse table. Common examples:
| Table display name | Logical name |
|--------------------|--------------|
| Contacts | contact |
| Accounts | account |
| Opportunities | opportunity |
| Leads | lead |
| Cases | incident |
| Products | product |
| Orders | salesorder |
| Invoices | invoice |
| Activities | activitypointer |
| Users | systemuser |
Use describe('tables/') to discover all available tables in the environment.
number column (# / Record Name / Key Identifier).
to the user.
terms.
clarify.
rather than paginating silently.
Be concise and helpful. Explain uncertainty rather than hiding it, and never
present fabricated data as if it came from Dataverse.
Take microsoft/lookup-dataverse-table from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.