CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/mobile-a11y-test-author

Authors native mobile accessibility tests covering iOS (Accessibility Inspector, XCUITest `performAccessibilityAudit()` introduced in iOS 17, VoiceOver label/trait/hint verification) and Android (Espresso `AccessibilityChecks.enable()`, Accessibility Scanner, TalkBack traversal, `contentDescription` labelling) with WCAG-aligned checks for element labels, 44pt/48dp touch targets, contrast ratios, and focus order. Use when an iOS or Android app needs automated and manual accessibility test coverage beyond what `xcuitest-suite` or `espresso-suite` provide.

72

Quality

91%

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

86%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 body with executable examples for both platforms and CI, backed by real one-level-deep reference files that contain the deferred detail. The minor weaknesses are slight redundancy with the frontmatter's skill differentiation, pinned CI versions that will age, and an implicit rather than explicit stepwise workflow for iterating on audit failures.

Suggestions

Trim or compress the 'Nearest neighbors and differentiation' section, since the frontmatter description already disambiguates against xcuitest-suite and espresso-suite; a one-line pointer would suffice.

Add a short numbered workflow for iterating on audit failures — run audit, inspect the xcresult/test-results artifact, diagnose with Accessibility Inspector or the suppression matcher, suppress narrowly, re-run — to make the fix-and-rerun loop explicit in the body.

Soften or flag pinned CI versions (macos-15, actions/checkout@v5, api-level: 34, iPhone 15) as illustrative examples so they do not read as time-sensitive requirements that will age.

DimensionReasoningScore

Conciseness

The body is dense and assumes competence — no primer on what accessibility or XCTest is — but the 'Nearest neighbors and differentiation' section largely duplicates the frontmatter description's disambiguation, and pinned time-sensitive versions ('macos-15', 'actions/checkout@v5', 'api-level: 34', 'iPhone 15') sit in CI snippets rather than a deprecated/old-patterns section. Not 5 because of these minor trimmable instances; not 3 because no section is unnecessary explanation of known concepts.

4 / 5

Actionability

Fully executable, copy-paste-ready code throughout: a complete Swift audit test class (imports, setUp, test method), a complete Kotlin test class with runner and init block, and full CI job YAML for both platforms; the anti-patterns table pairs each failure mode with a concrete fix. Not 4: the common cases (core audit, core checks, CI wiring) are each covered by runnable examples, with advanced specifics correctly deferred to reference files that themselves contain complete code.

5 / 5

Workflow Clarity

A coherent sequence is present — core audit/check templates, then CI integration with `if: always()` artifact upload (a run-then-inspect feedback mechanism), then anti-patterns and limitations — and the suppression guidance ('Suppress by both auditType and element.label') implies a fix-and-rerun loop. Not 5 because the workflow is conveyed through section order rather than an explicit stepwise sequence with a failure-handling loop (diagnose via Accessibility Inspector, suppress narrowly, re-run) in the body; not 3 because the sequence is clear and CI provides an explicit inspect step.

4 / 5

Progressive Disclosure

The body is a lean overview with well-signaled, one-level-deep references — both references/ios-audit.md and references/android-checks.md exist and deliver exactly the promised content (scoped audits, suppression closures, 44pt checks; dependency, 48dp, contrast thresholds, TalkBack workflow), and each link is repeated at the point of need. Not 4: content is appropriately split with no organization gaps; the reference files link back to SKILL.md, keeping navigation bidirectional and shallow.

5 / 5

Total

18

/

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 highly specific, well-triggered description that names concrete APIs and check types for both platforms and includes an explicit 'Use when' clause that also disambiguates from neighboring UI-test skills. The only weakness is missing natural synonyms ('a11y', 'screen reader') in the description text itself.

DimensionReasoningScore

Specificity

Lists multiple concrete capabilities with named APIs on both platforms — 'performAccessibilityAudit()', 'AccessibilityChecks.enable()', 'VoiceOver label/trait/hint verification', 'TalkBack traversal', '44pt/48dp touch targets, contrast ratios, and focus order' — matching the comprehensive-coverage anchor. Not 4: there is no meaningful coverage gap; automated, manual, and WCAG-aligned checks are all enumerated.

5 / 5

Completeness

Explicitly answers what ('Authors native mobile accessibility tests covering iOS (...) and Android (...) with WCAG-aligned checks') and when ('Use when an iOS or Android app needs automated and manual accessibility test coverage beyond what xcuitest-suite or espresso-suite provide') with concrete trigger phrasing. Not 4: the 'when' clause is fully explicit, not merely present.

5 / 5

Trigger Term Quality

Includes the natural phrases users say — 'accessibility test coverage', 'VoiceOver', 'TalkBack', 'WCAG', 'contrast', 'iOS or Android app' — but omits common synonyms 'a11y' and 'screen reader' from the description itself (they appear only in metadata.keywords). Not 5 because synonym coverage is incomplete; not 3 because keyword coverage goes well beyond 'some relevant keywords'.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (native mobile accessibility testing) with distinct triggers (VoiceOver, TalkBack, WCAG, contrast, touch targets) and actively disambiguates from the nearest neighbors via 'beyond what xcuitest-suite or espresso-suite provide'. Not 4: conflict risk is minimal because the differentiation is built into the trigger clause itself.

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

Table of Contents