Official agent skill

Preview Offline Scope

by microsoft in microsoft/power-platform-skills

A skill your agent uses when the user wants to estimate the download size + sync frequency cost of an offline profile BEFORE pushing to users.

OfficialMITAuto-check: notes

Install Preview Offline Scope

skills CLI
$ npx skills add microsoft/power-platform-skills --skill preview-offline-scope -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install microsoft/power-platform-skills preview-offline-scope --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/microsoft/power-platform-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/mobile-apps/skills/preview-offline-scope .claude/skills/preview-offline-scope && rm -rf skills-src

Use ~/.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/

Facts

Skill name
preview-offline-scope
GitHub stars
967
Token cost
~1.8k tokens
SKILL.md length
529 words
Files
1
Skills in repo
87
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when the user wants to estimate the download size + sync frequency cost of an offline profile BEFORE pushing to users.

  • Works in 5 steps: Verify project + locate profile → Run verify → Per-table row counts (with scope-applied… → …
  • The user wants to estimate the download size + sync frequency cost of an offline profile BEFORE pushing to users
  • SKILL.md covers Workflow, Status code (final line) and Notes
  • Calls node and npx

What it does

Preview Offline Scope is an agent skill from microsoft/power-platform-skills, published by the product's own GitHub organization. Use when the user wants to estimate the download size + sync frequency cost of an offline profile BEFORE pushing to users. Read-only. Wraps verify-offline-profile.js with per-table row-count estimates.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: A plugin marketplace for GitHub Copilot and other AI agents that provides Power Platform development plugins, including reusable skills, agents, and commands for building and… The licence is MIT.

When your agent uses it

  • The user wants to estimate the download size + sync frequency cost of an offline profile BEFORE pushing to users

Example prompts

  • “/preview-offline-scope”

Requirements

  • Node.js
  • Pre-approved tools (allowed-tools): Read, Bash, AskUserQuestion

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Verify project + locate profile
  2. Run verify
  3. Per-table row counts (with scope-applied filter)
  4. Cache-size estimate
  5. Report

What it can do on your machine

Read from SKILL.md and the folder at commit 5ef4e4f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Bash
    • AskUserQuestion

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • node
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Preview Offline Scope loads about 1.8k tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 529 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~56
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Bash, AskUserQuestion

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.

SKILL.md

The full file from microsoft/power-platform-skills at commit 5ef4e4f, republished under its MIT licence (© microsoft). 529 words, ~1,780 tokens.

Download SKILL.mdSave it as .claude/skills/preview-offline-scope/SKILL.md (or your agent's skills folder).
name
preview-offline-scope
description
Use when the user wants to estimate the download size + sync frequency cost of an offline profile BEFORE pushing to users. Read-only. Wraps verify-offline-profile.js with per-table row-count estimates.
allowed-tools
Read, Bash, AskUserQuestion
user-invocable
false
model
sonnet

Shared instructions: shared-instructions.md — read first.

Preview Offline Scope

Read-only diagnostic. Tells you "if you pushed this profile to users right now, here's what their devices would download and how often it would re-sync." No mutations.

Useful before:

  • /setup-offline-profile for a final sanity check
  • /assign-offline-profile (so users don't get surprised by data caps)
  • /edit-offline-profile to gauge impact of a column-list change

Workflow

  1. Verify project + locate profile → 2. Run verify (drift check) → 3. Per-table row counts → 4. Cache-size estimate → 5. Report

Step 1 — Verify project + locate profile

Same as /edit-offline-profile Step 1. Read profileId from offline-profile.json or $ARGUMENTS --profile-id. Do not read profile metadata from power.config.json; it is owned by npx power-apps init.

bash
test -f power.config.json
node "${PLUGIN_ROOT}/scripts/resolve-environment.js" "$(node -e \"console.log(require('./power.config.json').environmentId)\")"
Step 2 — Run verify

Telemetry checkpoint: verify_offline_profile_snapshot

bash
node "${PLUGIN_ROOT}/scripts/verify-offline-profile.js" <envUrl> \
  --project-root "$(pwd)"

If status: drift, surface the drift list verbatim. The estimate that follows is still meaningful but flag that the live profile diverges from offline-profile.json — recommend re-running /setup-offline-profile or /edit-offline-profile to reconcile.

Step 3 — Per-table row counts (with scope-applied filter)

Telemetry checkpoint: count_offline_profile_rows

For each table in the profile, run a count query that applies the same filter the runtime would use:

recorddistributioncriteriarecordsownedby* flagEffective filter
1 (All records)n/a?$count=true&$top=0 (whole table)
2 + merecordsownedbyme=true?$count=true&$top=0&$filter=_ownerid_value eq <current-user-id>
2 + teamrecordsownedbymyteam=trueApprox: _ownerid_value in (current user's team-owned IDs); for estimate, use team count from teamroles_association
2 + burecordsownedbymybusinessunit=true?$count=true&$top=0&$filter=_owningbusinessunit_value eq <current-bu-id>
0 (Related only)n/aCan't estimate independently — depends on parents. Report ~depends on parent counts.

For current-user/current-BU filters, resolve identity only inside this skill by calling Dataverse WhoAmI through scripts/dataverse-request.js against the resolved <envUrl>. If that call fails, report the affected scope as unknown — current user/BU unavailable instead of blocking the whole preview. Do not expect scripts/resolve-environment.js or auth.config.json.environment to provide UserId / BusinessUnitId.

For each table:

bash
node "${PLUGIN_ROOT}/scripts/dataverse-request.js" <envUrl> GET \
  "<entitysetname>?\$count=true&\$top=0&<scope-filter>"

Cap at 5000 (Dataverse non-aggregate count cap). When the result is exactly 5000, prefix with ≥ in the report.

Show full SKILL.md (224 more words)Show less
Step 4 — Cache-size estimate

Telemetry checkpoint: estimate_offline_cache_size

Rough byte-per-row heuristics (configurable; replace with measured values once we have a real sync benchmark):

Column typeBytes
Uniqueidentifier40
String (avg 80 chars)100
Integer / Decimal12
DateTime28
Boolean / State / Status4
Picklist (option value only)8
Memo (avg 500 chars)600
Lookup (FK only)40
Image (URL + thumbnail metadata only — see note below for full-image bytes)200
File (URL + name metadata)200

For each table, compute: estimatedBytesPerRow = sum(bytesForEach column in selectedcolumns). Then tableTotalBytes = rows × estimatedBytesPerRow.

Per-table sync overhead: each syncintervalinminutes interval triggers a delta query → assume ~20% of total rows touched on a typical day. dailyTransferBytes = (totalBytes × 0.20 × intervalsPerDay).

Step 5 — Report
═════════════════════════════════════════════════════════════
  Offline Scope Preview — <profileName>
═════════════════════════════════════════════════════════════

Drift status: ok | drift (see verify output)

Per-table breakdown:

| Table              | Scope          | Rows     | Cols | Est. bytes | Sync (min) |
|--------------------|----------------|----------|------|------------|------------|
| chnl_region        | All records    | 12       | 7    | 4 KB       | 60         |
| chnl_product       | All records    | 312      | 13   | 280 KB     | 60         |
| chnl_rmprofile     | Org+me         | 1        | 10   | 1 KB       | 10         |
| chnl_store         | Org+me         | 84       | 17   | 112 KB     | 10         |
| chnl_storevisit    | Org+me         | 412      | 13   | 220 KB     | 5          |
| chnl_order         | Org+me         | 156      | 14   | 95 KB      | 10         |
| chnl_orderline     | Related only   | ~depends | 11   | ~150 KB    | 10         |

Total initial download : ~860 KB (5000-rows cap not hit)
Daily transfer estimate: ~12 MB / device / day (assuming 20% delta rate)

Sync intervals per day:
  chnl_storevisit (5 min)  → 288 syncs/day  ⚠ high
  chnl_store      (10 min) → 144 syncs/day
  chnl_order      (10 min) → 144 syncs/day
  chnl_rmprofile  (10 min) → 144 syncs/day
  chnl_region     (60 min) → 24  syncs/day
  chnl_product    (60 min) → 24  syncs/day

Concerns:
  - chnl_storevisit at 5 min could exceed mobile data caps in low-signal areas
    (battery drain too). Consider 10 min unless 5 min is mission-critical.

Image / File bytes NOT counted by these heuristics. The metadata (URL +
thumbnail size) IS counted at 200 bytes/row, but the JPEG/file payload
itself transfers separately at runtime sync time. To estimate image
storage, multiply expected non-empty image rows × average JPEG size
(typically 10–500 KB per thumbnail).

Status code (final line)

  • DONE — estimate produced, no concerns
  • DONE_WITH_CONCERNS: <list> — estimate produced but flagged items (high sync rates, near-cap row counts, drift detected, etc.)
  • NEEDS_CONTEXT: <missing> — no profile to estimate against
  • BLOCKED: <reason> — auth or query failures

Notes

This skill is intentionally estimate-grade, not precise. The byte heuristics are rule-of-thumb; real cache size depends on Dataverse's storage layout + JSON serialization + per-device cache compression. The numbers are useful for comparative decisions (one scope vs another, one column list vs another), not for absolute capacity planning.

For precise figures, the only source of truth is the runtime sync log itself — only available once the app is deployed and an RM has signed in.

© microsoft, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/mobile-apps/skills/preview-offline-scope of microsoft/power-platform-skills.

Open the folder on GitHubat commit 5ef4e4f

Compare with similar skills

Preview Offline Scope 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.

Preview Offline Scope compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Preview Offline Scope this skillmicrosoft/power-platform-skills967—~1.8kAutomated safety check: NotesMIT
Video Downloadernexu-io/open-design100k—~339Automated safety check: PassApache-2.0
Video Downloaderdavila7/claude-code-templates32k5 repos~660Automated safety check: PassMIT
Export Download Debuggingnexu-io/open-design100k—~725Automated safety check: PassApache-2.0
Claude-Mem Cloud Syncthedotmack/claude-mem97k—~1kAutomated safety check: NotesApache-2.0
Langfuse Previewslangfuse/langfuse35k—~2.8kAutomated safety check: NotesCustom licence

Similar skills

  • Video Downloader

    nexu-io/open-design

    Download videos from YouTube and other platforms for offline viewing, editing, or archival with support for various formats and quality options.

    100k GitHub stars~339 tokensUpdated today
    Media & CreativeAuto-check passed
  • Video Downloader

    davila7/claude-code-templates

    Downloads videos from YouTube and other platforms for offline viewing, editing, or archival.

    32k GitHub starsUsed in 5 repos~660 tokens
    Media & CreativeAuto-check passed
  • Export Download Debugging

    nexu-io/open-design

    Diagnose and fix browser, preview, or Electron export/download failures, especially image export issues involving Save As, Blob/Data URLs, the File System Access API, createWritable failures, and 0…

    100k GitHub stars~725 tokensUpdated today
    DevelopmentAuto-check passed
  • Claude-Mem Cloud Sync

    thedotmack/claude-mem

    Checks claude-mem cloud sync status and guides you through connecting a cmem.ai Pro account without the sync token ever passing through the chat.

    97k GitHub stars~1k tokensUpdated today
    Agent WorkflowsAuto-check: notes
  • Langfuse Previews

    langfuse/langfuse

    Use Langfuse's disposable per-PR previews at pr-N.preview.langfuse.com (synthetic data only).

    35k GitHub stars~2.8k tokensUpdated today
    AI & LLM EngineeringAuto-check: notes
  • Agent skill for sync-coordinator - invoke with $agent-sync-coordinator

    74k GitHub starsUsed in 2 repos~4k tokens
    Auto-check passed

More from microsoft/power-platform-skills

All 87 skills in this repo
  • Manage Firewall

    microsoft/power-platform-skills

    Official

    Inspects and configures the web application firewall (WAF) in front of a Power Pages production site.

    967 GitHub stars~4.5k tokensUpdated today
    Auto-check: notes
  • Manage Headers

    microsoft/power-platform-skills

    Official

    Inspects and configures the security headers a Power Pages site sends to browsers — Content Security Policy, frame and clickjacking protection, cross-origin sharing, cookie behavior, and related…

    967 GitHub stars~3k tokensUpdated today
    Auto-check: notes
  • Scan Code

    microsoft/power-platform-skills

    Official

    Scans a Power Pages site project for security issues in source code and dependencies.

    967 GitHub stars~3.4k tokensUpdated today
    Auto-check: notes
  • Scan Site

    microsoft/power-platform-skills

    Official

    Runs a security scan on a deployed Power Pages site, fetches the latest scan report, and produces a plain-language summary.

    967 GitHub stars~3.2k tokensUpdated today
    Auto-check: notes
  • Setup Datamodel

    microsoft/power-platform-skills

    Official

    Creates Dataverse tables, columns, and relationships for a Power Pages site based on a data model proposal.

    967 GitHub stars~4k tokensUpdated today
    Auto-check: notes
  • Add Server Logic

    microsoft/power-platform-skills

    Official

    Creates, edits, and manages Power Pages Server Logic files — server-side JavaScript that runs securely on the Power Pages runtime.

    967 GitHub stars~18k tokensUpdated today
    Auto-check: notes

Questions about Preview Offline Scope

What does Preview Offline Scope do?

A skill your agent uses when the user wants to estimate the download size + sync frequency cost of an offline profile BEFORE pushing to users. Preview Offline Scope is an agent skill from microsoft/power-platform-skills, published by the product's own GitHub organization. Use when the user wants to estimate the download size + sync frequency cost of an offline profile BEFORE pushing to users.

When should I use Preview Offline Scope?

Preview Offline Scope fits situations like: the user wants to estimate the download size + sync frequency cost of an offline profile BEFORE pushing to users.

How do I install Preview Offline Scope in Claude Code?

Run `npx skills add microsoft/power-platform-skills --skill preview-offline-scope -a claude-code`. Or copy the skill folder (plugins/mobile-apps/skills/preview-offline-scope in microsoft/power-platform-skills) into .claude/skills/preview-offline-scope in your project. Claude Code loads it when a task matches its description.

How do I install Preview Offline Scope in Codex?

Run `npx skills add microsoft/power-platform-skills --skill preview-offline-scope -a codex`. Or copy the skill folder (plugins/mobile-apps/skills/preview-offline-scope in microsoft/power-platform-skills) into .agents/skills/preview-offline-scope in your project. Codex loads it when a task matches its description.

Can I use Preview Offline Scope in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft/power-platform-skills --skill preview-offline-scope -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/preview-offline-scope, .gemini/skills/preview-offline-scope, .github/skills/preview-offline-scope and .opencode/skills/preview-offline-scope in your project.

What does Preview Offline Scope need to run?

Going by SKILL.md and its folder, Preview Offline Scope needs the command-line tools its instructions call (node and npx). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Read, Bash, AskUserQuestion.

Does Preview Offline Scope access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Preview Offline Scope safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Preview Offline Scope use?

Preview Offline Scope is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Preview Offline Scope use?

About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Preview Offline Scope?

Skills that share tags, products or a category with Preview Offline Scope: Video Downloader (nexu-io/open-design, 100k stars), Video Downloader (davila7/claude-code-templates, 32k stars), Export Download Debugging (nexu-io/open-design, 100k stars) and Claude-Mem Cloud Sync (thedotmack/claude-mem, 97k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Preview Offline Scope?

microsoft (a GitHub organization, an official publisher) maintains it in microsoft/power-platform-skills, which has 967 GitHub stars. The repository holds 87 skills in this directory. The repository was last updated on October 6, 2026.

Source: microsoft/power-platform-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.