Guide Claude on writing fast, browser-free tests for Vaadin 25 Flow views with the Browserless Testing framework (formerly UI Unit Testing). This skill should be used when the user asks to "write a UI test", "unit test a view", "test without a browser", "use BrowserlessTest", "use UIUnitTest", "test a Vaadin component", "browser-free testing", "browserless testing", or needs help with the Vaadin browserless testing framework, component testers, navigation in tests, or mocking Spring beans in Vaadin view tests.
64
77%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/ui-unit-testing/SKILL.mdQuality
Discovery
89%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong skill description with excellent trigger term coverage and completeness. The 'when' clause is particularly well-crafted with many natural user phrasings. The main weakness is that the 'what' portion could be more specific about the concrete actions the skill enables beyond just 'writing tests' — for example, listing specific capabilities like setting up test classes, interacting with component testers, simulating navigation, or asserting component state.
Suggestions
Expand the 'what' portion to list more concrete actions, e.g., 'Sets up BrowserlessTest base classes, interacts with component testers, simulates navigation, and mocks Spring beans in Vaadin view tests.'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description names the domain (Vaadin 25 Flow views, Browserless Testing framework) and mentions some actions like 'writing fast, browser-free tests', but it doesn't list multiple concrete actions beyond 'write tests'. It references component testers, navigation in tests, and mocking Spring beans, but these are mentioned as trigger contexts rather than specific capabilities. | 2 / 3 |
Completeness | Clearly answers both 'what' (writing fast, browser-free tests for Vaadin 25 Flow views with the Browserless Testing framework) and 'when' (explicit 'Use when' clause with extensive trigger terms and scenarios). The 'when' guidance is thorough and explicit. | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural trigger terms including 'write a UI test', 'unit test a view', 'test without a browser', 'BrowserlessTest', 'UIUnitTest', 'test a Vaadin component', 'browser-free testing', 'browserless testing', 'component testers', 'mocking Spring beans'. These cover both the old and new framework names and many natural phrasings a user would use. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive with a clear niche: Vaadin 25 Flow + Browserless Testing framework. The combination of specific framework names (BrowserlessTest, UIUnitTest), technology (Vaadin), and testing approach (browser-free) makes it very unlikely to conflict with other testing or Vaadin skills. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid, actionable skill with excellent executable code examples covering the core Browserless Testing API. Its main weaknesses are moderate verbosity in the introductory sections (explaining what browserless testing is and when to use it) and the lack of error-handling/debugging guidance in the workflow. The document would benefit from trimming explanatory prose and adding troubleshooting steps.
Suggestions
Remove or drastically shorten the 'What Browserless Testing Is' and 'When to Use' sections — Claude doesn't need to be told why fast tests are good or what end-to-end tests are.
Add a brief troubleshooting/debugging section covering common failures (e.g., component not found, navigation errors, route scanning issues) with specific error messages and fixes.
Consider splitting advanced topics (commercial component testers, Quarkus setup, migration from UIUnitTest) into a referenced file to keep the main skill lean.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The 'What Browserless Testing Is' and 'When to Use' sections explain concepts Claude could infer or look up, adding ~30 lines of context that aren't strictly necessary. The migration note and 'Free for all users' line are also padding. The code examples and API sections themselves are tight, but the overall document could be trimmed significantly. | 2 / 3 |
Actionability | The skill provides fully executable, copy-paste-ready Java code for every major use case: setup (Maven dependency), first test, navigation variants, component testers, queries, form validation, dialog testing, and navigation assertions. All examples are concrete and complete. | 3 / 3 |
Workflow Clarity | The skill clearly sequences how to write a test (extend base class → navigate → interact → assert), but there are no explicit validation checkpoints or error-recovery steps. For example, there's no guidance on what happens when navigate() fails, when a component isn't found, or how to debug common test failures. | 2 / 3 |
Progressive Disclosure | The content is well-structured with clear headers and sections, but it's a monolithic document with no references to external files for advanced topics (e.g., commercial component testers, Quarkus setup, Grid advanced usage). The 'see the Vaadin docs' reference for Quarkus is vague. For a skill of this length (~180 lines), some content could be split out. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
e47fdfe
Table of Contents
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.