add-accessibility

add-accessibility is a skill for Claude Code from yusufkaran/swiftui-autotest-skill. It costs 58 tokens per session (1,432 once invoked), scanned A, original, MIT.

A skill for scanning SwiftUI source files and adding missing accessibility identifiers using a consistent naming pattern. It also flags Dynamic Type compatibility issues but does not automatically fix them.

In plain words
What is it for?
Use it to label controls such as buttons, input fields, toggles, pickers, tabs, links, and tappable views, with options for a dry run, a specific path, or detailed logs.
Why use it?
It prepares interface elements for automated UI testing and highlights common accessibility gaps.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the swiftui-autotest-skill plugin — 3 skills, 2 commands shipped together

Good fit Use it to label controls such as buttons, input fields, toggles, pickers, tabs, links, and tappable views, with options for a dry run, a specific path, or detailed logs.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/yusufkaran/swiftui-autotest-skill/add-accessibility
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add yusufkaran/swiftui-autotest-skill --skill add-accessibility
Clone the repo
git clone --depth 1 https://github.com/yusufkaran/swiftui-autotest-skill

Made for: Claude Code.

Or install swiftui-autotest-skill, the plugin that ships this one along with the rest of its 3 skills, 2 commands.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for add-accessibility

README.md
[![agentmods](https://agentmods.dev/badge/skills/yusufkaran/swiftui-autotest-skill/add-accessibility/github.svg)](https://agentmods.dev/skills/yusufkaran/swiftui-autotest-skill/add-accessibility)
Your own site
<a href="https://agentmods.dev/skills/yusufkaran/swiftui-autotest-skill/add-accessibility"><img src="https://agentmods.dev/badge/skills/yusufkaran/swiftui-autotest-skill/add-accessibility/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for add-accessibility

Your own site · 80×15
<a href="https://agentmods.dev/skills/yusufkaran/swiftui-autotest-skill/add-accessibility"><img src="https://agentmods.dev/badge/skills/yusufkaran/swiftui-autotest-skill/add-accessibility.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 58 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,432 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00058 $0.01432
Opus 5.5 $0.00023 $0.00573
Sonnet 5.5 $0.00012 $0.00286
Haiku 4.5 $0.00006 $0.00143

Measured 1mo ago against content hash 7615d6701aeb, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

add-accessibility scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/add-accessibility/SKILL.md · 187 lines

How it starts

The opening of the file, as written. The whole thing — 187 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Add Accessibility Skill

Overview

Use this skill to scan all SwiftUI files in a project, find interactive elements missing accessibility identifiers, and add them using a consistent {screen}-{type}-{name} naming convention. Also flags Dynamic Type compatibility issues without auto-fixing them.

Options

  • --dry-run: Don't modify files, only report what would be changed
  • --path=<path>: Scan only the specified directory (default: all SwiftUI files)
  • --verbose: Log each identifier added in detail

Workflow

1) Scan & Analyze

  1. Find all *.swift files in the project

  2. Filter to files containing SwiftUI views (struct X: View, #Preview, etc.)

  3. In each file, detect these interactive elements:

    • Button — buttons
    • TextField and SecureField — input fields
    • Image — images
    • Toggle — toggle switches
    • Slider — sliders
    • Picker — pickers
    • DatePicker — date pickers
    • NavigationLink — navigation links
    • TabView tab items
    • .onTapGesture views — tap gesture elements
    • Link — external links
  4. For each element, check existing accessibility state:

    • Has .accessibilityIdentifier()? → SKIP
    • Has .accessibilityLabel()? → SKIP
    • If either exists, do not touch it

2) Generate Identifiers

Naming convention: {screen}-{type}-{name}

Screen name: derived from the filename

  • LoginView.swift → login
  • OnboardingStepView.swift → onboarding-step
  • HomeTabView.swift → home-tab
  • Remove View suffix, convert camelCase to kebab-case

Type: based on the element type

SwiftUI Element Type
Button button
TextField textfield
SecureField securefield
Image image
Toggle toggle
Slider slider
Picker picker
DatePicker datepicker
NavigationLink navlink
Link link
.onTapGesture view tap
TabView item tab

Name: derived from the element's content

  • Button("Continue") → continue
  • TextField("Email", ...) → email
  • Image(systemName: "gear") → gear
  • Image("hero-banner") → hero-banner
  • Toggle("Notifications", ...) → notifications
  • No content or too complex → number sequentially (button-1, button-2)

Read the full file on GitHub · 187 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago First seen · 187 lines · 58 tokens per session scan A 7615d6701aeb

Subscribe to this mod's changes

add-accessibility is a skill published in the GitHub repository yusufkaran/swiftui-autotest-skill (23 stars, last pushed 6mo ago), licensed MIT. It adds 58 tokens to every session and 1,432 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

figma-a11y-annotations

Rules for generating accessibility annotations on iOS/iPadOS mobile designs in Figma. Enforces a bare-minimum annotation discipline, an iOS vocabulary instead of web ARIA terms, and exact grammar for names, control types, page titles, values, hints, headings, groups, and reading order. Never annotates visible text as…

cvs-health/ios-swiftui-accessibility-techniques · 110 tokens

iOS SwiftUI Accessibility

Enforces WCAG 2.2 accessible coding patterns when writing SwiftUI — labels, traits, Dynamic Type, contrast, touch targets, focus management, orientation, and more. Based on the ios-swiftui-accessibility-techniques project with 41 static analysis rules across 24 WCAG criteria.

cvs-health/ios-swiftui-accessibility-techniques · 67 tokens

android-design-system-pro

Bootstraps or audits an Android app's design system and iconography — Material Symbols drawables behind an AppIcons object, adaptive launcher icons with a monochrome layer, notification and splash icons, a Material 3 AppTheme with dynamic color and extended tokens, thin slot-based component wrappers, edge-to-edge…

kelvinkosbab/AppBootstrapAI · 121 tokens

swift-design-system-pro

Bootstraps or audits an Apple app's design system and iconography — SF Symbol facade and custom symbols, app icon (Icon Composer, Liquid Glass appearances), color/type/spacing/shape tokens, component styles, Liquid Glass adoption, and previews. Use when setting up the UI foundation of a new SwiftUI app, when…

kelvinkosbab/AppBootstrapAI · 104 tokens

android-accessibility-pro

Deep-reviews Android app accessibility — the TalkBack semantics tree (content descriptions, roles, merging, state, custom actions, live regions), Bluetooth assistive input (external keyboards, Switch Access, braille displays), and visual accessibility (contrast, dynamic text, color-independence, reduce motion). Use…

kelvinkosbab/AppBootstrapAI · 92 tokens

android-adaptive-layout-pro

Deep-reviews Android apps for tablet, foldable, and desktop-window readiness — window size class usage, canonical layouts (Material 3 adaptive scaffolds), fold posture handling, state survival across fold/unfold and resize, manifest orientation/resizability restrictions (ignored on large screens since Android 16), and…

kelvinkosbab/AppBootstrapAI · 112 tokens