CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

setup-offline-profile

Use when the user wants to enable offline mode for a Power Apps mobile app and create a Mobile Offline Profile in Dataverse — designs per-table row scope, relationships, columns, and sync frequency through a 3-gate approval flow.

Quality

84%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

77%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

An exceptionally actionable, well-sequenced wizard whose commands, decision tables, and error-recovery paths are copy-paste ready, with validation and resume logic that fully de-risks the mutating Dataverse operations. Its weaknesses are token weight (boilerplate repetition and historical rationale prose) and a monolithic structure that inlines detail the referenced files should carry.

Suggestions

Move the Step 9 canonical offline-profile.json schema, schema invariants, and field-rationale table into offline-profile-schema.md, keeping only the field map and the illustrative example inline.

Extract the publish error recipes (0x80071141 cycle handling, 0x80071140 fallback, PublishAllXml timeout protocol) into dataverse-offline-api.md and keep one-line pointers plus the decision rules in the body.

Trim the repeated `cd -- '<working_dir>' || { echo "BLOCKED…"; exit 1; }` guard (state the binding once in the App-root binding section) and condense design-rationale/history blockquotes and empirical date stamps into a short changelog or old-patterns section.

DimensionReasoningScore

Conciseness

The body is dense operational instruction with no teaching of concepts Claude already knows, but it is padded by a repeated `cd -- '<working_dir>' || …` guard in every code block, multi-paragraph design-rationale/history blockquotes (e.g. the Step 3.5 rationale and the "chanel-rm and FCB Tracker" note), and inline empirical date stamps ("Empirical 2026-05-24") — more than minor over-explanation, so it sits at the midpoint rather than 4.

3 / 5

Actionability

Every step ships copy-paste-ready bash via the dataverse-request.js wrapper with full JSON bodies, exact OData queries, decision tables mapping conditions to actions, and specific error codes (0x80071141, 0x80071140) with concrete recovery commands — fully executable and covering common failure cases.

5 / 5

Workflow Clarity

The 10-step workflow is explicitly sequenced with per-step telemetry checkpoints, an interactive approval flow, a dedicated verify step (9.5) with drift handling, pre-publish cycle detection, resume/idempotency logic, and a failure-recovery table — explicit validation and feedback loops throughout a mutating batch operation.

5 / 5

Progressive Disclosure

References are clearly signaled at the top, but the skill is a ~800-line monolith that inlines material belonging in the referenced files (the full canonical offline-profile.json schema plus a field-rationale table despite a schema reference existing, publish error recipes, timeout protocols), and no local bundle files (references/, scripts/, assets/) exist — above the "buried references" anchor but with substantial inline content that should be split out.

3 / 5

Total

16

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description that clearly and concretely states both what the skill does and when to use it, with an explicit trigger clause and specific capability list. The only gap is a handful of natural synonym phrases (e.g. "work offline", "offline sync") that could broaden trigger matching.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — "enable offline mode for a Power Apps mobile app", "create a Mobile Offline Profile in Dataverse", "designs per-table row scope, relationships, columns, and sync frequency" — comprehensively covering the skill's design surface in third-person voice.

5 / 5

Completeness

It explicitly answers both questions: an explicit "Use when the user wants to enable offline mode…" trigger clause and a concrete what via "designs per-table row scope, relationships, columns, and sync frequency through a 3-gate approval flow".

5 / 5

Trigger Term Quality

Natural phrases like "offline mode", "Power Apps mobile app", "Mobile Offline Profile", and "Dataverse" are present, but common synonyms such as "work offline", "offline access", or "offline sync" are missing — good coverage with a few natural terms absent.

4 / 5

Distinctiveness Conflict Risk

The niche (creating Mobile Offline Profiles in Dataverse for Power Apps native apps) is distinct; sibling skills like /edit-offline-profile and /assign-offline-profile have clearly different triggers, so conflict risk is minimal.

5 / 5

Total

19

/

20

Passed

Validation

68%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 11 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (820 lines); consider splitting into references/ and linking

Warning

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

relative_links

Relative link issues: 10 missing, 10 deeper-than-1-level

Warning

referenced_paths_exist

Referenced path issues: 2 missing

Warning

Total

11

/

16

Passed

Repository

microsoft/power-platform-skills

Path

plugins/mobile-apps/skills/setup-offline-profile/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.