CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

add-sample-data

Use when the user wants to seed Dataverse tables with realistic sample records so a freshly-scaffolded code app shows real-looking data on first launch. Generates contextually appropriate rows from each table's schema and inserts them in dependency order. Mirrors microsoft/power-platform-skills/power-pages/add-sample-data, adapted for mobile apps.

Quality

78%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Medium

Suggest reviewing before use

Fix and improve this skill with Tessl

tessl review fix ./plugins/mobile-apps/skills/add-sample-data/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

70%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 exceptionally actionable and the workflow is rigorously sequenced with validation checkpoints, failure handling, and a safe resume pattern. Its weaknesses are structural: heavy rule duplication and a monolithic length that inlines media, count-class, and resume policies that belong in separate reference files.

Suggestions

Move the media seeding policy (Step 4a media sections, Step 5d), the per-class row-count heuristics table, and the resume pattern (Step 5f) into a local references/ file (e.g. references/seed-policy.md), keeping SKILL.md to the core workflow with one-line links.

State the working-dir guard once as a convention ('every shell call starts with…') and remove the repeated 'cd -- <working_dir> || BLOCKED' boilerplate from all 10+ code blocks.

Consolidate the EntitySetName, tenant-binding, and scope rules, each stated 3-4 times across Steps 0-5 and Hard rules, into a single authoritative section referenced where needed.

DimensionReasoningScore

Conciseness

The ~630-line body is noticeably padded: the 'cd -- working_dir || BLOCKED' guard is repeated verbatim in 10+ code blocks, the EntitySetName rule is restated in Step 5a, 5c, Hard rules, and 5f, and the scope/tenant rules recur across Steps 0, 1, 2, 3, 5, and Hard rules. It avoids explaining known concepts (above anchor 1) but contains several duplicated, tighten-able sections that keep it below anchor 3.

2 / 5

Actionability

Fully executable throughout: exact OData query URLs (e.g. 'EntityDefinitions(LogicalName='<table>')/Attributes…'), copy-paste BATCH-RECORDS invocations with all flags, concrete JSONC payload examples with @odata.bind shapes, a per-class row-count table with numeric defaults, numeric media caps, and a worked preview table. Copy-paste ready with only intentional placeholders.

5 / 5

Workflow Clarity

Steps 0-6 are explicitly sequenced with a numbered overview, and validation is pervasive for these batch operations: the pre-seeding row-count check, per-batch seedTables/retiringTables re-check, option-set query before generation, plan-only boundary at Step 4d, and a complete resume feedback loop with explicit stop conditions. This matches the anchor-5 pattern of sequence plus validation plus error recovery.

5 / 5

Progressive Disclosure

References to shared bundle files (shared-instructions.md, app-working-directory.md, dataverse-reference.md) are clearly signaled, but the skill has no local references/ directory and inlines large blocks that belong in separate files — the full media seeding policy, the per-class count heuristics table, and the resume pattern all sit in a ~630-line SKILL.md. Structure exists and links are clear, so it sits at anchor 3 rather than the minimal-structure anchor 2, but well short of the well-split anchor 4.

3 / 5

Total

15

/

20

Passed

Description

83%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 with a clear explicit 'Use when…' trigger, a concrete what/when pairing, and natural domain vocabulary ('seed', 'sample records', 'Dataverse tables'). Its only weaknesses are minor: missing synonyms such as 'test data'/'demo data', and slight overlap exposure with the sibling power-pages add-sample-data skill it mirrors.

DimensionReasoningScore

Specificity

Lists several concrete actions — 'seed Dataverse tables with realistic sample records', 'Generates contextually appropriate rows from each table's schema', 'inserts them in dependency order' — with minor gaps in coverage (no mention of preview/approval or media seeding). It exceeds the 1-2-action anchor at 3 but is not comprehensive enough for 5.

4 / 5

Completeness

Explicitly answers both what ('Generates contextually appropriate rows from each table's schema and inserts them in dependency order') and when ('Use when the user wants to seed Dataverse tables with realistic sample records so a freshly-scaffolded code app shows real-looking data on first launch') with concrete trigger phrases. This matches the anchor-5 structure and is clearly above the 4 anchor whose 'when' is less specific.

5 / 5

Trigger Term Quality

'seed', 'sample records', 'realistic', 'Dataverse tables', and 'real-looking data' are natural user phrasings with good keyword coverage. Common synonyms like 'test data', 'demo data', or 'populate' are missing, so it falls short of the comprehensive-synonym anchor at 5.

4 / 5

Distinctiveness Conflict Risk

The niche (seeding Dataverse tables for freshly-scaffolded code apps) is distinct with minimal generic conflict, but it explicitly mirrors a sibling power-pages skill and operates near /add-dataverse, creating minor overlap risk with closely related skills. Mostly distinct, matching anchor 4 rather than the clear-niche anchor 5.

4 / 5

Total

17

/

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

Warning

referenced_paths_exist

Referenced path issues: 6 missing, 3 deeper-than-1-level

Warning

Total

11

/

16

Passed

Repository

microsoft/power-platform-skills

Path

plugins/mobile-apps/skills/add-sample-data/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.