Swift Concurrency Agent Skill
Скилл по конкурентности в Swift: безопасная работа с акторами и задачами, разбор гонок данных и миграция на Swift 6
Низкий риск
Низкий уровень ставим, когда запись в основном дает агенту инструкции и справочные материалы.
Почему такой уровень
- Скилл состоит из инструкций и справочников, код меняет агент под контролем пользователя
Установка
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/swift-concurrency-agent-skillОпределит агенты на машине, проверит риск и зафиксирует версию.
Другие способы установки
Выполните в терминале в папке проекта
npx skills add avdlee/swift-concurrency-agent-skill --skill swift-concurrency -a claude-code -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита d577081
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/avdlee/swift-concurrency-agent-skill.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/swift-concurrency/
git -C "$tmp" checkout d5770817d2622e1585b1f7eaebc791a9cb0959c8
mkdir -p .claude/skills
cp -R "$tmp/skills/swift-concurrency" .claude/skills/swift-concurrencyКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add avdlee/swift-concurrency-agent-skill --skill swift-concurrency -a cursor -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита d577081
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/avdlee/swift-concurrency-agent-skill.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/swift-concurrency/
git -C "$tmp" checkout d5770817d2622e1585b1f7eaebc791a9cb0959c8
mkdir -p .agents/skills
cp -R "$tmp/skills/swift-concurrency" .agents/skills/swift-concurrencyКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add avdlee/swift-concurrency-agent-skill --skill swift-concurrency -a github-copilot -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита d577081
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/avdlee/swift-concurrency-agent-skill.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/swift-concurrency/
git -C "$tmp" checkout d5770817d2622e1585b1f7eaebc791a9cb0959c8
mkdir -p .github/skills
cp -R "$tmp/skills/swift-concurrency" .github/skills/swift-concurrencyКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add avdlee/swift-concurrency-agent-skill --skill swift-concurrency -a codex -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита d577081
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/avdlee/swift-concurrency-agent-skill.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/swift-concurrency/
git -C "$tmp" checkout d5770817d2622e1585b1f7eaebc791a9cb0959c8
mkdir -p .agents/skills
cp -R "$tmp/skills/swift-concurrency" .agents/skills/swift-concurrencyКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add avdlee/swift-concurrency-agent-skill --skill swift-concurrency -a gemini-cli -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита d577081
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/avdlee/swift-concurrency-agent-skill.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/swift-concurrency/
git -C "$tmp" checkout d5770817d2622e1585b1f7eaebc791a9cb0959c8
mkdir -p .agents/skills
cp -R "$tmp/skills/swift-concurrency" .agents/skills/swift-concurrencyКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/avdlee/swift-concurrency-agent-skill.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/swift-concurrency/
git -C "$tmp" checkout d5770817d2622e1585b1f7eaebc791a9cb0959c8
mkdir -p .devin/skills
cp -R "$tmp/skills/swift-concurrency" .devin/skills/swift-concurrencyКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Бывший Windsurf.
Выполните в терминале в папке проекта
npx skills add avdlee/swift-concurrency-agent-skill --skill swift-concurrency -a cline -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита d577081
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/avdlee/swift-concurrency-agent-skill.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/swift-concurrency/
git -C "$tmp" checkout d5770817d2622e1585b1f7eaebc791a9cb0959c8
mkdir -p .cline/skills
cp -R "$tmp/skills/swift-concurrency" .cline/skills/swift-concurrencyКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add avdlee/swift-concurrency-agent-skill --skill swift-concurrency -a roo -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита d577081
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/avdlee/swift-concurrency-agent-skill.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/swift-concurrency/
git -C "$tmp" checkout d5770817d2622e1585b1f7eaebc791a9cb0959c8
mkdir -p .roo/skills
cp -R "$tmp/skills/swift-concurrency" .roo/skills/swift-concurrencyКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Форк Roo Code, папки .roo те же.
Выполните в терминале в папке проекта
npx skills add avdlee/swift-concurrency-agent-skill --skill swift-concurrency -a opencode -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита d577081
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/avdlee/swift-concurrency-agent-skill.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/swift-concurrency/
git -C "$tmp" checkout d5770817d2622e1585b1f7eaebc791a9cb0959c8
mkdir -p .agents/skills
cp -R "$tmp/skills/swift-concurrency" .agents/skills/swift-concurrencyКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/avdlee/swift-concurrency-agent-skill.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/swift-concurrency/
git -C "$tmp" checkout d5770817d2622e1585b1f7eaebc791a9cb0959c8
mkdir -p .agents/skills
cp -R "$tmp/skills/swift-concurrency" .agents/skills/swift-concurrencyКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/avdlee/swift-concurrency-agent-skill.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/swift-concurrency/
git -C "$tmp" checkout d5770817d2622e1585b1f7eaebc791a9cb0959c8
mkdir -p .agents/skills
cp -R "$tmp/skills/swift-concurrency" .agents/skills/swift-concurrencyКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Установи скилл командой npx skills@latest add https://github.com/avdlee/swift-concurrency-agent-skill --skill swift-concurrency. В Claude Code можно через /plugin marketplace add AvdLee/Swift-Concurrency-Agent-Skill и /plugin install swift-concurrency@swift-concurrency-agent-skill.
Другие способы из описания автора
npx skills@latest add https://github.com/avdlee/swift-concurrency-agent-skill --skill swift-concurrencyРекомендуемый способ через менеджер skills.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Скилл дает кодовому агенту экспертные правила по конкурентности в Swift в открытом формате Agent Skills. Он ведет агента по короткому алгоритму: сначала определить языковой режим, уровень строгой конкурентности и границы изоляции по настройкам проекта, затем предложить наименьшее безопасное изменение. Материал разбит на справочники по акторам, задачам, Sendable, async последовательностям, управлению памятью, тестированию, работе с Core Data и миграции. Скилл помогает разбирать ошибки изоляции и гонки данных, переписывать код на async и await и включать строгие проверки постепенно. Отдельно заданы предостережения: не назначать MainActor как универсальное лечение и не рефакторить лишнее при миграции.
Для кого. Для разработчиков на Swift, которые переходят на строгую конкурентность и Swift 6 или разбирают гонки данных.
Подходит, если
- Компилятор ругается на изоляцию актора или Sendable
- Нужно перевести проект на строгую конкурентность или Swift 6
- Нужно переписать код с замыканиями на async и await без гонок
Не подходит, если
- Задача не связана со Swift и его конкурентностью
- Нужен инструмент, который меняет код сам, а не справочник и правила для агента
Пример запроса к агенту
Используй скилл swift-concurrency и разбери ошибку изоляции актора в этом файле, предложи минимальную безопасную правкуОграничения
Скилл дает правила и справочники, код меняет сам агент под вашим контролем. Часть ссылок ведет на платный курс автора и нужна только для углубленного изучения, сам скилл распространяется по лицензии MIT. По границам изоляции и настройкам проекта скилл просит подтверждения, а не угадывает.
Как отключить. Удалите скилл командой менеджера, которым ставили, например npx skills@latest, или уберите папку skills/swift-concurrency из каталога скиллов. При установке плагином удалите его через /plugin.
Проверка безопасности
- Скилл состоит из инструкций и справочников, код меняет агент под контролем пользователя
Коротко о README
README представляет скилл экспертных рекомендаций по конкурентности в Swift для любого агента, поддерживающего открытый формат Agent Skills. Репозиторий упакован как переносимый Agent Plugin с манифестами для Claude Code, Cursor, Codex и pi, а установка описана через skills.sh, каталог плагинов OpenAI, плагин Claude Code, Cursor, Gemini CLI и вручную. Скилл охватывает выбор инструментов конкурентности, безопасный код без гонок, оптимизацию, миграцию на Swift 6, тестирование и работу с Core Data. Материал основан на курсе автора по конкурентности в Swift и сведен в краткие справочники. Лицензия MIT.
SKILL.md
--- name: swift-concurrency description: Diagnose Swift Concurrency issues, refactor callback-based code to async/await, and guide Swift 6 migration when working with tasks, actors, @MainActor, Sendable, data races, thread safety, or concurrency-related compiler and linter warnings. --- # Swift Concurrency ## Fast Path Before proposing a fix: 1. Analyze `Package.swift` or `.pbxproj` to determine Swift language mode, strict concurrency level, default isolation, and upcoming features. Do this always, not only for migration work. 2. Capture the exact diagnostic and offending symbol. 3. Determine the isolation boundary: `@MainActor`, custom actor, actor instance isolation, or `nonisolated`. 4. Confirm whether the code is UI-bound or intended to run off the main actor. Guardrails: - Do not recommend `@MainActor` as a blanket fix. Justify why the code is truly UI-bound. - Prefer structured concurrency over unstructured tasks. Use `Task.detached` only with a clear reason. - If recommending `@preconcurrency`, `@unchecked Sendable`, or `nonisolated(unsafe)`, require a documented safety invariant and a follow-up removal plan. - Optimize for the smallest safe change. Do not refactor unrelated architecture during migration.
Частые вопросы
С какими агентами работает скилл?
С любыми, кто поддерживает открытый формат Agent Skills. В репозитории есть манифесты для Claude Code, Cursor, Codex и pi, установка возможна через skills.sh, Gemini CLI и вручную.
Скилл платный?
Нет, сам скилл под лицензией MIT. Платный только курс автора, ссылки на который приведены для углубленного изучения.
Похожие
Набор скиллов, который задает агенту процесс разработки: уточнение задачи, план, TDD, субагенты и ревью кода
Скиллы Мэтта Покока для инженеров
Skills For Real Engineers
Небольшие компонуемые скиллы для инженерной работы с агентом: интервью по плану, TDD, диагностика багов, ревью и архитектура
Набор GitHub для разработки от спецификации: CLI specify ставит в проект команды и скиллы для агента, от принципов до реализации
Референсные MCP-серверы
Model Context Protocol servers
Официальные референсные MCP-серверы: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time и Everything