CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

preview-offline-scope

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.

Quality

85%

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

81%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.

A well-engineered operational skill: fully sequenced workflow with explicit drift validation, graceful degradation, and a concrete output contract, plus executable commands and realistic heuristics. The remaining gaps are small — a duplicated shell-guard boilerplate, a missing WhoAmI command, an only-approximated team-scope filter, and heuristics tables that could be split into a reference file.

Suggestions

State the `cd -- '<working_dir>'` guard once as a precondition applying to every shell call, instead of repeating the four-line block in Steps 1–3 (conciseness).

Add the exact `WhoAmI` invocation via `dataverse-request.js` and a concrete query for the team-owned scope, so all five scope rows have executable commands rather than prose approximations (actionability).

Move the byte-per-row heuristics table and scope-filter mapping into a references/ file (e.g. estimate-heuristics.md) linked from Steps 3–4, keeping SKILL.md as overview plus workflow (progressive_disclosure).

DimensionReasoningScore

Conciseness

Dense and domain-specific throughout — the scope-filter table, byte heuristics, and report template all earn their tokens, and nothing explains concepts Claude already knows. It is not 5 because the `cd -- '<working_dir>' || { echo "BLOCKED..." }` guard block is repeated verbatim in three code snippets and "Read-only diagnostic ... No mutations" restates the description; not 3 because there is no real padding.

4 / 5

Actionability

Mostly executable: exact node CLI invocations with flags (`--tenant-id`, `--no-cache --require-tenant`), exact OData query strings for three of the five scopes, a numeric byte-per-row table, transfer formulas, and a complete report template. It is not 5 because the `WhoAmI` identity call is described in prose without its command line, and the team-owned scope filter is only approximated ("use team count from `teamroles_association`") with no concrete query; not 3 because the given commands are copy-paste ready, not pseudocode.

4 / 5

Workflow Clarity

The 5-step sequence is stated up front ("1. Verify project + locate profile → 2. Run verify → 3. Per-table row counts → 4. Cache-size estimate → 5. Report") and elaborated with explicit validation (drift check with "surface the drift list verbatim" and a reconcile recommendation), error-recovery paths (BLOCKED/NEEDS_CONTEXT exits, per-scope fallback "instead of blocking the whole preview"), and a terminal status-code contract. Not 4 because checkpoints and feedback loops are explicit rather than implicit.

5 / 5

Progressive Disclosure

Good structure for a self-contained skill: clear section headers, an upfront workflow summary, and well-signaled one-level-deep links to plugin-shared files (shared-instructions.md, app-working-directory.md); no bundle files exist to organize. It is not 5 because ~40 lines of estimate heuristics and the scope-filter mapping are inlined in a ~160-line file where a references/ file could carry them, and the sub-50-line exception does not apply; not 3 because nothing is buried and the inline content is core to execution.

4 / 5

Total

17

/

20

Passed

Description

87%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: third-person, compact, and concrete, with an explicit "Use when" trigger tied to a specific moment in the workflow (before pushing to users). Its only weakness is modest synonym coverage for users who might phrase the request as "cache size" or "data usage" instead of "download size".

DimensionReasoningScore

Specificity

Names several concrete actions — "estimate the download size + sync frequency cost of an offline profile", "per-table row-count estimates", "Wraps verify-offline-profile.js" — all specific rather than generic. It stays at 4 rather than 5 because coverage centers on two related estimate actions rather than a comprehensive list of capabilities, and at 3 because it goes beyond 1-2 actions with fully concrete phrasing.

4 / 5

Completeness

Explicitly answers both: what ("estimate the download size + sync frequency cost of an offline profile", "Read-only", "Wraps verify-offline-profile.js with per-table row-count estimates") and when ("Use when the user wants to estimate ... BEFORE pushing to users") with a concrete trigger scenario. Not 4 because the "when" is explicit and scenario-specific, not merely present.

5 / 5

Trigger Term Quality

Good natural keyword coverage: "estimate", "download size", "sync frequency", "offline profile", "BEFORE pushing to users" — phrases a user would plausibly say. Not 5 because common synonyms are missing ("cache size", "data usage", "bandwidth", "preview"); not 3 because the terms present are natural and domain-relevant rather than generic.

4 / 5

Distinctiveness Conflict Risk

Clear niche — read-only pre-push cost estimation of an offline profile — with distinct trigger framing that separates it from sibling setup/edit/assign skills. Not 4 because the "Read-only" + "estimate ... BEFORE pushing" positioning makes overlap with mutating sibling skills minimal.

5 / 5

Total

18

/

20

Passed

Validation

75%

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

Validation — 12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

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: 2 missing, 2 deeper-than-1-level

Warning

referenced_paths_exist

Referenced path issues: 2 missing

Warning

Total

12

/

16

Passed

Repository

microsoft/power-platform-skills

Path

plugins/mobile-apps/skills/preview-offline-scope/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.