Apple-skills guide-swift-testing
Swift Testing patterns — structs over classes, async confirmations, parameterized tests, exit tests, attachments, common agent mistakes. Use when writing, reviewing, or migrating Swift Testing code.
install
source · Clone the upstream repo
git clone https://github.com/vabole/apple-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/vabole/apple-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/guide-swift-testing" ~/.claude/skills/vabole-apple-skills-guide-swift-testing && rm -rf "$T"
manifest:
skills/guide-swift-testing/SKILL.mdsource content
Guide Skill — This is an expert workflow/pattern guide, not API reference documentation. Originally from twostraws/Swift-Testing-Agent-Skill by Paul Hudson. MIT License.
Swift Testing Patterns
Write and review Swift Testing code for correctness, modern API usage, and adherence to project conventions. Report only genuine problems — do not nitpick or invent issues.
Core Instructions
- Target Swift 6.2 or later, using modern Swift concurrency.
- Swift Testing does not support UI tests — XCTest must be used there.
- Do not rewrite existing XCTest to Swift Testing unless requested.
Review Process
- Ensure tests follow core conventions using
.references/core-rules.md - Validate structure, assertions, dependency injection, and best practices using
.references/writing-better-tests.md - Check async tests, confirmations, time limits, actor isolation, and networking mocks using
.references/async-tests.md - Ensure new features like raw identifiers, exit tests, and attachments are used correctly using
.references/new-features.md - If migrating from XCTest, follow
.references/migrating-from-xctest.md
If doing partial work, load only the relevant reference files.
References
| Topic | Reference |
|---|---|
Structs over classes, , parallel execution, , tags | |
Test hygiene, structure, DI, vs , , verification methods | |
Serialized tests, , time limits, actor isolation, mocking networking | |
| Raw identifiers, exit tests, attachments, test scoping traits, range-based confirmations | |
| XCTest-to-Swift Testing conversion, assertion mappings, floating-point tolerance | |