CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/flaui-tests

Authors and runs FlaUI-based Windows UI tests - the .NET-native wrapper around Microsoft UI Automation (UIA2 + UIA3). Covers the `FlaUI.Core` / `FlaUI.UIA2` / `FlaUI.UIA3` NuGet packages, `Application.Launch` / `Application.Attach` lifecycles, `ConditionFactory` + `FindFirstDescendant` locator patterns, `Retry` waits, and xUnit / NUnit / MSTest harness integration. Use when the test stack is C# / .NET-first and the team wants idiomatic in-process UIA calls rather than the HTTP/JSON wire protocol of `winappdriver` (direct or Appium-wrapped).

69

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

Overview
Quality
Evals
Security
Files

Quality

Content

78%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-structured, highly actionable skill body with strong progressive disclosure and a working verify loop. The main weakness is mild verbosity, notably time-sensitive version prose in the overview and some restated explanations.

Suggestions

Move or trim time-sensitive facts ('v5.0.0 released February 2025', 'Before v2.0.0 some Find methods auto-retried') into a dedicated versioning/deprecated note rather than the overview prose, so the spine stays evergreen and token-lean.

Collapse the standalone 'Disambiguation - FlaUI vs winappdriver' section or merge it into 'When to use', since the description already draws the same boundary — the body only needs the actionable 'pick X when Y' guidance.

Tighten the Retry and WaitWhileBusy sections by leading with the code and dropping restated rationale (e.g. the closing paragraph contrasting element-level vs process-level waits) to a single sentence.

DimensionReasoningScore

Conciseness

Mostly efficient and free of basic-concept padding, but the overview carries time-sensitive prose ('v5.0.0 released February 2025'), the winappdriver disambiguation restates the description, and several wait sections include explanatory prose that could be tightened.

3 / 5

Actionability

Multiple complete, executable C# blocks (Launch/Attach, FindFirstDescendant, AsButton/AsTextBox, Retry.WhileNull, WaitWhileBusy, xUnit fixture, STA attributes) plus concrete dotnet test commands and an anti-patterns table with specific fixes — copy-paste ready across common cases.

5 / 5

Workflow Clarity

The authoring → running → parsing → CI flow is sequenced with clear headers and includes a verify/re-run feedback loop ('If a test fails... re-run before adding more cases'), but it is not a rigid per-step numbered checklist with checkpoints at each stage.

4 / 5

Progressive Disclosure

The SKILL.md spine keeps the core launch/find/interact/wait flow inline and offloads alternate locator forms, Find method families, condition constructors, and the full CI workflow to references/flaui-api.md — a real, clearly-signaled, one-level-deep reference.

5 / 5

Total

17

/

20

Passed

Description

92%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, specific description that clearly states what the skill does and when to use it, while drawing a sharp boundary against the sibling winappdriver skill. Minor trigger-synonym coverage is the only gap.

DimensionReasoningScore

Specificity

Enumerates multiple concrete actions and surface area — 'Authors and runs FlaUI-based Windows UI tests', 'Application.Launch / Application.Attach lifecycles', 'ConditionFactory + FindFirstDescendant locator patterns', 'Retry waits', and 'xUnit / NUnit / MSTest harness integration' — for comprehensive coverage.

5 / 5

Completeness

Explicitly answers both 'what' (authors/runs FlaUI tests covering packages, lifecycle, locators, waits, harnesses) and 'when' (Use when the test stack is C# / .NET-first and idiomatic in-process UIA is preferred over winappdriver's wire protocol).

5 / 5

Trigger Term Quality

Natural trigger phrases ('Use when the test stack is C# / .NET-first', 'idiomatic in-process UIA calls', 'winappdriver') fit the niche well, but a few synonymous phrasings a user might say (e.g. '.NET UI testing', 'Windows desktop automation') are not surfaced.

4 / 5

Distinctiveness Conflict Risk

Clear niche (in-process .NET UIA) explicitly contrasted against winappdriver's HTTP/JSON wire protocol, giving distinct triggers and minimal conflict risk.

5 / 5

Total

19

/

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.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Reviewed

Table of Contents