Swift Concurrency Pro — скилл

Скилл Пола Хадсона для ревью конкурентного кода на Swift 6.2: акторы, Sendable, группы задач, отмена и типичные ошибки моделей

  • 577 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Минимальный доступ

Почему такой уровень

  • Скилл состоит из текстовых инструкций и справочных файлов, сам ничего не запускает
  • Агент читает исходники проекта, которые и так видит, а правки вносит по вашему запросу
Все причины и проверки

twostraws/swift-concurrency-agent-skill

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/swift-concurrency-pro

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Минимальный доступИнструмент ничего не запускает и не ходит в сеть.

  • Скилл состоит из текстовых инструкций и справочных файлов, сам ничего не запускает
  • Агент читает исходники проекта, которые и так видит, а правки вносит по вашему запросу

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Swift Concurrency Pro проверяет код на Swift: корректность конкурентности, современные API и типичные ловушки async/await. Автор — Пол Хадсон (Hacking with Swift), он собрал правила из своей книги о конкурентности и обзоров новинок Swift 6. Скилл нацелен на ошибки, которые допускают языковые модели: новые возможности, которых они не знают, старые функции, с которыми они путаются, и приемы, делающие код безопасным и быстрым. Проверка идет по шагам. Сначала агент ищет опасные паттерны по списку из `references/hotspots.md`, затем сверяет код с поведением Swift 6.2, разбирает реентерабельность акторов, предпочтение структурной конкуренции вместо `Task {}`, отмену, асинхронные потоки, мосты между синхронным и асинхронным кодом и миграцию со старых API. При строгих ошибках компилятора скилл сопоставляет диагностику с исправлением, а для тестов смотрит асинхронные шаблоны. Отчет сгруппирован по файлам: строка, нарушенное правило и короткий вариант до и после. Файлы без замечаний пропускаются, в конце идет приоритетный список главных правок. Придирок и выдуманных проблем в отчете нет, а `@unchecked Sendable` в качестве заглушки для компилятора скилл не предлагает.

Для кого. Для разработчиков под iOS и macOS, которые пишут на Swift 6 и просят агента проверить или переписать асинхронный код.

Подходит, если

  • Компилятор Swift 6 выдает ошибки строгой конкурентности, и нужно понять, какое исправление не заглушит проблему
  • Агент написал актор, и вы хотите проверить, не меняется ли состояние между двумя `await`
  • Проект переводят с Grand Central Dispatch и замыканий на `async/await` и группы задач
  • Нужно найти потерянную отмену, забытые `Task {}` и ошибки в `AsyncStream` и continuation
  • Перед релизом надо просмотреть асинхронные тесты и мосты между синхронным и асинхронным кодом

Не подходит, если

  • Нужно ревью интерфейса на SwiftUI: для этого у автора отдельный скилл SwiftUI Pro
  • Проект собирается на Swift старше 6.2: скилл ориентирован на Swift 6.2 и строгую проверку конкурентности
  • Нужно обучить агента основам `async/await`: скилл намеренно не пересказывает то, что модели и так знают
  • Низкоуровневый код держится на очередях и замках: скилл допускает GCD там, где он уместен, и ошибкой его не считает

Пример запроса к агенту

Используй скилл Swift Concurrency Pro и найди в проекте возможные проблемы с конкурентностью, начни с акторов и отмены задач

Ограничения

Скилл рассчитан на Swift 6.2 и более новые версии со строгой проверкой конкурентности. Если части проекта собираются с разными настройками, агент должен сначала сравнить параметры сборки целей и пакетов, а потом делать выводы.

Скилл — набор инструкций для агента: код он не запускает и компилятор не заменяет. Автор принял осознанное решение держать материал коротким, чтобы не тратить токены, поэтому базовые понятия в нем не разжеваны.

В README указаны iOS 26 и Swift 6.2 как целевая платформа.

Как отключить. В Claude Code удалите плагин swift-concurrency-pro через меню `/plugin`. Если ставили через `npx skills`, удалите папку swift-concurrency-pro из каталога скиллов агента, проектного или общего.

Частые вопросы

Как поставить Swift Concurrency Pro в Claude Code?

Добавьте маркетплейс командой `/plugin marketplace add twostraws/Swift-Concurrency-Agent-Skill`, затем установите плагин: `/plugin install swift-concurrency-pro@swift-concurrency-agent-skill`. Вызов скилла: `/swift-concurrency-pro`, можно с уточнением, например про миграцию.

Как вызвать скилл в Codex?

Командой `$swift-concurrency-pro`, при необходимости с задачей, например про переход на группы задач. Ставится он через `npx skills add https://github.com/twostraws/swift-concurrency-agent-skill --skill swift-concurrency-pro`, в мастере можно выбрать агентов и область: проект или все проекты.

Чем он отличается от другого скилла по конкурентности в Swift?

Скилл Пола Хадсона построен как ревью по шагам с отдельными справочными файлами: акторы, отмена, потоки, мосты, диагностика, тесты. Он нацелен на ошибки языковых моделей и не пересказывает основы, которые модели уже знают.

Что значит правило про `@unchecked Sendable`?

Скилл запрещает предлагать `@unchecked Sendable` ради того, чтобы убрать ошибку компилятора: это глушит диагностику, но гонку данных оставляет. Вместо этого он советует акторы, типы-значения или параметры `sending`, а допускает атрибут только для типов с внутренней блокировкой, безопасность которых можно доказать.

Какие еще скиллы есть у автора для Swift?

В README перечислены SwiftUI Pro, SwiftData Pro и Swift Testing Pro, а ссылка на Swift Agent Skills ведет к подборке скиллов для Swift и платформ Apple.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы
Выбор редакции

Скилл Пола Хадсона для ревью и написания SwiftUI под iOS 26: устаревшие API, поток данных, навигация, доступность, производительность

СкиллМинимальный доступ6,4 тыс.Звезды репозитория

Набор скиллов по iOS 26+, Swift 6.3 и SwiftUI: агент получает знания по современным фреймворкам Apple

СкиллМинимальный доступ1,2 тыс.Звезды репозитория

Скилл с практиками SwiftUI: состояние, композиция view, производительность, новые API, Liquid Glass и разбор трейсов Instruments

СкиллРасширенный доступ3,8 тыс.Звезды репозитория

Скилл проверяет проект iOS или macOS на частые причины отказа в App Store до отправки на ревью

СкиллРасширенный доступ1,4 тыс.Звезды репозитория

Скиллы для разработки под Apple: справочники по SwiftUI, UIKit и Liquid Glass, гайды по Swift 6 и маршрутизатор для задач iOS 26

СкиллМинимальный доступ349Звезды репозитория

Скилл, который для SwiftUI-приложения собирает встроенную съемку экранов и элементов и прогоняет ее по всем локалям для App Store

СкиллРасширенный доступ265Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйЗвезды репозиторияГлавное отличие
Swift Concurrency Pro (эта запись)нет577
Swift Concurrency Agent Skillнет1 694другой скилл по конкурентности в Swift от другого автора, с собственным набором справочных файлов
SwiftUI Proнет6 395тот же автор, но ревью интерфейсов SwiftUI, а не конкурентности

Коротко о README

README объясняет, что скилл помогает Claude Code, Codex, Cursor и Gemini писать конкурентный код на Swift, и показывает способы установки: маркетплейс плагинов для Claude Code и `npx skills` для остальных. Затем описаны вызовы по имени и естественным языком, причины создать такой скилл и правила для тех, кто хочет внести правки: коротко, без повторения того, что модели знают, и под лицензией MIT.

Бейдж для README

Исходный SKILL.md

---
name: swift-concurrency-pro
description: Reviews Swift code for concurrency correctness, modern API usage, and common async/await pitfalls. Use when reading, writing, or reviewing Swift concurrency code.
license: MIT
metadata:
  author: Paul Hudson
  version: "1.0"
---

Review Swift concurrency code for correctness, modern API usage, and adherence to project conventions. Report only genuine problems - do not nitpick or invent issues.

Review process:

1. Scan for known-dangerous patterns using `references/hotspots.md` to prioritize what to inspect.
1. Check for recent Swift 6.2 concurrency behavior using `references/new-features.md`.
1. Validate actor usage for reentrancy and isolation correctness using `references/actors.md`.
1. Ensure structured concurrency is preferred over unstructured where appropriate using `references/structured.md`.
1. Check unstructured task usage for correctness using `references/unstructured.md`.
1. Verify cancellation is handled correctly using `references/cancellation.md`.
1. Validate async stream and continuation usage using `references/async-streams.md`.
1. Check bridging code between sync and async worlds using `references/bridging.md`.
1. Review any legacy concurrency migrations using `references/interop.md`.
1. Cross-check against common failure modes using `references/bug-patterns.md`.
1. If the project has strict-concurrency errors, map diagnostics to fixes using `references/diagnostics.md`.
1. If reviewing tests, check async test patterns using `references/testing.md`.

If doing a partial review, load only the relevant reference files.


## Core Instructions

- Target Swift 6.2 or later with strict concurrency checking.
- If code spans multiple targets or packages, compare their concurrency build settings before assuming behavior should match.
- Prefer structured concurrency (task groups) over unstructured (`Task {}`).
- Prefer Swift concurrency over Grand Central Dispatch for new code. GCD is still acceptable in low-level code, framework interop, or performance-critical synchronous work where queues and locks are the right tool – don't flag these as errors.
- If an API offers both `async`/`await` and closure-based variants, always prefer `async`/`await`.
- Do not introduce third-party concurrency frameworks without asking first.
- Do not suggest `@unchecked Sendable` to fix compiler errors. It silences the diagnostic without fixing the underlying race. Prefer actors, value types, or `sending` parameters instead. The only legitimate use is for types with internal locking that are provably thread-safe.

Сообщить о проблеме

Foxx AISwift Concurrency Pro
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.