guide-swift-testing
About guide-swift-testing
A workflow guide for writing and reviewing Swift Testing code, intended for Swift developers adopting modern test practices. It covers test structure, async behavior, newer framework features, and migration guidance while preserving existing XCTest unless a conversion is requested.
Key features
- 01Swift Testing convention checks
- 02Test structure and assertion guidance
- 03Async test and actor isolation checks
- 04New framework feature guidance
- 05XCTest migration guidance
Use cases
- 01Reviewing Swift Testing suites
- 02Checking asynchronous tests
- 03Improving test assertions and dependency injection
- 04Planning XCTest conversions
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ prisma-labs-dev/ apple-skills --skill guide-swift-testingAfter installing, type/guide-swift-testingin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/async-tests.mdcore-rules.mdmigrating-from-xctest.mdnew-features.mdwriting-better-tests.mdDetails
From the project READMEGuide 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, @Suite, parallel execution, withKnownIssue, tags | references/core-rules.md |
Test hygiene, structure, DI, #expect vs #require, Issue.record(), verification methods | references/writing-better-tests.md |
Serialized tests, confirmation(), time limits, actor isolation, mocking networking | references/async-tests.md |
| Raw identifiers, exit tests, attachments, test scoping traits, range-based confirmations | references/new-features.md |
| XCTest-to-Swift Testing conversion, assertion mappings, floating-point tolerance | references/migrating-from-xctest.md |