Agent skill

Swift Testing

by dpearson2699 in dpearson2699/swift-ios-skills

Writes and migrates Swift Testing framework tests with @Test, @Suite, expect, require, confirmation, traits, withKnownIssue, Attachment.record, processExitsWith exit tests and capture lists…

Custom licenceAuto-check passedMobile

Install Swift Testing

skills CLI
$ npx skills add dpearson2699/swift-ios-skills --skill swift-testing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install dpearson2699/swift-ios-skills swift-testing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/dpearson2699/swift-ios-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/swift-testing .claude/skills/swift-testing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
swift-testing
GitHub stars
1.2k
Token cost
~2.8k tokens
SKILL.md length
965 words
Files
4 (incl. references)
Skills in repo
86
Repo updated
First seen
Licence
Custom licence

At a glance

Writes and migrates Swift Testing framework tests with @Test, @Suite, expect, require, confirmation, traits, withKnownIssue, Attachment.record, processExitsWith exit tests and capture lists…

  • Works in 9 steps: Testing implementation, not behavior.… → No error path tests. If a function can… → Flaky async tests or sleeps. Use… → …
  • Converting XCTest assertions such as XCTUnwrap
  • SKILL.md covers Contents, Basic Tests, @Test Traits and #expect and #require, plus 11 more sections
  • Reaches github.com

What it does

Swift Testing is an agent skill from dpearson2699/swift-ios-skills. Writes and migrates Swift Testing framework tests with @Test, @Suite, expect, require, confirmation, traits, withKnownIssue, Attachment.record, processExitsWith exit tests and capture lists, Test.cancel, Issue.record warnings/manual failures, XCTest-to-Swift Testing migration, Xcode 27 interoperability modes, XCUITest UI-test boundaries, performance/snapshot boundaries, mocking, async patterns, and test organization. Use when writing tests, converting XCTest assertions such as XCTUnwrap or XCTFail, reviewing…

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `evals/evals.json`, `references/testing-advanced.md` and `references/testing-patterns.md`).

It sits in Mobile, covering iOS development. It works with Xcode. The repository describes itself as: Agent Skills for iOS 26+, Swift 6.3, SwiftUI, and modern Apple frameworks.

When your agent uses it

  • Converting XCTest assertions such as XCTUnwrap
  • Reviewing advanced Swift Testing API availability
  • Deciding when to keep XCTest/XCUITest

Example prompts

  • “Use the swift-testing skill to write and migrates Swift Testing framework tests with @Test, @Suite, expect, require, confirmation, traits…”
  • “/swift-testing”

Workflow steps

9 steps, taken from the first numbered list in SKILL.md.

  1. Testing implementation, not behavior. Test what the code does, not how.
  2. No error path tests. If a function can throw, test the throw path.
  3. Flaky async tests or sleeps. Use confirmation, clock injection, or concurrency primitives instead of sleeping.
  4. Shared mutable state between tests. Each test sets up its own state via init() in @Suite.
  5. Missing accessibility identifiers in UI tests. XCUITest queries rely on them.
  6. Not testing cancellation. If code supports Task cancellation, verify it cancels cleanly.
  7. Unclear migration boundaries. Follow XCTest Migration Boundaries instead of treating either framework as an all-or-nothing choice.
  8. Non-Sendable helpers shared across tests. Make shared helpers Sendable; annotate MainActor-dependent test code with @MainActor.
  9. Treating serialization as ordering. Tests run in parallel by default; .serialized protects exclusive state but does not make one test feed…

What it can do on your machine

Read from SKILL.md and the folder at commit 8d90fd1. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are swift).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Swift Testing loads about 2.8k tokens when it runs, and up to ~9.5k if it reads all its reference files. Until then it costs about 153 tokens; SKILL.md has 965 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~153
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~9.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 965 words (~2,836 tokens).

“Swift Testing is the modern testing framework for Swift (Xcode 16+, Swift 6+). Prefer it for new unit tests. Keep XCTest where migration is still in progress, and use XCTest for UI automation, performance APIs, Objective-C exception tests, and common…”

— opening of SKILL.md by dpearson2699, Custom licence
name
swift-testing

Read the full SKILL.md on GitHub

Files

SKILL.md and 3 other files (references) in skills/swift-testing of dpearson2699/swift-ios-skills.

  • SKILL.md
  • evals/evals.json
  • references/testing-advanced.md
  • references/testing-patterns.md

Open the folder on GitHubat commit 8d90fd1

Compare with similar skills

Swift Testing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Swift Testing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Swift Testing this skilldpearson2699/swift-ios-skills1.2k—~2.8kAutomated safety check: PassCustom licence
Xcsiftldomaradzki/xcsift489—~1.2kAutomated safety check: PassMIT
Xcode Syncsteipete/agent-scripts7.3k—~2.1kAutomated safety check: NotesMIT
Apple History Utilitiespdparchitect/noodle151—~149Automated safety check: PassApache-2.0
Performance Profilingnirholas/three.ws2271 repos~1.5kAutomated safety check: PassApache-2.0
Sfsymbol Generatorsundial-org/awesome-openclaw-skills663—~429Automated safety check: PassNone

Similar skills

  • Xcsift

    ldomaradzki/xcsift

    Use xcsift for all Swift and Xcode build commands. An agent skill from ldomaradzki/xcsift.

    489 GitHub stars~1.2k tokensUpdated 4 days ago
    MobileAuto-check passed
  • Xcode Sync

    steipete/agent-scripts

    Xcode fleet sync: signed archives, compatibility, install, selection, first launch.

    7.3k GitHub stars~2.1k tokensUpdated 4 days ago
    MobileAuto-check: notes
  • Apple History Utilities

    pdparchitect/noodle

    Upkeep of the Apple utilities copied into NoodleAppleRuntime.

    151 GitHub stars~149 tokensUpdated yesterday
    MobileAuto-check passed
  • Performance Profiling

    nirholas/three.ws

    Guide performance profiling for Apple platform apps with Instruments, Xcode diagnostics, and MetricKit.

    227 GitHub starsUsed in 1 repo~1.5k tokens
    MobileAuto-check passed
  • Sfsymbol Generator

    sundial-org/awesome-openclaw-skills

    Generate an Xcode SF Symbol asset catalog .symbolset from an SVG.

    663 GitHub stars~429 tokensUpdated 7 mo ago
    MobileAuto-check passed
  • macOS Spm App Packaging

    Dimillian/Skills

    Scaffold, build, and package SwiftPM-based macOS apps without an Xcode project.

    4k GitHub starsUsed in 5 repos~1.2k tokens
    MobileAuto-check passed

More from dpearson2699/swift-ios-skills

All 86 skills in this repo
  • iOS Memgraph Analysis

    dpearson2699/swift-ios-skills

    A skill your agent uses when capturing or analyzing an iOS .memgraph, especially when the task mentions a memory leak, heap growth, persistent memory increase, ownership path, or matched-capture…

    1.2k GitHub stars~2.4k tokensUpdated 2 mo ago
    Auto-check passed
  • Natural Language

    dpearson2699/swift-ios-skills

    Tokenize, tag, and analyze natural language text using Apple's NaturalLanguage framework and translate between languages with the Translation framework.

    1.2k GitHub starsUsed in 1 repo~3.5k tokens
    Auto-check passed
  • iOS Ettrace Performance

    dpearson2699/swift-ios-skills

    A skill your agent uses when capturing or analyzing ETTrace profiles for a focused iOS launch or runtime flow, including exact-build dSYM UUID matching, Simulator or device capture, processed…

    1.2k GitHub stars~2.2k tokensUpdated 2 mo ago
    Auto-check passed
  • Accessorysetupkit

    dpearson2699/swift-ios-skills

    Discover and configure Bluetooth and Wi-Fi accessories using AccessorySetupKit.

    1.2k GitHub stars~3.5k tokensUpdated 2 mo ago
    Auto-check passed
  • Activitykit

    dpearson2699/swift-ios-skills

    Implement, review, or improve Live Activities and Dynamic Island experiences in iOS apps using ActivityKit.

    1.2k GitHub stars~4.6k tokensUpdated 2 mo ago
    Auto-check passed
  • Adattributionkit

    dpearson2699/swift-ios-skills

    Measure ad effectiveness with privacy-preserving attribution using AdAttributionKit.

    1.2k GitHub stars~3.5k tokensUpdated 2 mo ago
    Auto-check passed

Works with

Categories

Questions about Swift Testing

What does Swift Testing do?

Writes and migrates Swift Testing framework tests with @Test, @Suite, expect, require, confirmation, traits, withKnownIssue, Attachment.record, processExitsWith exit tests and capture lists…. Swift Testing is an agent skill from dpearson2699/swift-ios-skills.record warnings/manual failures, XCTest-to-Swift Testing migration, Xcode 27 interoperability modes, XCUITest UI-test boundaries, performance/snapshot boundaries, mocking, async patterns, and test organization.

When should I use Swift Testing?

Swift Testing fits situations like: converting XCTest assertions such as XCTUnwrap; reviewing advanced Swift Testing API availability; deciding when to keep XCTest/XCUITest.

How do I install Swift Testing in Claude Code?

Run `npx skills add dpearson2699/swift-ios-skills --skill swift-testing -a claude-code`. Or copy the skill folder (skills/swift-testing in dpearson2699/swift-ios-skills) into .claude/skills/swift-testing in your project. Claude Code loads it when a task matches its description.

How do I install Swift Testing in Codex?

Run `npx skills add dpearson2699/swift-ios-skills --skill swift-testing -a codex`. Or copy the skill folder (skills/swift-testing in dpearson2699/swift-ios-skills) into .agents/skills/swift-testing in your project. Codex loads it when a task matches its description.

Can I use Swift Testing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dpearson2699/swift-ios-skills --skill swift-testing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/swift-testing, .gemini/skills/swift-testing, .github/skills/swift-testing and .opencode/skills/swift-testing in your project.

What does Swift Testing need to run?

SKILL.md names no scripts, command-line tools or credentials: Swift Testing is instructions for the agent only.

Does Swift Testing access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Swift Testing safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Swift Testing use?

Swift Testing has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.

How many tokens does Swift Testing use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.6k tokens, read only when the agent opens those files.

What are the alternatives to Swift Testing?

Skills that share tags, products or a category with Swift Testing: Xcsift (ldomaradzki/xcsift, 489 stars), Xcode Sync (steipete/agent-scripts, 7.3k stars), Apple History Utilities (pdparchitect/noodle, 151 stars) and Performance Profiling (nirholas/three.ws, 227 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Swift Testing?

dpearson2699 (a GitHub user) maintains it in dpearson2699/swift-ios-skills, which has 1,175 GitHub stars. The repository holds 86 skills in this directory. The repository was last updated on July 31, 2026.

Source: dpearson2699/swift-ios-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.