CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

powertoys-verification

Verify PowerToys behavior end-to-end with the winapp CLI across two scenarios: (A) a module's release checklist against the installed build; (B) PR validation — derive each PR's checklist from its description + diff, then drive it against the installed build (a merged/shipped PR, or a whole release/hotfix set) or by building + sideloading the module when the PR isn't in the build yet (unmerged or not-yet-released). Drive each item via UIA invoke / Named Events / settings.json edits / clipboard / GPO / SendInput, and emit a structured PASS / FAIL / BLOCKED verdict per item with evidence (FAIL distinguishes product defects from stale/ambiguous checklist items). Use when asked to verify a module checklist, validate a PR, sign off a release/hotfix's PRs, or QA installed/sideloaded PowerToys bits. Combines generic winapp ui mechanics (references/winapp-ui-testing.md) with PT-specific recipes, per-scenario playbooks (references/scenarios/), and the helper .ps1 files shipped with this skill.

Quality

87%

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

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.

An exceptionally actionable, well-validated operational engine: copy-paste-ready commands, explicit sequencing with error-recovery loops, state-hygiene guards, and a bundle whose referenced files all exist and are navigated one level deep. The main costs are token redundancy — the Step-0 routing instruction restated ~5 times and per-module content inlined that the doc itself flags for migration — plus two small catalog staleness issues.

Suggestions

State the Step-0 scenario-routing instruction once (e.g., in 'When to use') and cross-reference it elsewhere; it currently appears in ~5 sections ('When to use', 'Required reads', Step 1 bootstrap comment, 'Invocation & placeholders', 'What NOT to do').

Move the 'Module-specific quick reference' one-liners and the pitfall-#12 module-owned settings table into the per-module profiles under references/modules/ — the doc itself notes this content 'will be moved to per-module files as they're authored'.

Fix catalog staleness: update 'Currently authored' (4 profiles listed, 7 exist on disk) and add scripts/pt-session-diagnose.ps1 to the helper-scripts table since pitfall #7 depends on it.

DimensionReasoningScore

Conciseness

The body is dense with hard-won, non-obvious operational specifics (zero concept explanations Claude already knows), but it repeats the same routing instruction about five times — the Step-0/scenario-index directive appears in "When to use" ("Read references/scenarios/index.md"), "Required reads" ("read FIRST: the scenario router"), the Step 1 bootstrap comment, "Invocation & placeholders" ("Step 0: resolve the scenario via references/scenarios/index.md"), and "What NOT to do" ("Do NOT skip Step 0"). It also inlines content that belongs in bundle files: the module quick-reference one-liners ("will be moved to per-module files as they're authored") and the pitfall-#12 module-owned-settings table duplicate per-module profile material. Anchor 3 ("mostly efficient but… could be tightened") fits; not 4 because the redundancy exceeds minor trimming, and not 2 because nearly every token carries PT-specific knowledge.

3 / 5

Actionability

Guidance is fully executable and copy-paste ready: concrete PowerShell snippets (the §2.A backup/edit/wait/restore cycle, `Invoke-PtSharedEvent -Name 'CmdPal.Show'`, `Send-PtChord -Mods 0x5B,0x10 -Key 0x43`, the §7 archive block), exact helper-function names, registry/settings paths (`%LOCALAPPDATA%\Microsoft\PowerToys\<Module>\`), timeouts (`Start-Sleep -Seconds 4` debounce, `Wait-PtHotkeyAccepted -TimeoutSec 3`), and the bootstrap dot-source loop. The only placeholder, `<this skill folder>`, is explicitly defined. Matches anchor 5 (specific examples cover the common cases).

5 / 5

Workflow Clarity

Clear sequence with explicit validation and feedback loops: numbered Steps 0–7 plus a closing "Execution order" paragraph resolving the actual run order; validation checkpoints throughout ("Verify environment" probes, `Wait-PtHotkeyAccepted` log-line check, `Assert-PtForegroundOrAbort` before SendInput, `try { … } finally { Restore-* }` state hygiene, "After the report is written AND the artifact-existence check passes"); error-recovery loops ("If you see 'Cannot bind argument'… swap the order and retry", "Couldn't drive it after ≥2 entry-paths → BLOCKED", "Stop at the first technique that works"); and an explicit per-item checklist (the Step 6 verifier loop). The destructive/batch cap does not apply — settings mutations are mandatorily wrapped in backup/restore validation. Matches anchor 5; not 4 because checkpoints and feedback loops are explicit, not merely present.

5 / 5

Progressive Disclosure

Verified against the actual bundle: every referenced path exists (references/scenarios/{index,module-checklist,pr-validation}.md, winapp-ui-testing.md, pre-flight.md, reporting-format.md, environment-setup.md, explorer-context-menu-flow.md, modules/ with 7 profiles + README, release-checklist/ with index + 6 checklists, and all 12 scripts/*.ps1). Navigation is well-signaled and one level deep: an ordered "Required reads" list, conditional IF-reads ("IF IT EXISTS", "IF your module registers an Explorer right-click entry"), and catalog READMEs. Anchor 4 rather than 5 because SKILL.md itself (330 lines) inlines content that should live in per-module files (the module quick-reference list, the pitfall-#12 settings-key table), the "Currently authored" profile list is stale (names 4 profiles while 7 exist on disk), and `scripts/pt-session-diagnose.ps1` — cited in pitfall #7 — is missing from the helper-scripts table. Not 3 because structure and signaling are clearly organized, not buried.

4 / 5

Total

17

/

20

Passed

Description

88%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: it explicitly states what the skill does across both scenarios with concrete techniques and output taxonomy, and gives explicit when-to-use trigger phrases. Voice is appropriate (imperative/third-person, no first- or second-person padding). The only weaknesses are a slightly generic "validate a PR" trigger and missing natural synonym variants ("test", "reproduce").

DimensionReasoningScore

Specificity

Quotes: "Verify PowerToys behavior end-to-end with the winapp CLI across two scenarios", "Drive each item via UIA invoke / Named Events / settings.json edits / clipboard / GPO / SendInput", "emit a structured PASS / FAIL / BLOCKED verdict per item with evidence (FAIL distinguishes product defects from stale/ambiguous checklist items)", "derive each PR's checklist from its description + diff", "building + sideloading the module when the PR isn't in the build yet". This lists multiple specific concrete actions (checklist verification, PR-derived checklist derivation, build+sideload path, six enumerated drive techniques, structured verdict emission with defect classification) with comprehensive coverage of both scenarios — matching anchor 5. It is not 4 because there are no coverage gaps: inputs, techniques, and outputs are all enumerated.

5 / 5

Completeness

Explicitly answers both questions: what — "Verify PowerToys behavior end-to-end with the winapp CLI across two scenarios: (A) a module's release checklist against the installed build; (B) PR validation…"; when — "Use when asked to verify a module checklist, validate a PR, sign off a release/hotfix's PRs, or QA installed/sideloaded PowerToys bits." This matches anchor 5 exactly (clear what AND when with concrete trigger phrases, mirroring the PDF exemplar's structure). Not 4 because the when-clause is fully explicit rather than merely present.

5 / 5

Trigger Term Quality

The when-clause "Use when asked to verify a module checklist, validate a PR, sign off a release/hotfix's PRs, or QA installed/sideloaded PowerToys bits" provides four natural trigger phrases a user would plausibly say, plus scenario-A/B trigger examples in the body table ("validate PR #N", "build it and test the fix", "sign off 0.X.Y"). Anchor 4 ("good keyword coverage; a few natural terms missing") fits: common variations like "test PowerToys", "check PowerToys behavior", or "reproduce the bug/fix" are absent. Not 5 because the synonym breadth is thinner than the anchor-5 pattern; not 3 because multiple concrete natural phrases are present.

4 / 5

Distinctiveness Conflict Risk

The what-portion pins a clear niche (PowerToys, winapp CLI, PASS/FAIL/BLOCKED sign-off) that no generic skill would claim, and product-qualified triggers like "sign off a release/hotfix's PRs" and "QA installed/sideloaded PowerToys bits" are distinct. However, the when-clause's "validate a PR" trigger is not product-qualified, so a generic PR-validation request outside PowerToys could match it — minor overlap risk with a closely related PR-review skill, per anchor 4. Not 5 because of that unqualified trigger; not 3 because the description as a whole is unmistakably PowerToys-scoped.

4 / 5

Total

18

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 14 deeper-than-1-level

Warning

Total

15

/

16

Passed

Repository

microsoft/PowerToys

Path

.github/skills/powertoys-verification/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.