Telemetry
microsoft/power-platform-skills
A skill your agent uses when the user wants to enable, disable, turn on or off, opt out of, opt in to, or check the status of power-automate telemetry / usage data.
X++ code development lifecycle for Finance and Operations — scaffold models, author classes, custom services/APIs, and data entities, install matching SDKs, compile deployable packages, deploy…
$ npx skills add microsoft/Dataverse-skills --skill erp-xpp -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install microsoft/Dataverse-skills erp-xpp --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/microsoft/Dataverse-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/plugins/dataverse/skills/erp-xpp .claude/skills/erp-xpp && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "erp-xpp" agent skill from https://github.com/microsoft/Dataverse-skills/tree/main/.github/plugins/dataverse/skills/erp-xpp into .claude/skills/erp-xpp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "erp-xpp", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/microsoft/Dataverse-skills/tree/main/.github/plugins/dataverse/skills/erp-xppType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add microsoft/Dataverse-skills --skill erp-xpp -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install microsoft/Dataverse-skills erp-xpp --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/Dataverse-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/plugins/dataverse/skills/erp-xpp .agents/skills/erp-xpp && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "erp-xpp" agent skill from https://github.com/microsoft/Dataverse-skills/tree/main/.github/plugins/dataverse/skills/erp-xpp into .agents/skills/erp-xpp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "erp-xpp", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/Dataverse-skills --skill erp-xpp -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install microsoft/Dataverse-skills erp-xpp --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/Dataverse-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/plugins/dataverse/skills/erp-xpp .cursor/skills/erp-xpp && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "erp-xpp" agent skill from https://github.com/microsoft/Dataverse-skills/tree/main/.github/plugins/dataverse/skills/erp-xpp into .cursor/skills/erp-xpp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "erp-xpp", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/microsoft/Dataverse-skills.git --path .github/plugins/dataverse/skills/erp-xpp--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add microsoft/Dataverse-skills --skill erp-xpp -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install microsoft/Dataverse-skills erp-xpp --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/Dataverse-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/plugins/dataverse/skills/erp-xpp .gemini/skills/erp-xpp && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "erp-xpp" agent skill from https://github.com/microsoft/Dataverse-skills/tree/main/.github/plugins/dataverse/skills/erp-xpp into .gemini/skills/erp-xpp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "erp-xpp", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install microsoft/Dataverse-skills erp-xppInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add microsoft/Dataverse-skills --skill erp-xpp -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/microsoft/Dataverse-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/plugins/dataverse/skills/erp-xpp .github/skills/erp-xpp && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "erp-xpp" agent skill from https://github.com/microsoft/Dataverse-skills/tree/main/.github/plugins/dataverse/skills/erp-xpp into .github/skills/erp-xpp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "erp-xpp", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/Dataverse-skills --skill erp-xpp -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install microsoft/Dataverse-skills erp-xpp --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/Dataverse-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/plugins/dataverse/skills/erp-xpp .opencode/skills/erp-xpp && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "erp-xpp" agent skill from https://github.com/microsoft/Dataverse-skills/tree/main/.github/plugins/dataverse/skills/erp-xpp into .opencode/skills/erp-xpp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "erp-xpp", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
erp-xppX++ code development lifecycle for Finance and Operations — scaffold models, author classes, custom services/APIs, and data entities, install matching SDKs, compile deployable packages, deploy…
Erp Xpp is an agent skill from microsoft/Dataverse-skills, published by the product's own GitHub organization. X++ code development lifecycle for Finance and Operations — scaffold models, author classes, custom services/APIs, and data entities, install matching SDKs, compile deployable packages, deploy packages, synchronize databases, and verify deployed artifacts. Use when the user explicitly requests creating, building, compiling, packaging, deploying, DB-syncing, or verifying X++ customizations, or an end-to-end ERP code change.
Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/authoring.md`, `references/commands.md` and `references/validation.md`).
It sits in AI & LLM Engineering. It works with Power Automate and Model Context Protocol. The repository describes itself as: Microsoft Dataverse skills for AI coding agents. Wraps the Dataverse MCP server, Dataverse CLI, Python SDK, and PAC CLI behind specialist skills for building, querying… The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 3be592f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Erp Xpp loads about 3.8k tokens when it runs, and up to ~16k if it reads all its reference files. Until then it costs about 109 tokens; SKILL.md has 1,786 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from microsoft/Dataverse-skills at commit 3be592f, republished under its MIT licence (© microsoft). 1,786 words, ~3,804 tokens.
.claude/skills/erp-xpp/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Critical safety rules — read first
- Windows only.
pac tool xpp installandpac package compile --package-type erprequire Windows. Do not invent a Linux/macOS or SDK-based fallback.- Confirm the target before any deploy or DB sync. Show the Dataverse environment URL, obtain explicit confirmation, then run
pac org who --environment <url>and verify both the Dataverse URL and linked ERP URL/version.- Never assume Full DB sync. Although standalone
pac package db-syncdefaults toFull, require the user to chooseFull,Module, orIncrementalwhen the request is ambiguous.- Do not call deployment successful until PAC reaches a successful terminal state. Preserve and report the async operation ID on failure.
- Do not overwrite existing models or source files. Inspect
.erp/xpp.json, descriptors, and target metadata paths before scaffolding or editing.- Pin every runtime surface before ERP verification. PAC and the Dataverse CLI have separate active profiles. Before any
dataverse ... --target erpcheck, requiredataverse auth whoanddataverse org who --jsonto match the confirmed Dataverse and linked ERP URLs. Validate ERP MCP according to its transport: direct HTTP must target<erp-url>/mcp; an stdio proxy must receive the base<erp-url>and route effectively to/mcp. Profile selection does not retarget an existing MCP connection.- Treat runtime verification as possible data mutation. After the separate post-deployment opt-in, inspect the X++ implementation, disclose exact test inputs and expected mutations, and obtain confirmation for those inputs and effects. Do not apply a generic test matrix to non-idempotent operations.
- All additional validation after an ERP X++ package deployment is opt-in. After
pac package deploy --package-type erp, capture PAC's terminal result, then ask whether the user wants any further validation and which checks to run. Do not query the async operation, execute an X++ artifact, query its ERP entity, or test its security unless selected. For runtime validation, confirm exact inputs, success criteria, and failure criteria; never invent values or execute an unapproved failure path. This rule is scoped to ERP X++ package deployment, not Dataverse solution ALM.
PAC CLI is the managed surface for the X++ lifecycle. Do not replace these commands with raw Dataverse APIs, direct calls to the ERP sidecar, LCS upload automation, or hand-written compiler invocations.
For a planning-only X++ request, loading skills and reading local references is allowed; do not make environment calls or write local files.
| User intent | Action |
|---|---|
| Create an ERP package/model | pac package init --package-type erp |
| Install compiler metadata for an environment | pac tool xpp install |
| Check/remove local SDKs | pac tool xpp list / pac tool xpp uninstall |
| Compile or build X++ | pac package compile --package-type erp |
| Deploy one prebuilt ZIP | pac package deploy --package-type erp --package <zip> |
| Deploy all models in a repo | pac package deploy --package-type erp --solution-root <root> |
| Run DB sync only | pac package db-sync |
| Create an ERP custom service | Author its X++ class/contracts plus AxService and AxServiceGroup metadata, then compile and deploy |
Create an ERP ICustomAPI action | Author an ICustomAPI class, action menu item, and privilege/duty/role security, then compile, deploy, DB-sync when required, and verify through ERP MCP |
| Author, compile, deploy, and verify | Follow End-to-end workflow |
There is no pac package build or top-level pac xpp command. For ERP, pac package compile --package-type erp compiles labels and X++, runs best-practice checks, and builds deployable managed ZIPs.
| Need | Use instead |
|---|---|
| Connect/authenticate, install or update PAC CLI | dv-connect |
| Read or analyze ERP business data | dv-query |
| Create/update/delete ERP business records or import DMF data | dv-data |
| List/cancel ERP batch jobs | dv-admin |
| Dataverse solution ALM | dv-solution |
| ERP UI personalization, workflow editing, or environment lifecycle | Finance and Operations UI / Power Platform admin tooling; not covered |
pac and inspect its banner; pac --version is invalid. These commands require the PAC CLI .NET tool version 2.11.1 or later.pac package help and pac tool xpp help. If compile, db-sync, or tool xpp is absent, load dv-connect and update to the latest .NET tool installation before continuing.pac auth list
pac org who --environment <dataverse-url>The output must identify the confirmed Dataverse environment and include a linked ERP URL/version. Do not substitute the ERP URL for --environment; PAC accepts the Dataverse URL and resolves ERP linkage.
dataverse auth who
dataverse org who --json \
--context "app=dataverse-skills/<ver>;skill=erp-xpp;agent=<agent>"Require the selected CLI profile's environment URL and returned erpUrl to match the PAC target confirmed above. If they do not, run dataverse auth select --name <profile-name>, then repeat both checks. Pass --environment <dataverse-url> on commands that support it, but never treat that option as a substitute for selecting the correct profile; some ERP data commands have no environment override.
For ERP MCP verification, inspect the active server configuration. Require direct HTTP to use the confirmed <erp-url>/mcp, or require an stdio proxy such as dataverse mcp to receive the confirmed base <erp-url> and use its effective /mcp endpoint. If it differs, stop and reconnect or reinitialize the matching ERP MCP server before discovery or invocation.
Before every MCP runtime invocation, establish a fresh transport-specific session and verify its caller through an MCP-originated identity/current-session check. dataverse auth who proves only the CLI identity. If MCP cannot prove its caller, do not invoke through that session. For security acceptance, the proven caller must be the intended non-administrator test user.
%LOCALAPPDATA%\Microsoft\Dynamics365\<version>\PackagesLocalDirectory.# Scaffold one or more models
pac package init --outputDirectory <root> --package-type erp \
--model <ModelA,ModelB> --publisher <publisher> --layer ISV
# SDK lifecycle
pac tool xpp install --environment <dataverse-url>
pac tool xpp list
pac tool xpp uninstall --version <four-part-version>
# Compile/build all configured models
pac package compile --solution-root <root> --package-type erp \
--app-version <four-part-version> --language en-US
# Compile one model during the edit loop
pac package compile --solution-root <root> --package-type erp \
--model <ModelName> --app-version <four-part-version> \
--language en-US --incremental
# Deploy one compiled package, without DB sync
pac package deploy --environment <dataverse-url> --package-type erp \
--package <root>/bin/<Model>_<version>_managed.zip \
--build-type Full --release-type Dev --db-sync None \
--logConsole --logFile <deployment-log-path>
# Deploy every model in .erp/xpp.json in dependency order
pac package deploy --environment <dataverse-url> --package-type erp \
--solution-root <root> --build-type Full --release-type Dev \
--db-sync None --logConsole --logFile <deployment-log-path>Use explicit values rather than relying on defaults in automation. Full argument tables and DB-sync rules are in references/commands.md.
The repo root contains .erp/xpp.json; source defaults to src/. Each model has a descriptor and metadata under:
<root>/
.erp/xpp.json
src/<Model>/Descriptor/<Model>.xml
src/<Model>/<Model>/AxClass/<Class>.xmlRun pac package init instead of hand-writing the descriptor/config. Add metadata files surgically after inspecting existing paths. PAC compiles and packages authored metadata; it does not scaffold custom services, ICustomAPI actions, or data entities. For runnable classes, labels, custom services, ICustomAPI actions, public OData data entities, and artifact-specific verification, use references/authoring.md.
--incremental only for the edit loop. Run a non-incremental compile before a final deployment.--skip-bp unless the user explicitly requests it and understands the reduced validation.--app-version; otherwise PAC may reject ambiguous selection.Compile summary: ... failed or any nonzero exit as failure even if a ZIP already exists from an earlier run.<root>/bin/.XPPLC2010 and PAC fails despite exit code 0 from LabelC, add a valid label resource; do not delete logs or bypass the stage.--db-sync None.--build-type controls how the server applies the package: Full, Incremental, or Delete; it is not a local build command.--release-type Dev is the normal test/development choice. Release forces Full DB sync server-side when a sync is requested.Delete ignores DB-sync settings.--package <zip>. Solution-mode deployment omits --package, reads .erp/xpp.json, topologically orders models, deploys them, then runs one requested DB sync.fnomoduledefinition.json into the ZIP at deploy time. Copy the artifact first if an immutable checksum must be retained.See references/workflows.md for compile-only, deploy-only, DB-sync-only, multi-model, and full lifecycle sequences. Apply the success gates, diagnostics flow, and error mappings in references/validation.md to every compile, deployment, DB sync, and runtime verification.
For “make this X++ change and deploy it”:
pac package init --package-type erp only when the model does not exist.ICustomAPI actions and security, public data entities, and required labels.https://<erp-host>/?mi=SysClassRunner&cls=<ClassName>.erp:<ServiceGroup>/<Service>/<Operation> with dataverse api invoke --target erp --context "app=dataverse-skills/<ver>;skill=erp-xpp;agent=<agent>"; use list/describe only for discovery.ICustomAPI action: if discovery was selected, use ERP MCP api_find_actions to validate its action menu item and contract. If execution was selected, invoke only approved inputs using the confirmed source contract or approved discovery result, then compare every returned property and expected mutation with the observed result.dataverse data describe --target erp. If query execution was selected, query the confirmed entity set with dataverse data query --target erp. Add --context "app=dataverse-skills/<ver>;skill=erp-xpp;agent=<agent>" to each command that runs.| Wrong | Correct |
|---|---|
pac xpp install | pac tool xpp install |
pac xpp compile | pac package compile --package-type erp |
pac package build | pac package compile --package-type erp |
pac package deploy --package-type xpp | --package-type erp |
Passing the ERP URL to --environment | Pass the linked Dataverse URL |
Omitting --package for one ZIP | Add --package <zip> |
Adding --package for repo-wide deployment | Omit it and use --solution-root |
pac package db-sync --db-sync None | None is deploy-only; standalone modes are Full, Module, Incremental |
Module sync without --modules | Add --modules ModelA,ModelB |
Incremental sync without --argument-file | Add a valid IncrementalSyncParameters JSON file |
© microsoft, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in .github/plugins/dataverse/skills/erp-xpp of microsoft/Dataverse-skills.
Open the folder on GitHubat commit 3be592f
Erp Xpp next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Erp Xpp this skillmicrosoft/Dataverse-skills | 242 | — | ~3.8k | Automated safety check: Pass | MIT | |
| Telemetrymicrosoft/power-platform-skills | 972 | 1 repos | ~635 | Automated safety check: Notes | MIT | |
| Microsoft Docsmicrosoft/ai-agents-for-beginners | 77k | 3 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Microsoft Docsmicrosoft/ai-agents-for-beginners | 77k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Microsoft Docsmicrosoft/ai-agents-for-beginners | 77k | — | ~1.6k | Automated safety check: Pass | MIT | |
| Microsoft Docsmicrosoft/ai-agents-for-beginners | 77k | — | ~1.3k | Automated safety check: Pass | MIT |
microsoft/power-platform-skills
A skill your agent uses when the user wants to enable, disable, turn on or off, opt out of, opt in to, or check the status of power-automate telemetry / usage data.
microsoft/ai-agents-for-beginners
Query official Microsoft documentation to find concepts, tutorials, and code examples across Azure, .NET, Agent Framework, Aspire, VS Code, GitHub, and more.
microsoft/ai-agents-for-beginners
Kysy virallista Microsoftin dokumentaatiota löytääksesi käsitteitä, opetusohjelmia ja koodiesimerkkejä Azureen, .NET:iin, Agent Frameworkiin, Aspireen, VS Codeen, GitHubiin ja muihin liittyen.
microsoft/ai-agents-for-beginners
Interroger la documentation officielle de Microsoft pour trouver des concepts, des tutoriels et des exemples de code couvrant Azure, .NET, Agent Framework, Aspire, VS Code, GitHub, et plus encore.
microsoft/ai-agents-for-beginners
שאילתה בתיעוד הרשמי של Microsoft למציאת מושגים, מדריכים ודוגמאות קוד ב-Azure, .NET, Agent Framework, Aspire, VS Code, GitHub ועוד.
microsoft/ai-agents-for-beginners
आधिकारिक Microsoft दस्तावेज़ों में क्वेरी करें ताकि Azure, .NET, Agent Framework, Aspire, VS Code, GitHub, और अन्य के बारे में अवधारणाएँ, ट्यूटोरियल और कोड उदाहरण मिल सकें। डिफ़ॉल्ट रूप से Microsoft…
microsoft/Dataverse-skills
One-step setup and connection diagnostics for a Dataverse environment — installs tools, authenticates, registers MCP, writes .env, and verifies active profiles and linked ERP endpoints.
microsoft/Dataverse-skills
Bulk reads, multi-page iteration, and analytics over Dataverse data.
microsoft/Dataverse-skills
Environment-level Dataverse administration — bulk delete, retention/archival, organization settings, OrgDB settings, recycle bin, audit, and the 37 allowlisted PPAC toggles.
microsoft/Dataverse-skills
Record-level CRUD and bulk operations — create, update, delete, upsert, CSV import, multi-table foreign-key loads, AI-generated sample data.
microsoft/Dataverse-skills
Foundational cross-cutting context for Dataverse / Power Platform work — scope and the skill map, the tool-capability reference, the safety rules, and the safe change lifecycle.
microsoft/Dataverse-skills
Dataverse schema authoring and inspection — tables, columns, relationships, forms, and views.
Works with
Categories
X++ code development lifecycle for Finance and Operations — scaffold models, author classes, custom services/APIs, and data entities, install matching SDKs, compile deployable packages, deploy…. Erp Xpp is an agent skill from microsoft/Dataverse-skills, published by the product's own GitHub organization. X++ code development lifecycle for Finance and Operations — scaffold models, author classes, custom services/APIs, and data entities, install matching SDKs, compile deployable packages, deploy packages, synchronize databases, and verify deployed artifacts.
Erp Xpp fits situations like: the user explicitly requests creating; verifying X++ customizations; an end-to-end ERP code change.
Run `npx skills add microsoft/Dataverse-skills --skill erp-xpp -a claude-code`. Or copy the skill folder (.github/plugins/dataverse/skills/erp-xpp in microsoft/Dataverse-skills) into .claude/skills/erp-xpp in your project. Claude Code loads it when a task matches its description.
Run `npx skills add microsoft/Dataverse-skills --skill erp-xpp -a codex`. Or copy the skill folder (.github/plugins/dataverse/skills/erp-xpp in microsoft/Dataverse-skills) into .agents/skills/erp-xpp in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft/Dataverse-skills --skill erp-xpp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/erp-xpp, .gemini/skills/erp-xpp, .github/skills/erp-xpp and .opencode/skills/erp-xpp in your project.
SKILL.md names no scripts, command-line tools or credentials: Erp Xpp is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Erp Xpp is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 12k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Erp Xpp: Telemetry (microsoft/power-platform-skills, 972 stars), Microsoft Docs (microsoft/ai-agents-for-beginners, 77k stars), Microsoft Docs (microsoft/ai-agents-for-beginners, 77k stars) and Microsoft Docs (microsoft/ai-agents-for-beginners, 77k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
microsoft (a GitHub organization, an official publisher) maintains it in microsoft/Dataverse-skills, which has 242 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 5, 2026.
Source: microsoft/Dataverse-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.