CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

enable-tables-offline

Internal mobile-app workflow read and executed only by /setup-offline-profile to enable Dataverse table prerequisites for a Mobile Offline Profile.

Quality

77%

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/enable-tables-offline/SKILL.md
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: precise commands, explicit gating, verification, and error recovery, with lean domain-specific guidance throughout. The only real costs are verbatim repetition of the root-guard preamble across code blocks, a templated PublishXml body, and reliance on plugin-root files outside the evaluated bundle. These are minor and do not impede correct execution.

DimensionReasoningScore

Conciseness

The body is dense and operational with no explanations of concepts Claude already knows — Dataverse-specific behaviors (metadata serialization lock, MSCRM.MergeLabels, PublishXml vs PublishAllXml) are genuinely non-obvious domain knowledge. Minor over-explanation/trimmable repetition remains: the `cd -- '<working_dir>' || { echo "BLOCKED…"; exit 1; }` guard is repeated verbatim in all six code blocks, and NEEDS_CONTEXT rules are restated across sections — anchor 4, not 5 ('every token earns its place').

4 / 5

Actionability

Concrete, near copy-paste bash commands with exact API paths, helper scripts, flags, tenant arguments, and expected response codes (204/no-op/403/429) cover the common cases. The one notable gap keeps it below anchor 5: the targeted PublishXml example embeds a `<table>` template placeholder inside the ParameterXml JSON body and instructs manual substitution, so it is a template rather than a fully executable example.

4 / 5

Workflow Clarity

A seven-step sequence is stated up front, then elaborated with explicit checkpoints: auth/environment match (Step 1), an approval gate comparing the status table to the approved delta, a hard IsCustomizable rule, sequential PUT discipline with a concurrency warning, re-GET verification with BLOCKED on mismatch (Step 6), and error-recovery paths (401 refresh, 429 back-off, 0x80071151 fallback) plus a closing status-code contract — matching anchor 5's 'explicit validation steps; feedback loops for error recovery'.

5 / 5

Progressive Disclosure

The file opens with a clearly signaled, one-level-deep reference list (shared-instructions.md 'read first', offline-profile-schema.md with its purpose) and the body splits core workflow from helpers appropriately. It stays at anchor 4 rather than 5 because the referenced files and scripts live under ${PLUGIN_ROOT} and none are present in this skill's bundle to verify, and the long inline root-binding/invocation-context section arguably belongs in the shared instructions it links to.

4 / 5

Total

17

/

20

Passed

Description

66%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 accurate, distinctive, and correctly scoped for an internal, orchestrator-invoked skill, with both what it does and who invokes it stated. Its main weaknesses are thin action specificity — it never says what 'prerequisites' concretely means — and limited natural-language trigger variation. Adding one clause naming the two flags and common user phrasings would lift it toward top scores.

Suggestions

State the concrete operation instead of the generic 'enable prerequisites' — e.g., 'set IsAvailableOffline=true and ChangeTrackingEnabled=true on Dataverse tables and publish, so they can be added to a Mobile Offline Profile.'

Include the natural trigger phrases users actually say — 'can be taken offline', 'track changes', 'change tracking', 'offline sync' — so the vocabulary matches how the need is expressed.

Briefly indicate when in the orchestrator's flow this runs (e.g., 'invoked when /setup-offline-profile needs table prerequisites before adding tables to the profile') to make the 'when' fully explicit.

DimensionReasoningScore

Specificity

"enable Dataverse table prerequisites for a Mobile Offline Profile" names a specific domain and one concrete action, but does not list the actual operations (e.g., setting IsAvailableOffline/ChangeTrackingEnabled flags, publishing) — matching the anchor for 1-2 concrete actions without comprehensive coverage. It is above anchor 2 because the domain is far more specific than a bare 'Processes X files' phrase.

3 / 5

Completeness

The 'what' is clear ("enable Dataverse table prerequisites for a Mobile Offline Profile") and the 'when' is explicit ("read and executed only by /setup-offline-profile"), which counts as equivalent explicit trigger guidance and avoids the cap at 3. It falls short of anchor 5 because there is no fuller 'use when' trigger phrase describing the condition or phase in which the orchestrator invokes it.

4 / 5

Trigger Term Quality

Terms like "Dataverse", "Mobile Offline Profile", and "offline" are relevant natural keywords, but common variations users would say — "track changes", "change tracking", "can be taken offline", "sync" — are absent. This fits 'some relevant keywords but missing common variations or synonyms' rather than anchor 4's good coverage.

3 / 5

Distinctiveness Conflict Risk

"read and executed only by /setup-offline-profile" combined with the niche Dataverse/Mobile Offline Profile vocabulary gives a clearly bounded trigger with minimal conflict risk against other skills — a clear match for the anchor 5 example.

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

Warning

Total

13

/

16

Passed

Repository

microsoft/power-platform-skills

Path

plugins/mobile-apps/skills/enable-tables-offline/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.