CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/flaui-tests

Use when a Windows desktop app needs UI tests from C# or .NET with in-process UI Automation calls: FlaUI UIA2 and UIA3 packages, launching or attaching to the app, ConditionFactory locators, Retry waits and xUnit, NUnit or MSTest. For the WebDriver protocol use winappdriver.

Quality

94%

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

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

High-quality content body: executable C# throughout, a clear authoring-to-CI sequence with an explicit verify-and-fix loop, and proper offloading of API/CI detail to a real one-level reference file. The main residual cost is inline version/date trivia and repetitive per-citation phrasing that could be trimmed for token efficiency.

DimensionReasoningScore

Conciseness

The body is information-dense and API-specific (Retry.WhileNull argument lists, WaitWhileBusy signature, STA attribute matrix) with almost no explanation of concepts Claude already knows, matching the level-4 anchor of efficient content with minor trims possible. It is not a 5: version/date details ("v5.0.0 released February 2025", "Before v2.0.0 some Find methods auto-retried") sit inline in the Overview/Retry sections rather than a dedicated old-patterns section, and the pervasive "per [flaui][flaui]" citation repetition adds tokens without guidance value.

4 / 5

Actionability

Every section ships copy-paste-ready executable code: Application.Launch/Attach/AttachOrLaunch, FindFirstDescendant with AsButton()/AsTextBox()/AsListBox(), a complete Retry.WhileNull call with timeout/interval/throwOnTimeout, a full xUnit IClassFixture class, [StaFact]/[Apartment] attributes, and dotnet test commands with trx logger flags. This matches the level-5 anchor of fully executable guidance covering the common cases.

5 / 5

Workflow Clarity

The authoring-to-CI flow is clearly sequenced (packages → launch → find → interact → waits → framework integration → run → parse → CI) with explicit validation and an error-recovery feedback loop: "Verify: run the suite and confirm it launches the app and passes. If a test fails with a NullReference or Retry timeout, the locator or wait is wrong - open FlaUInspect ... fix ... then re-run". This matches the level-5 anchor (explicit validation, feedback loops); level 4 falls short because the recovery path is fully specified rather than implicit.

5 / 5

Progressive Disclosure

The SKILL.md spine keeps core examples inline and pushes bulk detail to one real, one-level-deep reference file, clearly signaled twice ("The equivalent ConditionFactory / PropertyCondition forms ... are in references/flaui-api.md" and "Full windows-latest workflow: references/flaui-api.md"); the file exists and contains exactly the promised alternate locator forms and CI workflow. This matches the level-5 anchor of a clear overview with well-signaled one-level-deep references.

5 / 5

Total

19

/

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 description: explicit 'Use when' trigger with concrete capability enumeration and an explicit disambiguation against the sibling winappdriver skill. The only gap is that natural app-type keywords (WPF/WinForms/Win32) a user might say are missing from the trigger terms.

DimensionReasoningScore

Specificity

The description lists multiple concrete capabilities — "FlaUI UIA2 and UIA3 packages, launching or attaching to the app, ConditionFactory locators, Retry waits and xUnit, NUnit or MSTest" — comprehensively covering the skill's surface, matching the anchor for multiple specific concrete actions with comprehensive coverage. It exceeds the level-4 anchor ('several specific actions; minor gaps') because locator strategy, wait strategy, bindings, and all three test frameworks are explicitly named.

5 / 5

Completeness

It opens with an explicit trigger clause — "Use when a Windows desktop app needs UI tests from C# or .NET with in-process UI Automation calls" — and pairs it with a concrete 'what' (packages, launch/attach, locators, Retry waits, framework integration), plus boundary guidance ("For the WebDriver protocol use winappdriver"). Both what and when are explicit with concrete trigger phrases, matching the level-5 anchor; level 4 ('when could be more explicit') is clearly surpassed.

5 / 5

Trigger Term Quality

Strong natural keywords: "Windows desktop app", "UI tests", "C# or .NET", "FlaUI", "xUnit, NUnit or MSTest" — phrases users would actually say, with C#/.NET synonym coverage. Not a 5 because common natural variations like "WPF", "WinForms", or "Win32" (the most likely words a user would use when asking for desktop UI tests) are absent from the description even though the body covers them.

4 / 5

Distinctiveness Conflict Risk

The in-process .NET/UIA niche is clearly staked out and the closing sentence — "For the WebDriver protocol use winappdriver" — explicitly routes the nearest competing skill away. Minimal conflict risk, matching the level-5 anchor for a clear niche with distinct triggers.

5 / 5

Total

19

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

On this page