Use when fixing or auditing ANY accessibility issue — VoiceOver, Dynamic Type, color contrast, touch targets, WCAG compliance, App Store accessibility review.
中文简介正在准备中。当前显示原文说明。
Use when writing ANY test, debugging flaky tests, making tests faster, or choosing Swift Testing vs XCTest. Covers unit tests, UI tests, async testing, test architecture.
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
You MUST use this skill for ANY testing-related question, including writing tests, debugging test failures, making tests faster, or choosing between testing approaches.
Bundled tools on Claude Code: if command -v <tool> finds nothing (hooks off or --bare), use <plugin-root>/tools/<tool> in place of the bare name; <plugin-root> is two levels above this skill's Base directory for this skill: path.
<!-- AXIOM_AUDITOR_INLINE_END -->Auditors are skills here. Where this router says "Launch
some-auditoragent", invoke the matching Codex skill instead — same procedure, no Claude Code agent required.Available:
axiom-analyze-test-failures,axiom-audit-testing.The ones that shell out — builds, tests, simulators, crash symbolication — need shell access to run.
| Symptom / Task | Reference |
|---|---|
| Writing unit tests, Swift Testing (@Test, #expect) | See skills/swift-testing.md |
| Making tests run without simulator | See skills/swift-testing.md |
| Parameterized tests, tags, traits | See skills/swift-testing.md |
| Migrating from XCTest to Swift Testing | See skills/swift-testing.md |
Warning-severity issues / cancelling a test — Issue.record(severity:), Test.cancel (OS27) | See skills/swift-testing.md |
| Testing async/await functions | See skills/testing-async.md |
| confirmation for callbacks | See skills/testing-async.md |
| @MainActor tests, parallel execution | See skills/testing-async.md |
| Writing UI tests, XCUITest | See skills/ui-testing.md |
Driving VoiceOver from a UI test, asserting spoken output (OS27) | See skills/ui-testing.md Pattern 7 |
Testing App Intents through the system, AppIntentsTesting (OS27) | See skills/ui-testing.md Pattern 8, then axiom-integration (skills/app-intents-ref.md) |
| Condition-based waiting patterns | See skills/ui-testing.md |
| Recording UI Automation (Xcode 26) | See skills/ui-testing.md |
| Network conditioning, multi-factor testing | See skills/ui-testing.md |
| Testing resizable apps: dimension matrix, RTL/pseudoloc launch args, live-resize passes | See skills/ui-testing.md |
| Test Face ID/Touch ID, orientation, or simulator state from CI — devicectl | See skills/ui-testing.md |
| XCUIElement queries, waiting strategies | See skills/xctest-automation.md |
| Accessibility identifiers, test plans | See skills/xctest-automation.md |
| CI/CD test execution | See skills/xctest-automation.md |
| Record/Replay/Review workflow (Xcode 26) | See skills/ui-recording.md |
| Test plan multi-configuration replay | See skills/ui-recording.md |
| Enhancing recorded tests for stability | See skills/ui-recording.md |
Testing a generative AI feature — output isn't deterministic, so #expect(result == expected) doesn't hold (OS27) | See axiom-ai (skills/foundation-models-evaluations.md) for the discipline, then axiom-ai (skills/foundation-models-evaluations-ref.md) for the API |
digraph testing {
start [label="Testing task" shape=ellipse];
what [label="What kind of test?" shape=diamond];
start -> what;
what -> "skills/swift-testing.md" [label="unit tests,\nSwift Testing,\nfast tests"];
what -> "skills/testing-async.md" [label="testing async code,\ncallbacks,\nconfirmation"];
what -> "skills/ui-testing.md" [label="UI tests,\nflaky tests,\nrecording"];
what -> "skills/xctest-automation.md" [label="XCUITest patterns,\nelement queries"];
what -> "skills/ui-recording.md" [label="Xcode 26\nRecord/Replay/Review"];
what -> "axiom-ai (skills/foundation-models-evaluations.md)" [label="generative AI feature\n(nondeterministic output)"];
}
skills/swift-testing.mdskills/testing-async.mdskills/ui-testing.mdskills/xctest-automation.mdskills/ui-recording.mdaxiom-audit-testingskills/foundation-models-evaluations.md) for the discipline (dataset design, guardrails vs optimization target, judge calibration), then axiom-ai (skills/foundation-models-evaluations-ref.md) for the API. The Evaluations framework (OS27) runs inside Swift Testing via the .evaluates trait — it doesn't replace it. A model isn't a pure function, so you score outputs against a dataset and gate on an aggregate metric instead of asserting on one exact string.| Need | Use |
|---|---|
| Unit tests (logic, models) | Swift Testing |
| UI tests (tap, swipe, assert screens) | XCUITest (XCTest) |
| App Intents run through the system (AppIntentsTesting) | UI Testing Bundle with XCTest. Swift Testing works there only with an undocumented build-setting override |
| Tests without simulator | Package/Framework (either framework) |
| Parameterized tests | Swift Testing |
| Performance measurements | XCTest (XCTMetric) |
| Objective-C tests | XCTest |
Swift Testing (skills/swift-testing.md):
Async Testing (skills/testing-async.md):
UI Testing (skills/ui-testing.md):
XCUITest Automation (skills/xctest-automation.md):
UI Recording (skills/ui-recording.md):
Test quality audit → axiom-audit-testing (maps test coverage shape against production code, detects flaky patterns and speed issues, identifies untested critical paths, scores overall test health)
Flaky test analysis → axiom-analyze-test-failures (scans for patterns causing intermittent failures in Swift Testing: missing confirmation, shared mutable state, missing @MainActor)
| Thought | Reality |
|---|---|
| "Simple test question, I don't need the skill" | Proper patterns prevent test debt. skills/swift-testing.md has copy-paste solutions. |
| "I know XCTest well enough" | Swift Testing is significantly better for unit tests. Migration guide included. |
| "Tests are slow but it's fine" | Fast tests enable TDD. skills/swift-testing.md shows how to run without simulator. |
| "I'll fix the flaky test with a sleep()" | sleep() makes tests slower AND flakier. skills/ui-testing.md has condition-based waiting. |
| "I'll add tests later" | Tests written after implementation miss edge cases. |
| "I'll test the AI feature by asserting the model returns the right string" | A model isn't a pure function — that test fails on a synonym and passes on a fluent lie. Score a dataset and gate on an aggregate metric: axiom-ai (skills/foundation-models-evaluations.md). |
| "The AI output looked good when I tried it, so it's tested" | Trying a few prompts by hand measures nothing and catches no regression. That's the exact gap the Evaluations framework exists to close. |
User: "How do I write a unit test in Swift?"
→ Read: skills/swift-testing.md
User: "My UI tests are flaky in CI"
→ Check codebase: XCUIApplication/XCUIElement? → skills/ui-testing.md
→ Check codebase: @Test/#expect? → test-failure-analyzer (Agent)
User: "How do I test async code without flakiness?"
→ Read: skills/testing-async.md
User: "What's the Swift Testing equivalent of XCTestExpectation?"
→ Read: skills/testing-async.md
User: "I want my tests to run faster"
→ Read: skills/swift-testing.md (Strategy 1: Package extraction)
User: "Should I use Swift Testing or XCTest?"
→ Read: skills/swift-testing.md (Migration section) + this decision tree
User: "How do I record UI automation in Xcode 26?"
→ Read: skills/ui-recording.md
User: "Run my tests and show me what failed" → Invoke: test-runner (Agent)
User: "Audit my tests for quality issues" → Invoke: testing-auditor (Agent)
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Use when fixing or auditing ANY accessibility issue — VoiceOver, Dynamic Type, color contrast, touch targets, WCAG compliance, App Store accessibility review.
中文简介正在准备中。当前显示原文说明。
Use when implementing, testing, or evaluating ANY Apple Intelligence, on-device AI, or speech-to-text feature. Covers Foundation Models, @Generable, LanguageModelSession, Tool protocol, eval suites, model-as-judge scoring, SpeechTranscriber, CoreML.
中文简介正在准备中。当前显示原文说明。
Use when the user has a crash log (.ips, MetricKit JSON, legacy .crash text, .xccrashpoint bundle, or pasted text) that needs analysis.
中文简介正在准备中。当前显示原文说明。
Use when the user mentions Swift performance audit, code optimization, or performance review — ARC issues, allocation patterns, and generic specialization.
中文简介正在准备中。当前显示原文说明。
Use when the user mentions SwiftUI performance, janky scrolling, slow animations, or view update issues — expensive bodies, formatters, whole-collection dependencies, and missing lazy containers.
中文简介正在准备中。当前显示原文说明。
Use when the user mentions flaky tests, tests that pass locally but fail in CI, race conditions in tests, or needs to diagnose WHY a specific test fails.
中文简介正在准备中。当前显示原文说明。