/ Каталог / Песочница / Swift Concurrency Migration Skill
● Сообщество kylehughes ⚡ Сразу

Swift Concurrency Migration Skill

автор kylehughes · kylehughes/the-unofficial-swift-concurrency-migration-skill

Выпускайте параллельную среду Swift 6 с уверенностью — официальное руководство Apple по миграции загружается в Claude в качестве навыка, поэтому агенты цитируют реальную документацию.

Этот навык объединяет руководство Apple по миграции с параллелизмом Swift (статьи + примеры кода) в пакет SKILL.md/resources, чтобы Claude Code, Claude Desktop и совместимые клиенты могли точно ссылаться на руководство при преобразовании устаревшего кода обратного вызова/DispatchQueue в async/await, актеров и строгий параллелизм. Полезно для Swift 6/миграций со строгим параллелизмом, где получение правильных границ изоляции — это вся игра.

Зачем использовать

Ключевые функции

Живое демо

Как выглядит на практике

swift-concurrency-migration-skill.replay ▶ готово
0/0

Установка

Выберите клиент

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "swift-concurrency-migration-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "kylehughes/the-unofficial-swift-concurrency-migration-skill"
      ],
      "_inferred": false
    }
  }
}

Откройте Claude Desktop → Settings → Developer → Edit Config. Перезапустите после сохранения.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "swift-concurrency-migration-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "kylehughes/the-unofficial-swift-concurrency-migration-skill"
      ],
      "_inferred": false
    }
  }
}

Cursor использует ту же схему mcpServers, что и Claude Desktop. Конфиг проекта приоритетнее глобального.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "swift-concurrency-migration-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "kylehughes/the-unofficial-swift-concurrency-migration-skill"
      ],
      "_inferred": false
    }
  }
}

Щёлкните значок MCP Servers на боковой панели Cline, затем "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "swift-concurrency-migration-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "kylehughes/the-unofficial-swift-concurrency-migration-skill"
      ],
      "_inferred": false
    }
  }
}

Тот же формат, что и Claude Desktop. Перезапустите Windsurf для применения.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "swift-concurrency-migration-skill",
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "kylehughes/the-unofficial-swift-concurrency-migration-skill"
      ]
    }
  ]
}

Continue использует массив объектов серверов, а не map.

~/.config/zed/settings.json
{
  "context_servers": {
    "swift-concurrency-migration-skill": {
      "command": {
        "path": "claude",
        "args": [
          "plugin",
          "marketplace",
          "add",
          "kylehughes/the-unofficial-swift-concurrency-migration-skill"
        ]
      }
    }
  }
}

Добавьте в context_servers. Zed перезагружается автоматически.

claude mcp add swift-concurrency-migration-skill -- claude plugin marketplace add kylehughes/the-unofficial-swift-concurrency-migration-skill

Однострочная команда. Проверить: claude mcp list. Удалить: claude mcp remove.

Сценарии использования

Реальные сценарии: Swift Concurrency Migration Skill

Преобразование модуля DispatchQueue с интенсивным использованием в async/await

👤 Инженеры iOS/macOS модернизируют устаревшую кодовую базу ⏱ ~90 min advanced

Когда использовать: У вас есть модуль, сочетающий DispatchQueue, обработчики завершения и замыкания @escaping; вы хотите асинхронный/ожидающий.

Предварительные требования
  • Xcode с Swift 5.9+ (режим Swift 6, если вам нужен строгий параллелизм) — Установите Xcode из App Store
  • Навык установлен — /рынок плагинов добавить kylehughes/the-unofficial-swift-concurrency-migration-skill
Поток
  1. Запросите план миграции
    Расскажите мне, как перенести NetworkService.swift на async/await, сославшись на Руководство по миграции Swift Concurrency Migration.✓ Скопировано
    → Планируйте ссылки на названные статьи в руководстве.
  2. Подавайте заявку шаг за шагом
    Начните с общедоступного API — преобразуйте методы обработчика завершения в async/await.✓ Скопировано
    → В коде используются идиоматические асинхронные API, а не обратные вызовы оболочки.
  3. Обработка отмены и изоляции
    Добавьте отмену задачи и определите изоляцию субъектов для кэша.✓ Скопировано
    → Правильная Task.checkCancellation + явная изоляция актера

Итог: Модуль перенесен без проблем, с обоснованием, связанным с собственными рекомендациями Apple.

Подводные камни
  • Обертывание обратных вызовов с помощью withCheckedContinuation без фиксации владельца — Сначала перенесите корневой API; не оставляйте продолжения как постоянные мосты

Аудит базы кода на наличие предупреждений о соответствии Sendable

👤 Команды включают строгую проверку параллелизма в Swift 6 ⏱ ~60 min advanced

Когда использовать: Вы перевернули языковой режим и теперь компилятор орёт.

Поток
  1. Кластеризируйте предупреждения
    Сгруппируйте отправляемые предупреждения в этом журнале сборки по категориям (тип значения, класс, захват закрытия).✓ Скопировано
    → Очистить ведра с типичными исправлениями из руководства.
  2. Применить канонические исправления
    Для каждого сегмента примените исправление из руководства по миграции Swift Concurrency Migration Guide; объяснить компромиссы.✓ Скопировано
    → Исправления ссылаются на @unchecked Sendable только там, где это оправдано.

Итог: Сборка Swift 6, которая компилируется с документированным обоснованием каждого выбора.

Подводные камни
  • Использование @unchecked Sendable в качестве глушителя — Руководство явно предостерегает от этого — оставьте резерв для коробочных устаревших API с документированной потокобезопасностью.
Сочетать с: xcodebuild

Решите, где представить актеров или GlobalActor.

👤 Архитекторы рисуют границы изоляции ⏱ ~30 min intermediate

Когда использовать: Вы моделируете общее состояние и не уверены, какой вариант актера подойдет.

Поток
  1. Опишите состояние
    Описание состояния: <кэш профилей пользователей; читаю тяжело, пишу каждые 5 минут>.✓ Скопировано
    → Навык ссылается на разделы руководства «Актер» и «GlobalActor».
  2. Получить рекомендацию
    Рекомендовать актера против GlobalActor с цитатами.✓ Скопировано
    → Рекомендации основаны на разделах руководства, а не на общих передовых практиках.

Итог: Модель изоляции, которую можно защитить в обзоре.

Сочетать с: jetpack-compose-skill

Комбинации

Сочетайте с другими MCP — эффект x10

swift-concurrency-migration-skill + xcodebuild

Итерация: миграция → сборка → исправление предупреждений → повторение.

После каждого редактирования запускайте xcodebuild и передайте предупреждения Swift 6 обратно в навык.✓ Скопировано
swift-concurrency-migration-skill + the-unofficial-swift-programming-language-skill

Общие вопросы по языку Swift, а также рекомендации по параллелизму

Объяснить пакеты общих параметров; затем примените параллельную миграцию.✓ Скопировано
swift-concurrency-migration-skill + jetpack-compose-skill

Сравните сопрограммы Android Compose с параллелизмом Swift при выполнении кроссплатформенной работы.

Наша команда iOS использует async/await; Команда Android использует сопрограммы. Согласуйте шаблоны параллелизма для общего уровня API.✓ Скопировано

Инструменты

Что предоставляет этот MCP

ИнструментВходные данныеКогда вызыватьСтоимость
migrating-to-swift-concurrency (SKILL) natural-language code questions Всякий раз, когда вы затрагиваете параллелизм Swift и хотите получить авторитетные ответы 0

Стоимость и лимиты

Во что обходится

Квота API
Никто
Токенов на вызов
Зависит от того, насколько загружено руководство; узкий круг вопросов
Деньги
Бесплатно
Совет
Задавайте точные вопросы (назовите файл, назовите предупреждение), чтобы навык загружал только соответствующие разделы.

Безопасность

Права, секреты, радиус поражения

Хранение учётных данных: Нет учетных данных
Исходящий трафик: Нет — контент группируется локально.

Устранение неполадок

Частые ошибки и исправления

Навык не активируется

Проверьте описание SKILL.md — вот что его вызывает. Также убедитесь, что вы используете Claude Code или клиент, совместимый с Agent Skill.

Проверить: head ~/.claude/skills/migrating-to-swift-concurrency-skill/SKILL.md
Ответы кажутся общими, без цитирования разделов.

Укажите явно: «цитируйте раздел «Руководство по миграции Swift Concurrency Migration». У навыка есть текст — заставьте его использовать его.

Установка не удалась через /plugin

Обновите Claude Code до версии, поддерживающей торговую площадку /plugin. Альтернативно, загрузите ZIP-файл выпуска.

Проверить: claude --version

Альтернативы

Swift Concurrency Migration Skill в сравнении

АльтернативаКогда использоватьКомпромисс
the-unofficial-swift-programming-language-skillВам нужна книга по языку Swift, а не руководство по параллелизмуБолее широкий, менее ориентированный на миграцию
xcodebuildВы хотите автоматизировать сборки/тесты, а не мигрировать код.Ортогональный инструмент

Ещё

Ресурсы

📖 Читать официальный README на GitHub

🐙 Открытые задачи

🔍 Все 400+ MCP-серверов и Skills