CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

add-table-to-offline-profile

Internal mobile-app workflow read and executed only by mobile orchestrators to add one Dataverse table to an existing Mobile Offline Profile.

Quality

75%

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

Fix and improve this skill with Tessl

tessl review fix ./plugins/mobile-apps/skills/add-table-to-offline-profile/SKILL.md
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.

The body is a dense, highly operational runbook: concrete commands, strong validation gates, and well-signaled one-level references. Its main costs are repetition of the shell guard and gating prose, plus a couple of schematic code templates that keep it just short of copy-paste readiness.

Suggestions

State the canonical Bash guard once in the root-binding section and abbreviate subsequent code blocks to 'guarded call:' plus the command, cutting significant repeated tokens.

Replace the schematic elements — the selectedcolumns '{"Columns":[...]}' body and Step 6's ParameterXml — with one fully instantiated example so every block is copy-paste ready.

Consolidate the repeated NEEDS_CONTEXT/BLOCKED gate sentences in the invocation-context section into a single gate table; each is currently restated per sentence.

DimensionReasoningScore

Conciseness

No space is wasted explaining concepts Claude already knows, but the identical 'cd -- working_dir || BLOCKED' guard repeats verbatim in roughly ten code blocks, and the root-binding section restates gating language ('returns NEEDS_CONTEXT', 'do not ...') many times. Stating the guard and gates once and referencing them would tighten the document noticeably, matching the 'mostly efficient but could be tightened' anchor rather than the 'efficient; minor trims' one.

3 / 5

Actionability

Nearly every step ships a complete bash command with exact script paths, endpoints, flags, JSON bodies, and header capture (OData-EntityId), and placeholder substitution is explicitly governed. It falls short of fully copy-paste-ready: the selectedcolumns PATCH body elides the array ('{"Columns":[...]}') and Step 6's ParameterXml is a schematic template, so 'mostly executable with minor gaps' fits better than the top anchor.

4 / 5

Workflow Clarity

Steps 1-8 are explicitly sequenced with a one-line pipeline summary, and validation checkpoints are pervasive for this mutating/publishing workflow: environment-match verification, 'check the returned HTTP status, not just process exit', 401 refresh, confirm publication before Step 7, a circular-relationship recovery recipe, and a terminal status-code taxonomy with feedback loops. Matches the 'clear sequence with explicit validation steps and feedback loops' anchor.

5 / 5

Progressive Disclosure

The core procedure is inline while detail is delegated to clearly signaled, purpose-annotated references ('§4 + §7 — POST item + PATCH selectedcolumns', 'the schemaColumns baseline written in Step 7'), all one level deep with no nested reference chains. No local bundle directory exists to verify the ${PLUGIN_ROOT} targets, but the structure and navigation match the top anchor.

5 / 5

Total

17

/

20

Passed

Description

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

The description is precise, third-person, and defines a distinct niche, but it is a single-action statement without an explicit trigger ('Use when...') clause or coverage of the workflow's other operations. It reads more as a routing label for orchestrators than a self-contained what-and-when description.

Suggestions

Add an explicit trigger clause, e.g. 'Use when a table added via /add-dataverse needs to be available offline in an existing Mobile Offline Profile.'

Mention the additional concrete operations the workflow performs (enable offline/change-tracking flags, targeted publish, update offline-profile.json artifacts) so the 'what' is comprehensive rather than single-action.

Include one or two natural synonym phrases ('make a table available offline', 'offline sync') to broaden trigger term coverage.

DimensionReasoningScore

Specificity

The description names the domain ('Dataverse', 'Mobile Offline Profile') and one concrete action ('add one Dataverse table to an existing Mobile Offline Profile'), but lists no further actions such as prerequisite flagging, publishing, or artifact updates. It matches the '1-2 concrete actions, but not comprehensive' anchor, not the 'several specific actions' anchor above.

3 / 5

Completeness

The 'what' is clear and concrete, but there is no 'Use when...' clause or equivalent explicit trigger guidance — 'read and executed only by mobile orchestrators' states invocation routing, not when the skill applies. Per the judging guideline, a missing Use-when clause caps completeness at 3.

3 / 5

Trigger Term Quality

Includes good natural keywords for the niche — 'Dataverse', 'Mobile Offline Profile', 'mobile-app', 'offline', 'table' — but misses common variations a user or orchestrator might say ('offline sync', 'make available offline', 'profile item'). Fits 'good keyword coverage; a few natural terms missing', not the comprehensive synonyms/extensions anchor.

4 / 5

Distinctiveness Conflict Risk

'Add one Dataverse table to an existing Mobile Offline Profile' is a narrow, clearly bounded niche distinct from sibling skills (setup/edit offline profile), with minimal overlap risk. Matches the 'clear niche with distinct triggers' anchor.

5 / 5

Total

15

/

20

Passed

Validation

81%

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

Validation — 13 / 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: 9 missing, 9 deeper-than-1-level

Warning

Total

13

/

16

Passed

Repository

microsoft/power-platform-skills

Path

plugins/mobile-apps/skills/add-table-to-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.