CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

create-mobile-app

Use when the user wants to start a new Power Apps mobile app (Expo / React Native / TypeScript, targeting iOS and Android) from scratch.

Quality

69%

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/create-mobile-app/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

62%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 thorough, highly executable orchestration playbook with best-in-class validation gates and failure handling, but its ~3,500-line monolithic body badly overruns the token budget a SKILL.md should respect. Much of the detail (templates, taxonomies, the plan-documentation protocol) belongs in one-level-deep reference files, and heavy repetition of status-command blocks inflates length without adding guidance.

Suggestions

Move the Step 10.8b skeleton TSX templates, the Step 10 trust-report taxonomy, and the build-documentation protocol into reference files, leaving SKILL.md as a sequenced overview with one-line pointers.

Dedupe the dozens of repeated 'node "${PLUGIN_ROOT}/scripts/app-docs.js" ... step/set' blocks into a single protocol table (phase id, section, note) plus one canonical invocation pattern.

Cut narrative rationale paragraphs (e.g., 'Why this works even though the planner just returned BLOCKED ...', 'This is the moment the plan stops being abstract') — state the rule and the command, and drop the justification prose.

DimensionReasoningScore

Conciseness

At ~3,500 lines the body is noticeably verbose: the app-docs.js 'step/set' invocations are repeated dozens of times, and long rationale paragraphs ('Why this works even though the planner just returned BLOCKED', trust-report philosophy, plan-banner reasoning repeated across steps) pad sections without adding executable guidance. It is not anchor 1 because it does not explain general concepts Claude already knows — the material is project-specific — but it goes well beyond anchor 3's 'some unnecessary explanation'.

2 / 5

Actionability

The overwhelming majority of guidance is copy-paste ready: exact bash blocks with guarded cd, full TSX skeleton templates, agent prompt formats, status-switch tables, and named validation scripts. Minor gaps keep it below anchor 5 — Step 6.75 Branch B ('render _plan_preview.html from the screen specs') and Step 10.8a's '... generated component ...' placeholder leave key operations underspecified.

4 / 5

Workflow Clarity

Steps 0 through 13 are explicitly sequenced with a dedicated TypeScript Gate Policy defining five named gates, batch repair and re-run loops, hard stops, per-wave validation with retry caps, a route-contract gate, and detailed recovery/feedback paths for the destructive batch Dataverse operations. This matches anchor 5's explicit validation steps, feedback loops, and checklists.

5 / 5

Progressive Disclosure

Section structure is good and references are one level deep and clearly signaled (references/requirements-discovery.md exists and matches the body citation; plugin-level shared/ and agents/ files are linked directly). But the SKILL.md itself is a monolith: skeleton templates, the trust-report taxonomy, and the build-documentation protocol are exactly the content that should live in reference files — anchor 3 ('content that should be separate is inline') rather than anchor 2 only because organization and signaling are solid.

3 / 5

Total

14

/

20

Passed

Description

70%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, tight trigger description: explicit when-clause, precise tech-stack scoping, third-person voice, and no fluff. Its main limitation is that the 'what' side is a single action — the description says when to fire but understates what the skill actually does (plan data model, wire connectors, build screens).

Suggestions

Add 2-3 concrete capability verbs to the 'what' half (e.g., 'Plans the data model, wires Dataverse/connectors, and generates TypeScript screens for a new Power Apps mobile app') so specificity and completeness both reach the top anchors.

Include natural creation synonyms users actually say — 'create', 'build', 'scaffold' — alongside 'start', e.g. 'Use when the user wants to create or start a new Power Apps mobile app from scratch'.

DimensionReasoningScore

Specificity

The description names the domain precisely ('Power Apps mobile app (Expo / React Native / TypeScript, targeting iOS and Android)') but lists only a single concrete action ('start ... from scratch'). It matches anchor 3 (domain plus 1-2 concrete actions, not comprehensive) rather than anchor 4, which requires several specific listed actions.

3 / 5

Completeness

Both halves are present: an explicit 'Use when the user wants to start a new Power Apps mobile app ... from scratch' trigger and a clear 'what' (creating such an app from scratch). It does not reach anchor 5 because the 'what' is a single fused action rather than the multiple concrete capabilities of the anchor-5 example.

4 / 5

Trigger Term Quality

Good natural keyword coverage ('Power Apps mobile app', 'Expo', 'React Native', 'iOS and Android', 'from scratch') that users would plausibly say. It falls short of anchor 5's comprehensive synonym coverage — common creation phrasings like 'create', 'build', or 'scaffold a new app' are absent.

4 / 5

Distinctiveness Conflict Risk

'Power Apps mobile app ... from scratch' carves a clear creation niche distinct from edit/add skills, but the parenthetical 'Expo / React Native / TypeScript' keywords create minor overlap risk with generic React Native or Expo app-creation requests — anchor 4 (mostly distinct, minor overlap) rather than anchor 5.

4 / 5

Total

15

/

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 (3526 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: 15 missing, 14 deeper-than-1-level, 9 suspicious

Warning

referenced_paths_exist

Referenced path issues: 7 missing

Warning

Total

11

/

16

Passed

Repository

microsoft/power-platform-skills

Path

plugins/mobile-apps/skills/create-mobile-app/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.