Agent skill · Audited from source
Ensure Pipelines Host
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: Ensures the tenant has a usable Power Platform Pipelines host environment before any pipeline operation runs. Detects host state via the same resolution order as the Power Apps UI (org-db setting → BAP env metadata →…
Cite
Cite this page
ModelsAtlas. “Ensure Pipelines Host (microsoft/power-platform-skills)”. Retrieved 18 Oct 2026. https://modelsatlas.com/skills/microsoft/ensure-pipelines-host
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
- FilesystemUndeclared2 observations, not in its own description
- 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 | 2 |
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 (2)
LOWFilesystem / pathfs.traversal · scripts/validate-ensure-host.js:27
} = require('../../../scripts/lib/validation-helpers');- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · scripts/validate-ensure-host.js:28
const { almPath } = require('../../../scripts/lib/alm-paths');- 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/ensure-pipelines-hostThe 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: Ensures the tenant has a usable Power Platform Pipelines host environment before any pipeline operation runs. Detects host state via the same resolution order as the Power Apps UI (org-db setting → BAP env metadata →…
---
name: ensure-pipelines-host
description: >-
Ensures the tenant has a usable Power Platform Pipelines host environment
before any pipeline operation runs. Detects host state via the same
resolution order as the Power Apps UI (org-db setting → BAP env metadata →
default-custom-host setting); if any existing host (Platform or Custom) is
found, uses it. If no host is bound to the source env, provisions a new
**Platform Host** (recommended, idempotent) or a **Custom Host** via the
BAP env-create API with the `D365_ProjectHost` template, or guides the user
through PPAC install / `New custom host` (manual fallbacks). Polls
lifecycle operations, verifies the host responds to Pipelines API calls,
writes a host-check artifact other ALM skills consume. Use when asked to:
"set up pipelines host", "ensure pipelines host", "no pipelines host",
"install pipelines", "create pipelines host", "provision platform host",
"provision custom host". Also invoked transparently by
/power-pages:setup-pipeline when its host discovery step finds nothing.
user-invocable: true
argument-hint: "Optional: 'detect-only' to skip provisioning paths and report state; 'auto-platform' to run the Platform-Host fast-path (idempotent, ~3–5 min) without the path-decision prompt (still gated by tenant pre-call confirmation); 'auto-custom' to run the Custom-Host fast-path without the path-decision prompt (still gated by tenant + admin-role + pre-call-echo prompts)"
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TaskCreate, TaskUpdate, TaskList, AskUserQuestion, mcp__plugin_power-pages_microsoft-learn__microsoft_docs_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.
<!-- alm-lint-ignore: SKILL-must-read-manifest — this skill manages the Pipelines host environment (deploymentenvironments / deploymentpipelines tables on the host), not the source-env solution. The site's .solution-manifest.json is irrelevant to host lifecycle: a host can be provisioned before any solution exists, and a single host is shared across many solutions. ALM-aware-by-default does not apply. -->
# ensure-pipelines-host
> **Scope:** When no host is bound to the source env, this skill detects any existing host (Custom or PE) for reuse, or — in `NoHost` state — offers three provisioning paths: a new **Platform Host** (recommended; idempotent, ~3–5 min); a new **Custom Host** (admin-only, ~5–10 min); or PPAC manual provisioning (fallback). Implementation details — endpoint names, template names, BAP audience — live in Phase 4.0 / 4.A / 4.C below; user-facing prose stays focused on outcomes.
Power Platform Pipelines need a **host environment** — a Dataverse environment with the *Power Platform Pipelines* managed solution installed, where pipelines, stages, run history, and artifacts live. The existing `setup-pipeline` and `deploy-pipeline` skills assume a host is already configured. This skill closes that gap.
## What we know (sources of truth)
This plan is grounded in three primary sources, in priority order:
1. **`useGetOrCreatePlatformEnvironment.v4.ts`** (Microsoft-internal client source — `power-platform-ux/packages/powerapps-appdeployment-ux/src/hooks/v4/`). Defines the exact HTTP contract for Platform Environment provisioning: endpoint, body, headers, polling.
2. **`ProjectHostProvider.tsx`** (same repo, `src/components/ProjectHostProvider/`). Defines the exact resolution order the Power Apps UI uses to determine which environment is the project host for a source environment. We mirror that order so this skill agrees with the UI.
3. **eng.ms `createcustompipelineshost`** (Microsoft-internal). Documents the Custom Host fast-path: a `D365_ProjectHost` org template that ships the Pipelines app pre-installed, callable through the standard environment-creation API.
Public Microsoft Learn (`learn.microsoft.com/power-platform/alm/{platform-host-pipelines, custom-host-pipelines, set-a-default-pipelines-host}`) is the user-facing description of the same flows; we cite it for behaviors users will recognize. HARs in `PipelinesDeployScenario.har` and `Pipelines.har` confirm the read-side calls.
## Three host shapes the tenant can be in
| Shape | How it got there | Where it lives | Org template |
|---|---|---|---|
| **Platform Host (PE)** | Auto-provisioned by `getOrCreate` BAP call (or as a side-effect of first navigation to the Pipelines page in `make.powerapps.com`). Hidden from the env picker. One per tenant. | Microsoft-managed Dataverse env in tenant's home geo | `D365_1stPartyAdminApps` |
| **Custom Host** | Created by an admin via PPAC `Deployments → New custom host`, or via the standard env-create API with the `D365_ProjectHost` template, or by installing the Power Platform Pipelines app on an existing Dataverse env. | A regular Dataverse env in the tenant | `D365_ProjectHost` (or app-installed-onto-existing-env) |
| **No host bound to source env** | Tenant has not used Pipelines from this env. | — | — |
The current `discover-pipelines-host.js` only checks the tenant-level `DefaultCustomPipelinesHostEnvForTenant` setting. That's one signal of many. This skill implements the full resolution order.
## Resolution order (mirrors `ProjectHostProvider.tsx`)
This is the load-bearing decision tree. It is what the Power Apps UI does. We replicate it so the skill agrees with the UI.
```
┌─────────────────────────────────────────────────────────────────────┐
│ 1. GetOrgDbOrgSetting('ProjectHostEnvironmentId') on source env │
└──────────────────────────┬──────────────────────────────────────────┘
│
┌──────────────┴───────────────┐
│ value present │ value empty
▼ ▼
┌───────────────────────┐ ┌────────────────────────────┐
│ 2. Resolve envExcerpt, first 6,000 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/ensure-pipelines-host/)
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/ensure-pipelines-host/)
<a href="https://modelsatlas.com/skills/microsoft/ensure-pipelines-host/"><img src="https://modelsatlas.com/skills/microsoft/ensure-pipelines-host/badge.svg" alt="ModelsAtlas: SAFE B"></a>
Questions about Ensure Pipelines Host
What does the Ensure Pipelines Host skill do?
Is Ensure Pipelines Host safe to install?
What can Ensure Pipelines Host 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 Ensure Pipelines Host skill do?
- Is Ensure Pipelines Host safe to install?
- What can Ensure Pipelines Host access on my machine?