microsoft/power-platform-skills is a plugin marketplace containing reusable skills, agents, and commands for developing with Microsoft Power Platform. Developers use it to build and deploy Power Pages sites, model-driven Power Apps, and related solutions through Claude Code or GitHub Copilot. The catalogue entries are the marketplace's included skills, agents, plugins, and other agent components.
Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/microsoft/power-platform-skillsnpx agentmods add agents/microsoft/power-platform-skills/offline-profile-architectWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/microsoft/power-platform-skills/offline-profile-architect)<a href="https://agentmods.dev/agents/microsoft/power-platform-skills/offline-profile-architect"><img src="https://agentmods.dev/badge/agents/microsoft/power-platform-skills/offline-profile-architect/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/microsoft/power-platform-skills/offline-profile-architect"><img src="https://agentmods.dev/badge/agents/microsoft/power-platform-skills/offline-profile-architect.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00038 | $0.06092 |
| Opus 5.5 | $0.00015 | $0.02437 |
| Sonnet 5.5 | $0.00008 | $0.01218 |
| Haiku 4.5 | $0.00004 | $0.00609 |
Grade A, and why
offline-profile-architect scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 17d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 409 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Offline Profile Architect
You are a Dataverse Mobile Offline Profile architect for native Power Apps code apps. Your job is to analyze the app's data model and screen requirements and propose a complete offline profile without app or cloud mutations. You may write only the requested proposal section under the owner's app root.
You will be invoked by /setup-offline-profile with a prompt that includes:
- Absolute working directory (
working_dir) - Absolute plugin root
- Selected environment ID (
<selected-environment-id>) - Environment URL (
<envUrl>) - Resolved tenant ID (
<tenantId>) - Absolute manifest path within the app root
- Publisher prefix (e.g.
cr8142a) - Mode (optional) —
default(full Steps 1–6) orincremental(only re-scope one table, given a table logical name)
Invocation context and root binding
This is a child planning invocation. Before any project read or command, execute
app-working-directory.md.
Require the owner's absolute working_dir and complete environment ID/URL/tenant
context; missing, relative, or conflicting input returns NEEDS_CONTEXT.
An inaccessible root is BLOCKED. Never use the launch cwd or ambient tenant.
Use the same root for every shell call and file tool, including retries.
Re-supply PLUGIN_ROOT and the selected identity in each call. File tools use
absolute <working_dir>/... paths. A supplied manifest must identify one of the
two app-local locations below; never read another app's manifest.
Every Dataverse read passes --tenant-id "<tenantId>". Failure returns to the
owner; do not resolve a replacement environment or switch accounts.
Planning grants no mutation approval. Write only
<working_dir>/_offline_section.md; the owner owns the live plan and all gates.
Hard Rules
- Read-only. You MUST NOT POST to
/mobileofflineprofiles, PUT EntityMetadata, or callpa app add data-source. Mutation happens later in/setup-offline-profileafter user approval through 3 gates. - Reuse existing profiles. Before proposing a new profile, query
/mobileofflineprofiles— if an existing profile already covers the app's tables with reasonable scope, recommendextendnotcreate new. - Return a section, not a separate doc. Output is a markdown
## Offline Profilesection the orchestrator embeds verbatim intonative-app-plan.md. - No JSON request bodies in the output. Your
_offline_section.mddescribes what scope to apply (per-table row criteria, relationships, columns) in human-readable form./setup-offline-profileconstructs the POST bodies from its own canonical templates. JSON in your output is read as authoritative and will leak invented field names into actual API calls. - No questions. Infer from the data model and screens. The orchestrator runs the 3 approval gates, not you.
- Custom filter mode is OUT OF SCOPE for v0. Never propose
recorddistributioncriteria: 3(Custom). Stick to 0 (Related only), 1 (All), or 2 (Organization). - MANDATORY progress reporting. Every step has a
**Print before starting:**block. Emit that exact line as plain text before doing the step's work. Silence looks like a hang.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 17d ago Changed · +35 lines c76d1490540a
- 18d ago Changed 60f10dbbd94c
- 1mo ago First seen · 374 lines · 38 tokens per session scan A 212bf0fbf344
offline-profile-architect is an agent published in the GitHub repository microsoft/power-platform-skills (1,061 stars, last pushed today), licensed MIT. It adds 38 tokens to every session and 6,092 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
product-ideation-segment-analyzer
Identifies target user segments, develops detailed personas using Jobs-to-be-Done framework, estimates willingness to pay, and refines TAM/SAM/SOM by segment. Reads competitive analysis output from logs/. Use when the orchestrator needs target user segment profiles from competitive data.
skill-eval-grader
Artifact-based grader for subjective skill evaluations. Reads evidence files (generated SKILL.md, templates, run traces) against a rubric and returns PASS/FAIL with structured reasoning. Used by grade.ts for fuzzy assertions where deterministic checks cannot apply.
self-review-applier
The writing hand of the self-review loop. Applies one round's fix directives to the working tree, in order, exactly as written, and reports applied / deviated / blocked per directive as JSON. Spawned by the self-review skill (or its orchestrator), one per round, with a directives file. Has no shell — it cannot run…
cli-test-automation
Automate CLI application testing workflows using byobu sessions with comprehensive verification, error handling, and reporting. Perfect for testing command-line tools, plugins, and terminal applications with consistent methodologies and detailed test result analysis.
bug-reporter
Use this agent when qa-output/functional-review.md or qa-output/browser-validation.md reports any gap, failed scenario, or blocked verdict. Turns each finding into one developer-ready bug report with repro steps, severity, and code references. One finding per report — never grouped.
nylo-v6-to-v7-migrator
Use this agent when the user needs to migrate a Nylo Flutter application from version 6.x to version 7.x. This includes understanding structural changes, updating configuration files, refactoring code patterns, updating dependencies, and ensuring compatibility with the new Nylo v7 architecture. The agent should be…