Swift Concurrency

Swift 6 data-race diagnostics, actor isolation, callback-to-async migration

Tested · Works

Test report

Verdict
Tested · Works
Score
9.2/10
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-concurrency Swift 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.