# swift-concurrency

Guides your coding assistant through async/await, actor boundaries, and Swift 6 strict concurrency checks without careless @MainActor escapes.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 62
- Author: wendylabsinc
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/wendylabsinc/claude-skills/tree/HEAD/swift-concurrency/SKILL.md
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/skills/wendylabsinc-swift-concurrency

## What it does

This skill guides models through modern Swift concurrency rules. Before suggesting code changes, the agent inspects the project configuration in `Package.swift` or `project.pbxproj` to confirm the Swift mode, toolchain version, and strict concurrency level. It asks for clarification if isolation flags are missing.

The workflow forbids slapping `@MainActor` on arbitrary types just to silence compiler errors. It forces the model to trace isolation boundaries and prioritize structured concurrency, such as task groups and `async let`. When workarounds like `@unchecked Sendable` or `nonisolated(unsafe)` are unavoidable, the assistant must document safety invariants.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add wendylabsinc/claude-skills --skill swift-concurrency -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/swift-concurrency/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/swift-concurrency/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add wendylabsinc/claude-skills --skill swift-concurrency -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/swift-concurrency/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add wendylabsinc/claude-skills --skill swift-concurrency -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/swift-concurrency/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install wendylabsinc/claude-skills swift-concurrency
```

2. **Manually: put the files in place**
- File: `.github/skills/swift-concurrency/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add wendylabsinc/claude-skills --skill swift-concurrency -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/wendylabsinc/claude-skills --path swift-concurrency
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/swift-concurrency/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add wendylabsinc/claude-skills --skill swift-concurrency -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/wendylabsinc/claude-skills/tree/HEAD/swift-concurrency/SKILL.md

## When to use it
- migrate legacy closure callbacks to async/await
- fix compiler diagnostics about passing non-Sendable values
- adapt codebases for Swift 6 strict concurrency mode
- organize parallel jobs with structured task groups

## Example prompts
- Check this manager class for data race issues under Swift 6 mode
- Refactor this array processing loop using `withTaskGroup`
- Fix the nonisolated context warning without adding `@MainActor`

## Similar
- [vercel-react-native-skills](https://affpapa.org/en/nevibecode/skills/vercel-react-native-skills.md) — skill · 255200 installs
- [animate-expo](https://affpapa.org/en/nevibecode/skills/animate-expo.md) — skill · 137900 installs
- [mobile-native](https://affpapa.org/en/nevibecode/skills/mobile-native.md) — skill · 86600 installs
- [aso](https://affpapa.org/en/nevibecode/skills/aso.md) — skill · 75900 installs
- [paywalls](https://affpapa.org/en/nevibecode/skills/paywalls.md) — skill · 71000 installs
- [swiftui-pro](https://affpapa.org/en/nevibecode/skills/swiftui-pro.md) — skill · 35200 installs

## Other versions with the same name
- [swift-concurrency · avdlee](https://affpapa.org/en/nevibecode/skills/swift-concurrency.md) — 17100 installs
- [swift-concurrency · dpearson2699](https://affpapa.org/en/nevibecode/skills/dpearson2699-swift-concurrency.md) — 4300 installs
- [swift-concurrency · prisma-labs-dev](https://affpapa.org/en/nevibecode/skills/prisma-labs-dev-swift-concurrency.md) — 643 installs

From the same set: [wendylabsinc/claude-skills](https://affpapa.org/en/nevibecode/by/wendylabsinc/claude-skills.md) — 25 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
