ui-crawler-max

ui-crawler-max is a skill for Claude Code from Dev869/swift-tothemax. It costs 179 tokens per session (2,576 once invoked), scanned A, original, MIT.

An automated tester that explores an iOS app running in Apple's simulator by tapping reachable controls and recording what appears.

In plain words
What is it for?
Use it for broad UI smoke tests, monkey testing, screen and screenshot collection, and checking an app's reachable navigation paths.
Why use it?
It helps find screens, errors, and crashes that manual checking may miss, while showing how to reproduce what happened.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: mentions subagents.

Part of the swift-tothemax plugin — 8 skills shipped together

Good fit Use it for broad UI smoke tests, monkey testing, screen and screenshot…

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/dev869/swift-tothemax/ui-crawler-max
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 Dev869/swift-tothemax --skill ui-crawler-max
Clone the repo
git clone --depth 1 https://github.com/Dev869/swift-tothemax

Made for: Claude Code.

Or install swift-tothemax, the plugin that ships this one along with the rest of its 8 skills.

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 ui-crawler-max

README.md
[![agentmods](https://agentmods.dev/badge/skills/dev869/swift-tothemax/ui-crawler-max.svg)](https://agentmods.dev/skills/dev869/swift-tothemax/ui-crawler-max)
Your own site
<a href="https://agentmods.dev/skills/dev869/swift-tothemax/ui-crawler-max"><img src="https://agentmods.dev/badge/skills/dev869/swift-tothemax/ui-crawler-max.svg" alt="Measured on agentmods" height="20"></a>
Per session 179 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,576 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.00179 $0.02576
Opus 5 $0.00089 $0.01288
Sonnet 5 $0.00036 $0.00515
Haiku 4.5 $0.00018 $0.00258

Measured 6d ago against content hash 6465c25313c9, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

ui-crawler-max 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 6d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/crawl.sh), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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/ui-crawler-max/SKILL.md · 186 lines

How it starts

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

UI Crawler Max

Crawl an iOS app in the simulator like a tireless QA intern: tap everything reachable, record everything seen, never judge. This skill collects data; siblings analyze it (swiftui-max for UI fixes, swift-language for crashes/concurrency, apple-hig-ux for design verdicts). Environment: Xcode 26.6, iOS 26.5 simulators (iPhone 17 Pro present), xcodegen installed. No idb, no cliclick needed — the crawler runs inside the app process via XCUITest, so every tap is element-precise (element.tap()), never screen-coordinate guessing.

Architecture (4 moving parts)

  1. scripts/UICrawlerTests.swift — a complete, compile-verified XCUITest that greedy-DFS explores the app: screen signature = FNV-1a hash of visible element identifiers+labels+ frames (rounded to 10pt buckets); global visited-set of (screen, element) keys; taps unvisited buttons/cells/switches/segmented controls (tab-bar/nav/back buttons are .button descendants, covered); swipeUp up to 3× per screen to reveal more; back-nav ladder: nav back button → Done/Close/Cancel/Dismiss → edge swipe → relaunch.
  2. scripts/crawl.sh — boots the sim, starts a console error log stream before the run, invokes xcodebuild test, harvests .ips crash reports afterwards, prints the artifact tree.
  3. Journal + screenshots — JSON-lines journal per step, PNG + accessibility-hierarchy dump per new screen. After every single tap the crawler asserts app.state == .runningForeground; on crash it writes a repro record (last 10 steps), relaunches, marks the crashing element visited (never tapped twice), and continues.
  4. Haiku labeling fan-out — after the run, parallel model: haiku subagents label batches of ~10 screens using scripts/haiku-analysis-prompt.md. Fast, factual, no fixes.

Prerequisite: a UI-testing target

XCUITest needs a bundle.ui-testing target. Check: xcodebuild -list -project App.xcodeproj — if no *UITests target exists and the project uses xcodegen, add one and regenerate:

Read the full file on GitHub · 186 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 6d ago First seen · 186 lines · 179 tokens per session scan A 6465c25313c9

Subscribe to this mod's changes

ui-crawler-max is a skill published in the GitHub repository Dev869/swift-tothemax (7 stars, last pushed 2mo ago), licensed MIT. It adds 179 tokens to every session and 2,576 once invoked, about $0.0009 per session on Opus 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-31.

Related

Other skills, from other repositories

xcode-testing-workflow

Guide Swift Testing, XCTest, XCUITest, XCUIAutomation-oriented mechanics, code coverage, xctestplan matrices, accessibility-verification follow-through, test filtering, retries, diagnostics, and test-specific fallback work in existing Xcode-managed projects and workspaces. Use when Xcode-aware execution is needed and…

gaelic-ghost/socket · 81 tokens

ios-test

Build, launch, and visually test iOS/SwiftUI apps in the Simulator using computer use. Automated screen navigation, crash log analysis, state testing (empty/error/loading), and memory leak detection. Use when you need to test an iOS app, run it in the Simulator, check for crashes, or verify UI flows.

yusufkaran/swiftui-autotest-skill · 69 tokens

ios-testing

Invoke any time a user is writing iOS/Swift tests or asking why tests behave a certain way — including XCTest versus Swift Testing (@Test/#expect) choices, async ViewModel tests with @Observable or @Published, snapshot testing across device sizes, mocking protocols for dependency injection, setUp/tearDown lifecycle…

rusel95/ios-agent-skills · 134 tokens

swiftui-autotest-skill

AI-powered visual testing and accessibility setup for iOS/SwiftUI apps. Build, launch in Simulator, test with computer use, detect crashes, analyze memory leaks, and add accessibility identifiers — all from the terminal.

yusufkaran/swiftui-autotest-skill · 51 tokens

aco

Drive a live Appium session from the shell with the aco CLI. Use when the user wants to interact with a running mobile app on an iOS simulator, Android emulator, or connected real device — tap, swipe, type, screenshot, read the screen/page source, find UI elements, switch to a WebView context, or call iOS/Android…

tai2/aco · 111 tokens

app-store-review-guidelines

Route App Store submission-compliance tasks to the correct Knowledge Contracts — app completeness, demo accounts, screenshot/description accuracy, in-app purchase requirements, external payment link restrictions, restore purchases, minimum functionality, spam/duplicate-app avoidance, permission usage strings, privacy…

caglarbaranbora/Apple-Agent-Kit · 296 tokens