SkillAgentSearch skills...

ios-simulator-accessibility

Reading the iOS Simulator accessibility tree and hit testing it — bridge delegate tokens, full-screen backdrops, app-scoped versus display-scoped results, and reaching web content that the tree cannot see

Install / Use

npx skills add DioxusLabs/accessibility-cli --skill ios-simulator-accessibility

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

57/100

Supported Platforms

Universal

Our assessment of ios-simulator-accessibility

ios-simulator-accessibility scores 57/100 on our quality scale, 4159th of 4,598 Development & Engineering skills we index.

Its SKILL.md is 3.3 KB long, split into 5 sections and no code examples: a solid amount of guidance for an agent.

It has no GitHub stars yet, so there is no community track record; judge it on its content.

Substance
26/30
Structure
11/20
Description
15/15
Adoption
0/20
Freshness
5/15

Maintenance, license and trust

  • We could not determine when the repository was last updated.
  • Our last check on 2026-09-28 found the source still online.
  • No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
  • Its trust signals score 68/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.

AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

ios-simulator-accessibility compared with similar skills

All 4 of these similar skills score higher than ios-simulator-accessibility; compare them before choosing.

SkillScoreStarsUpdatedFormat
ios-simulator-accessibility (this skill)by DioxusLabs570—SKILL.md
ai-job-searchby MadsLorentzen10045.1k1d agoCLAUDE.md
claude-howtoby luongnv8910041.8k6d agoCLAUDE.md
algorithmic-artby anthropics100177.9k14d agoSKILL.md
pptxby anthropics100177.9k14d agoSKILL.md

Frequently asked questions

How do I install ios-simulator-accessibility?
Run npx skills add DioxusLabs/accessibility-cli --skill ios-simulator-accessibility. The install tabs above show the steps for each supported agent.
Which AI agents does ios-simulator-accessibility work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is ios-simulator-accessibility safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It declares no license and scores 68/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is ios-simulator-accessibility still maintained?
We could not determine when the repository was last updated.

name: ios-simulator-accessibility description: Reading the iOS Simulator accessibility tree and hit testing it — bridge delegate tokens, full-screen backdrops, app-scoped versus display-scoped results, and reaching web content that the tree cannot see. Use when working on get_tree, element picking or the inspector. triggers:

  • user
  • model

Reading and hit testing the simulator's accessibility tree, via AXPTranslator in packages/accessibility-ios-sys.

The theme: failures here are silent and look like absence. A missed token returns an empty label rather than an error, so the symptom is "this element cannot be selected" rather than anything that points at the cause.

Hit testing needs the token applied twice

objectAtPoint: returns a platform element whose own translation must also be given the bridge delegate token — it is not necessarily the translation you tokenized on the way in.

Miss that and attribute reads do not fail, they silently return an empty label and a zero frame. get_tree already does this; see the matching step in get_element_at_point.

SpringBoard crash remediation

A dead SpringBoard can leave CoreSimulatorBridge serving a stale root with a zero frame. Spawn the runtime's bin/launchctl through SimDevice.spawnAsyncWithPath:... and run stop com.apple.CoreSimulator.bridge. The service is kept alive and respawns automatically; after it exits, retry the accessibility query once. This was verified on Xcode 26.6 by killing SpringBoard: the retry returned a healthy tree from the replacement SpringBoard PID.

The spawn completion and termination callbacks share one Condvar, so their results must also share one mutex. macOS rejects using one condition variable with two mutexes and panics before the CoreSimulator call can complete.

Backdrops swallow hit tests

Every app has full-screen backdrops: the Application node plus one or more container groups. Hit testing empty space resolves to one, and highlighting it paints over the whole device. They are filtered out rather than drawn.

The tree and the hit test have different scopes

The tree is app-scoped and the hit test is display-scoped, so the status bar appears in hit tests but never in get_tree.

Reaching web content

get_tree walks the frontmost app and so cannot see anything in another process; a Safari page reports five elements of chrome. Hit testing does cross that boundary — objectAtPoint: resolves elements inside a WKWebView while get_tree returns only the host app's chrome, and there is no hierarchy to traverse from either end. This applies to Safari and to any embedded web view.

So ?scan=true marks everything the tree walk explained on a coverage grid and then probes the cells left over. On a real page that takes 5 elements at 4% coverage to 15 at 50%, using 114 probes in under half a second.

Swept elements are tagged point_grid rather than recursive: they are point samples with no parent, no children and no document order, and should not be treated as equivalent to nodes the tree walk returned.

Coverage is reported whether or not a scan runs, and is a useful signal on its own — a full web page reporting 4% describes the problem far better than an empty element list does.

Background on the approach, and how idb solves the same problem, is in docs/WEB_CONTENT_ACCESSIBILITY_PLAN.md.

Related Skills

View on GitHub
GitHub Stars0
CategoryDevelopment
UpdatedNaNy ago
Forks0

Trust signals

68/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

2 medium1 low
ios-simulator-accessibility — Universal Skill: Install & Safety Check | SkillAgent