Swift Concurrency
Swift 6 data-race diagnostics, actor isolation, callback-to-async migration
Test report
- Verdict
- Tested · Works
- Score
- Tested
- Jul 17, 2026
- Environment
- Claude Code 2.x (agent harness)
- Upstream re-checked
- Aug 10, 2026 · f10d8e6
Task: bring a model with a callback loader and shared cache to a clean build in Swift 6 — swiftc -swift-version 6 gave 3 errors «main actor-isolated property ... from a Sendable closure». The baseline run without the skill — a reflexive fix Task { @MainActor in ... } — compiled cleanly (0 errors), meaning both versions were equal according to the compiler. The difference emerged in the next step: the skill, following the rule «shared mutable state → actor», made Cache an actor, while the baseline version left it as a class; when I added a realistic requirement (warming the cache from a background Task.detached), the baseline option failed with the error «non-sendable type 'Cache' ... cannot cross actor boundary», while the skill version compiled cleanly (exit 0). The skill also first forced fixing the language mode and applied its Task entry isolation rule, leaving the inherited @MainActor, because the synchronous prefix mutates isLoading. All 15 references/ files were in place, installation was checked in an empty HOME without ~/.claude. A link to the author's paid course was present, but honestly disclosed in the footer and marked «use sparingly».
Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works
- Installs cleanly 5/5
- Triggers reliably 5/5
- Output vs. baseline 8/10
- Docs & honesty 5/5
What Swift Concurrency does
Diagnoses Swift Concurrency compiler errors and guides Swift 6 migration by first reading the project's language mode and isolation settings, then applying the smallest safe fix. Triggers on Sendable, @MainActor, actors, data races, or converting completion handlers to async/await.
How to install Swift Concurrency
git clone https://github.com/AvdLee/Swift-Concurrency-Agent-Skill.git
mkdir -p ~/.claude/skills
cd Swift-Concurrency-Agent-Skill && cp -r swift-concurrency ~/.claude/skills/swift-concurrency
Skills live in ~/.claude/skills/ (global) or .claude/skills/
(per-project). Restart Claude Code after installing.
Commands — how to trigger Swift Concurrency
-
/swift-concurrencySwift 6 data-race diagnostics, actor isolation, callback-to-async migration
It also activates on plain-language prompts like these:
-
My Swift 6 build throws main actor-isolated Sendable closure errors, help -
Migrate this completion-handler loader to async/await under Swift 6 strict mode -
This shared mutable cache won't cross the actor boundary in Swift 6
Frequently asked questions
- Is the Swift Concurrency skill free?
- Yes. The skill itself is free from AvdLee/Swift-Concurrency-Agent-Skill. SkillProof publishes the install command and an independent test verdict at no cost.
- Does Swift Concurrency work with Claude Code?
- We tested it with Claude Code 2.x (agent harness) on Jul 17, 2026. Verdict: Tested · Works. Task: bring a model with a callback loader and shared cache to a clean build in Swift 6 — swiftc -swift-version 6 gave 3 errors «main actor-isolated property ... from a Sendable closure». The baseline run without the skill — a reflexive fix Task { @MainActor in ... } — compiled cleanly (0 errors), meaning both versions were equal according to the compiler. The difference emerged in the next step: the skill, following the rule «shared mutable state → actor», made Cache an actor, while the baseline version left it as a class; when I added a realistic requirement (warming the cache from a background Task.detached), the baseline option failed with the error «non-sendable type 'Cache' ... cannot cross actor boundary», while the skill version compiled cleanly (exit 0). The skill also first forced fixing the language mode and applied its Task entry isolation rule, leaving the inherited @MainActor, because the synchronous prefix mutates isLoading. All 15 references/ files were in place, installation was checked in an empty HOME without ~/.claude. A link to the author's paid course was present, but honestly disclosed in the footer and marked «use sparingly».
- What is the Swift Concurrency SkillProof Score?
- 9.2/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 8/10, docs & honesty 5/5.
- How do I install Swift Concurrency?
- Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
- Can I use Swift Concurrency with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
- The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.