Ppds metadata
PPDS Skills — knowledge layer teaching AI coding agents to drive the Power Platform Developer Suite
npx -y skills add joshsmithxrm/ppds-skills --skill ppds-metadataAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Browse and author Dataverse schema with PPDS — list entities/tables, inspect attributes/columns and relationships, create or update tables, columns, relationships, alternate keys, and global choices/option sets, compare schemas across environments, and adjust views and forms. Use when the user wants to know what columns or relationships an entity has, create or modify a table or column, manage option sets or keys, diff schema between environments, or edit a view or form definition. Read ppds-core first for auth and safety rules.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
4.3 KB, as published. Nobody here has run it
PPDS Metadata — schema as a first-class surface
Exact flags: references/cli-metadata.md, references/cli-schema.md, references/cli-views.md, references/cli-forms.md.
Surface routing: browsing is CLI or MCP; schema authoring is one of
the few places MCP is unusually strong — the released server ships typed
authoring tools (ppds_metadata_create_table, ppds_metadata_add_column,
ppds_metadata_update_column, ppds_metadata_create_relationship,
ppds_metadata_create_choice, ppds_metadata_create_key,
ppds_metadata_add_option_value, and update variants). In a terminal the
CLI equivalents live under the ppds metadata subgroups: entity, attribute,
relationship, key, optionset.
Browsing schema
ppds metadata entities -f json # all tables
ppds metadata entity account # full metadata for one table
ppds metadata attributes account # columns, types
ppds metadata relationships account # 1:N, N:1, N:N
ppds metadata keys account # alternate keys
ppds metadata optionsets # global choices
ppds metadata optionset <name>
MCP equivalents: ppds_metadata_entities, ppds_metadata_entity,
ppds_data_schema (per-entity field list with option values).
Authoring schema (mutations — safety model applies)
The authoring verbs hang off the noun subgroups; see references/cli-metadata.md for each subcommand's exact flags before generating a command — column/table creation has many typed options.
ppds metadata entity create --help # check real flags first
ppds metadata attribute create --help
ppds metadata relationship create --help
ppds metadata key create --help
After metadata changes, publish: ppds metadata publish <names> (alias for
ppds publish --type entity).
Note: the table, column, and choice subgroups are deprecated
aliases of entity, attribute, and optionset — prefer the canonical names.
Cross-environment schema comparison
ppds schema compare --help # compare environments / data packages
Use this before solution import to spot drift between source and target.
Views and forms (maker-portal gap fillers)
Saved queries (views) and system forms are editable from the CLI — column
layout, sort, filter, raw FetchXML on views; tabs/sections/fields on forms.
These write systemquery/systemform records: unmanaged-layer mutations,
so confirm the environment first, and managed components will refuse edits
(View.ManagedComponentNotEditable).
ppds views list --entity account
ppds views set-filter --entity account --view "Active Accounts" --filter-file ./filter.xml
ppds forms list --entity account
Common mistakes (do not invent these)
| Wrong | Correct |
|---|---|
ppds metadata list-entities | ppds metadata entities |
ppds metadata entity account --attributes | ppds metadata attributes account |
ppds metadata create-table | ppds metadata entity create ... (check --help for flags) |
| Editing managed views/forms | edit in the unmanaged source environment instead |
| Forgetting publish | metadata edits need ppds metadata publish <names> (or ppds publish) to take effect in apps |
Skill boundaries
| Need | Use instead |
|---|---|
| The data inside the tables | ppds-query (reads/DML), ppds-data (bulk) |
| Ship schema changes to another environment | ppds-solutions-alm |
| Web resource files referenced by forms | ppds-webresources |
| Auth, environment selection, error codes | ppds-core |