CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

genpage

Creates, updates, and deploys Power Apps generative pages for model-driven apps using React v17, TypeScript, and Fluent UI V9. Orchestrates specialist agents for planning, entity creation, and code generation. Use it when user asks to build, retrieve, or update a page in an existing Microsoft Power Apps model-driven app. Use it when user mentions "generative page", "page in a model-driven", or "genux". Do not use it for a generic or standalone React or web app, website, or dashboard (including a Power Apps code app), for Power Pages, canvas apps, or Power Automate, or when the user rules out Power Platform, Dataverse, or model-driven apps (for example "no Power Platform"). A generative page only runs inside a model-driven app, and this skill cannot scaffold a standalone project. This skill stands alone and does not require /app-builder — but if the user wants a whole app built (tables, forms, views, sitemap) rather than pages for an app that already exists, use /app-builder instead.

Quality

84%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

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.

Operationally superb: fully executable commands, exhaustive validation checkpoints, and error-recovery loops for every phase, including a carefully designed unattended-mode gate table. The weaknesses are the mirror image of that thoroughness — a ~25K-token body that inlines hundreds of lines of reference-grade material (much of it duplicated across phases) instead of pointing into the reference files it already maintains.

Suggestions

Move the Phase 6.7 import-retry/lock forensics, the Griffel shorthand-and-longhand tables, the secret-sanitizer limits, and the shell-quoting rules into the existing references (troubleshooting.md, rules.md) and leave a one-line rule plus pointer at each use site — this alone would roughly halve the body and lift both conciseness and progressive disclosure.

De-duplicate the Griffel check explanation between Phase 5b step 9 and Phase 6: state the rule once (or in rules.md) and reference it, rather than re-enumerating the ten shorthands and their longhands twice.

Rewrite the References section to list every file the body cites under one consistent base path (e.g. ${PLUGIN_ROOT}/references/...) so navigation is predictable, and fix the mixed relative paths (../../references/, bare 'edit-flow.md in this folder').

DimensionReasoningScore

Conciseness

The ~1500-line body is noticeably verbose: a ~70-line Phase 6.7 digression on import retry timing ("The sends are at most five and the time at most five minutes in all... 10, 20, 40 and 60 seconds between the sends") and import-job XML log forensics; the Griffel shorthand longhand enumeration explained at full length twice (Phase 5b step 9 and again in Phase 6); and a shell-quoting treatise ("in bash close, escape and reopen (`'Bob'\''s app'`)") covering quoting basics Claude already knows. Not 1 because almost none of it is generic padding or basic-concept tutorial — it is dense, non-obvious operational detail, just far beyond a main skill file's budget; not 3 because the over-explanation is systematic (hundreds of lines of reference-grade material inlined), not 'some sections that could be tightened'.

2 / 5

Actionability

Fully executable throughout: exact copy-paste commands with every flag ("node "${PLUGIN_ROOT}/scripts/genpage-upload.js" --env '<org-url>' --app-id '<app-id>' --code-file ... --prompt-file ... --solution '<Solution unique name>' --add-to-sitemap"), JSON result schemas with exit-code semantics, and complete agent-dispatch prompt templates. Common cases (create, update, mock pages, connectors, new app) each have a filled-in example. Not 4 because there are no minor gaps — commands, expected outputs, and failure branches are all specified.

5 / 5

Workflow Clarity

Phases 0–8 are clearly sequenced with explicit validation checkpoints at every risky step ("Continue only on exit 0", "Continue only on \"ok\":true\"", provenance verify before Phase 2, completeness and Griffel gates before deploy) and genuine feedback loops (rewrite once and re-run the gate, re-invoke the planner with answers, fix-and-redeploy in Phase 7). Destructive and unattended operations are explicitly gated ("Suppressing a prompt never authorizes destructive work... halt and say so"), so the destructive-cap does not apply. Not 4 because validation and error recovery are explicit everywhere, not just mostly present.

5 / 5

Progressive Disclosure

On-demand loading is done well ("Only when the plan's ## Connector Bindings section contains an actual binding table... also read ${PLUGIN_ROOT}/references/connectors.md"; verify-flow.md loaded only when the user opts into verification), and references are one level deep. But large reference-grade content is inlined in the body (import-retry semantics, Griffel longhand tables, secret-sanitizer edge cases, compiler-iteration rules — the last even duplicating a rules.md section by name), path bases are inconsistent ("../../references/rules.md" vs "${PLUGIN_ROOT}/references/..." vs "edit-flow.md in this folder"), and the 'References' section lists only 3 of the ~15 files the body cites — none of which are present in this bundle to verify. Not 4 because a substantial fraction of the content that should be separate is inline; not 2 because references are clearly signaled with explicit load conditions rather than buried.

3 / 5

Total

15

/

20

Passed

Description

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

An exemplary description: concrete capabilities, an explicit dual 'Use it when' trigger clause with natural phrases and aliases, a thorough exclusion list, and disambiguation from the adjacent /app-builder skill. Every dimension sits at its top anchor; the length is dense but every clause is functional rather than padded.

DimensionReasoningScore

Specificity

"Creates, updates, and deploys Power Apps generative pages for model-driven apps using React v17, TypeScript, and Fluent UI V9. Orchestrates specialist agents for planning, entity creation, and code generation" lists multiple concrete actions covering the full lifecycle (create/update/retrieve/deploy plus agent orchestration). It matches the comprehensive-coverage anchor; not 4 because the action coverage has no minor gaps — the lifecycle is named end to end.

5 / 5

Completeness

Both halves are explicit: what ("Creates, updates, and deploys... Orchestrates specialist agents for planning, entity creation, and code generation") and when ("Use it when user asks to build, retrieve, or update a page in an existing Microsoft Power Apps model-driven app. Use it when user mentions 'generative page'..."). Not 4 because the 'when' is fully explicit with concrete trigger phrases, not merely present.

5 / 5

Trigger Term Quality

Explicit natural trigger phrases — "generative page", "page in a model-driven", "genux", "build, retrieve, or update a page" — cover the formal name, the colloquial phrasing, and the internal alias a user would actually say. Not 4 because synonym coverage (generative page / genux / model-driven page) is comprehensive rather than missing a few natural terms.

5 / 5

Distinctiveness Conflict Risk

A clear niche (generative pages inside existing model-driven apps) with an explicit anti-trigger list — "Do not use it for a generic or standalone React or web app, website, or dashboard (including a Power Apps code app), for Power Pages, canvas apps, or Power Automate, or when the user rules out Power Platform" — plus sibling disambiguation ("use /app-builder instead" for whole-app builds). Minimal conflict risk.

5 / 5

Total

20

/

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 (1514 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: 1 missing, 3 suspicious

Warning

referenced_paths_exist

Referenced path issues: 8 missing, 1 deeper-than-1-level

Warning

Total

11

/

16

Passed

Repository

microsoft/power-platform-skills

Path

plugins/model-apps/skills/genpage/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.