Agent skill · Audited from source
Setup Datamodel
skill · microsoft/power-platform-skillsMIT licenceAudited 18 Oct 2026 · source 8075ef5705c5
Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit 8075ef5705c5 and observed filesystem access and no hard-coded secrets. What it does: Creates Dataverse tables, columns, and relationships for a Power Pages site based on a data model proposal. Use when the user wants to set up the data model, create database tables, or build the Dataverse schema for…
Cite
Cite this page
ModelsAtlas. “Setup Datamodel (microsoft/power-platform-skills)”. Retrieved 18 Oct 2026. https://modelsatlas.com/skills/microsoft/setup-datamodel
Trust audit
Audit 0.4.1 · source read 18 Oct 2026
SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 13,985 of 14,816 audited skills.
What the source does
- FilesystemDeclared1 observation
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | PASS | 1 |
L2 Instructions | Prompt injection, authority framing, hidden directives | PASS | 0 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (1)
LOWFilesystem / pathfs.traversal · scripts/validate-datamodel.js:10
const { approve, block, runValidation, findPath, getAuthToken, makeRequest, getEnvironmentUrl } = require('../../../scripts/lib/validation-helpers');- Why
- No further detail recorded for this rule.
- Fix
- —
Audit 0.4.1 · source sha 8075ef5705c5 · 18 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publishermicrosoft GitHub organizationOwner of the repository this skill is read from
- Source foldermicrosoft/power-platform-skills/plugins/power-pages/skills/setup-datamodelThe exact folder we audited
- LicenceMITAs the repository states it
- Commit pinned for this verdict8075ef5705c5A new audit runs when the source changes
- Repository statusNot archivedPushed today
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Creates Dataverse tables, columns, and relationships for a Power Pages site based on a data model proposal. Use when the user wants to set up the data model, create database tables, or build the Dataverse schema for…
---
name: setup-datamodel
description: >-
Creates Dataverse tables, columns, and relationships for a Power Pages site based on a data
model proposal. Use when the user wants to set up the data model, create database tables,
or build the Dataverse schema for their site.
user-invocable: true
allowed-tools: Read, Write, Bash, Grep, Glob, AskUserQuestion, Task, TaskCreate, TaskUpdate, TaskList, mcp__plugin_power-pages_microsoft-learn__microsoft_docs_search, mcp__plugin_power-pages_microsoft-learn__microsoft_code_sample_search, mcp__plugin_power-pages_microsoft-learn__microsoft_docs_fetch
model: opus
---
> **Plugin check**: Run `node "${PLUGIN_ROOT}/scripts/check-version.js"` — if it outputs a message, show it to the user before proceeding.
# Set Up Dataverse Data Model
Guide the user through creating Dataverse tables, columns, and relationships for their Power Pages site. Follow a systematic approach: verify prerequisites, obtain a data model (via AI analysis or user-provided diagram), review and approve, then create all schema objects via OData API.
## Core Principles
- **Never create without approval**: Always present the full data model proposal and get explicit user confirmation before making any Dataverse changes.
- **Use TaskCreate/TaskUpdate**: Track all progress throughout all phases — create the todo list upfront with all phases before starting any work.
- **Resilient execution**: Refresh tokens proactively, check for existing tables before creating, and report failures without automated rollback.
**Initial request:** $ARGUMENTS
---
## Phase 1: Verify Prerequisites
**Goal**: Confirm PAC CLI authentication, acquire an Azure CLI token, and verify API access
**Actions**:
1. Create todo list with all 8 phases (see [Progress Tracking](#progress-tracking) table)
2. Follow the prerequisite steps in `${PLUGIN_ROOT}/references/dataverse-prerequisites.md` to verify PAC CLI auth, acquire an Azure CLI token, and confirm API access. Note the environment URL as `<envUrl>` for subsequent script calls.
**Output**: Verified PAC CLI auth, valid Azure CLI token, confirmed API access, `<envUrl>` noted
---
## Phase 2: Choose Data Model Source
**Goal**: Determine whether the user will upload an existing ER diagram or let AI analyze the site
**Actions**:
<!-- gate: setup-datamodel:2.source | category=plan | cancel-leaves=nothing -->
> 🚦 **Gate (plan · setup-datamodel:2.source):** Decide whether the user uploads an existing ER diagram or the data-model-architect agent infers the model. Choice routes the rest of the skill into Path A vs Path B.
>
> **Trigger:** Entering Phase 2.
> **Why we ask:** Auto-picking either path can run a multi-minute architect agent against the wrong intent (Path B) or skip Dataverse-existence checks (Path A).
> **Cancel leaves:** Nothing — no Dataverse calls made yet.
1. Ask the user how they want to define the data model using the `AskUserQuestion` tool:
**Question**: "How would you like to define the data model for your site?"
| Option | Description |
|--------|-------------|
| **Upload an existing ER diagram** | Provide an image (PNG/JPG) or Mermaid diagram of your existing data model |
| **Let the Data Model Architect figure it out** | The Data Model Architect will analyze your site's source code and propose a data model automatically |
2. Route to the appropriate path:
### Path A: Upload Existing ER Diagram
If the user chooses to upload an existing diagram:
1. Ask the user to provide their ER diagram. Supported formats:
- **Image file** (PNG, JPG) — Use the `Read` tool to view the image and extract tables, columns, relationships, and cardinalities from it
- **Mermaid syntax** — The user can paste Mermaid ER diagram text directly in chat
- **Text description** — A structured list of tables, columns, and relationships
2. Parse the diagram into the same structured format used by the data-model-architect agent:
- Publisher prefix (ask the user, or retrieve from the environment via `pac env who`)
- Table definitions: `logicalName`, `displayName`, `status` (new/modified/reused), `columns`, `relationships`
- Column definitions: `logicalName`, `displayName`, `type`, `required`
- Relationship definitions: type (1:N or M:N), referenced/referencing tables
3. Query existing Dataverse tables (same as Phase 3 would) to mark each table as `new`, `modified`, or `reused`.
4. Generate a Mermaid ER diagram from the parsed data (if the user provided an image or text) for visual confirmation.
5. Proceed directly to **Phase 4: Review Proposal** with the parsed data model.
### Path B: Let the Data Model Architect Figure It Out
If the user chooses to let the Data Model Architect figure it out, proceed to **Phase 3: Invoke Data Model Architect** (the existing automated flow).
**Output**: Data model source chosen and, for Path A, parsed data model ready for review
---
## Phase 3: Invoke Data Model Architect
**Goal**: Spawn the data-model-architect agent to autonomously analyze the site and propose a data model
**Actions**:
1. Use the `Task` tool to spawn the `data-model-architect` agent. This agent autonomously:
- Analyzes the site's source code to infer data requirements
- Queries existing Dataverse tables via OData GET requests
- Identifies reuse opportunities (reuse, extend, or create new)
- Proposes a complete data model with an ER diagram
2. Spawn the agent:
```
Task tool:
subagent_type: general-purpose
prompt: |
You are the data-model-architect agent. Follow the instructions in
the agent definition file at:
${PLUGIN_ROOT}/agents/data-model-architect.md
Analyze the current project and Dataverse environment, then propose
a complete data model. Return:
1. Publisher prefix
2. Table definitions (logicalName, displayName, status, columns, relationships)
3. Mermaid ER diagram
```
3. Wait for the agent to return its structured proposalExcerpt, first 6,001 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit 8075ef5
git clone https://github.com/microsoft/power-platform-skills git -C power-platform-skills checkout 8075ef5705c5
The author documents no install command, so this uses the repository directly. Our verdict covers commit 8075ef5705c5 only.
Works in
The author has not said which agents this skill supports, and we have not tested it in any.
Audit history
Every audit, every source change
- ✓SAFE B 89 / 100
first audit · source
8075ef5705c5
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/microsoft/setup-datamodel/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
microsoft/power-platform-skills
Activates and provisions a Power Pages website in a Power Platform environment via the Power Platform REST API. Use when the user wants to activate, provision, turn on, or enable a Power Pages website or portal.
microsoft/power-platform-skills
Adds Azure DevOps connector to a Power Apps code app. Use when querying work items, creating bugs, managing pipelines, or making ADO API calls.
microsoft/power-platform-skills
Integrates Power Automate cloud flows into a Power Pages site. Lists available flows, suggests relevant ones based on intent, identifies scenarios and web roles, creates metadata files, and generates client-side code to…
microsoft/power-platform-skills
Adds any Power Platform connector to a Power Apps code app. Generic fallback for connectors not covered by a specific skill.
microsoft/power-platform-skills
Guide the user to add a data source, connection, or API connector to a Canvas App via Power Apps Studio, then verify and continue. USE WHEN the user asks to add a data source, add a connection, add an API, add a…
microsoft/power-platform-skills
Adds a data source or connector to a Power Apps code app. Asks what the user wants to accomplish and routes to the appropriate specialized skill.
Add this badge to your README
[](https://modelsatlas.com/skills/microsoft/setup-datamodel/)
<a href="https://modelsatlas.com/skills/microsoft/setup-datamodel/"><img src="https://modelsatlas.com/skills/microsoft/setup-datamodel/badge.svg" alt="ModelsAtlas: SAFE B"></a>
Questions about Setup Datamodel
What does the Setup Datamodel skill do?
Is Setup Datamodel safe to install?
What can Setup Datamodel access on my machine?
How current is this page?
Sources
- github.com/microsoft/power-platform-skills/tree/main/plugins/pow — the audited source at commit 8075ef5705c5 and every finding aboveObserved · 18 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the Setup Datamodel skill do?
- Is Setup Datamodel safe to install?
- What can Setup Datamodel access on my machine?