/ Каталог / Песочница / Axiom (xOS Dev Skills)
● Сообщество CharlesWiltgen ⚡ Сразу

Axiom (xOS Dev Skills)

автор CharlesWiltgen · CharlesWiltgen/Axiom

Разработка под платформы Apple без конфликтов со Swift 6 — самоуверенные скиллы для SwiftUI, structured concurrency, @Observable и современного build-инструментария.

Axiom — это Claude Code skill-набор для выпуска production-приложений на iOS / iPadOS / watchOS / tvOS. Соблюдает современные конвенции: SwiftUI-first, @Observable вместо ObservableObject, async/await вместо completion handler, value types, правила concurrency Swift 6. Включает проверку доступности, чеклист готовности к App Store и гигиену Xcode-проекта.

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

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

Живое демо

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

готово

Установка

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

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "axiom-xos-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/CharlesWiltgen/Axiom",
        "~/.claude/skills/axiom"
      ],
      "_inferred": true
    }
  }
}

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

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "axiom-xos-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/CharlesWiltgen/Axiom",
        "~/.claude/skills/axiom"
      ],
      "_inferred": true
    }
  }
}

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

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "axiom-xos-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/CharlesWiltgen/Axiom",
        "~/.claude/skills/axiom"
      ],
      "_inferred": true
    }
  }
}

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

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "axiom-xos-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/CharlesWiltgen/Axiom",
        "~/.claude/skills/axiom"
      ],
      "_inferred": true
    }
  }
}

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

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "axiom-xos-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/CharlesWiltgen/Axiom",
        "~/.claude/skills/axiom"
      ]
    }
  ]
}

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

~/.config/zed/settings.json
{
  "context_servers": {
    "axiom-xos-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/CharlesWiltgen/Axiom",
          "~/.claude/skills/axiom"
        ]
      }
    }
  }
}

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

claude mcp add axiom-xos-skill -- git clone https://github.com/CharlesWiltgen/Axiom ~/.claude/skills/axiom

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

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

Реальные сценарии: Axiom (xOS Dev Skills)

Мигрировать ViewModel на @Observable

👤 iOS-разработчики, переходящие на iOS 17+ ⏱ ~45 min advanced

Когда использовать: Приложение на iOS 17+, но ViewModel-ы всё ещё используют ObservableObject + @Published.

Предварительные требования
  • Скилл установлен — git clone https://github.com/CharlesWiltgen/Axiom ~/.claude/skills/axiom
  • Минимальный deployment target iOS 17 — Настройки проекта
Поток
  1. Инвентаризация
    Axiom: перечисли каждый ObservableObject + @Published в проекте. Отметь какие leaf, какие shared.✓ Скопировано
    → Список с формой + подсказками о зависимостях
  2. Мигрировать один
    Отрефактори ProfileViewModel на @Observable. Сохрани публичный API стабильным. Обнови байндинги его View-потребителей.✓ Скопировано
    → VM мигрирован; @Bindable используется в View; @Published не осталось
  3. Проверить
    Запусти xcodebuild для схемы. Сообщи о предупреждениях.✓ Скопировано
    → Чистая сборка; нет предупреждений Swift 6

Итог: Современная кодовая база на @Observable с более чистыми View.

Подводные камни
  • Существующие тесты полагаются на проекцию @Published ($name) — Тесты нужно переписать; не все паттерны доступа напрямую отображаются
Сочетать с: filesystem · ios-simulator-mcp

Исправить предупреждения concurrency Swift 6

👤 iOS-разработчики, готовящиеся к strict concurrency Swift 6 ⏱ ~60 min advanced

Когда использовать: Сборка желтеет от предупреждений Sendable / actor.

Поток
  1. Триаж
    Axiom concurrency-clean: классифицируй предупреждения на: (1) actor isolation, (2) Sendable conformance, (3) риск data race.✓ Скопировано
    → Категоризированный список
  2. Исправить actor isolation
    Сначала разберись с категорией 1. Предложи минимальные исправления; предпочитай @MainActor на UI-типах вместо глобальной изоляции.✓ Скопировано
    → Точечные изменения; без повсеместного @MainActor

Итог: Чистая сборка Swift 6 с намеренными границами concurrency.

Подводные камни
  • Злоупотребление @MainActor для «заглушить предупреждения» — Скилл это отмечает; используй правильный дизайн actor вместо этого

Запустить аудит доступности

👤 iOS-команды перед релизом ⏱ ~60 min intermediate

Когда использовать: Скоро подача в App Store; нужно покрыть VoiceOver/Dynamic Type.

Поток
  1. Сканировать View
    Axiom a11y: сканируй SwiftUI View. Отметь отсутствующие accessibilityLabel, захардкоженные размеры шрифтов, использование малоконтрастных цветов.✓ Скопировано
    → Список проблем по каждому View
  2. Запатчить топ проблемы
    Примени исправления для топ-10 проблем. Используй системные шрифты для Dynamic Type.✓ Скопировано
    → Патчи применены; сборка остаётся чистой

Итог: Приложение проходит базовый обход VoiceOver.

Подводные камни
  • Автосгенерированные метки не соответствуют ментальной модели пользователя — Переопределяй с намеренно-описательными метками
Сочетать с: ios-simulator-mcp

Комбинации

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

axiom-xos-skill + ios-simulator-mcp

Применить рекомендации скилла + smoke test на симуляторе

Axiom: мигрируй ProfileVM. Затем iOS-Simulator: запусти, сделай скриншот экрана профиля.✓ Скопировано
axiom-xos-skill + filesystem

Применять патчи по всему проекту

Axiom concurrency-clean: создай патчи для src/. Filesystem: примени их.✓ Скопировано
axiom-xos-skill + xcodebuildmcp

Верификация сборки после рефакторинга

После миграции, XcodeBuild: собери для симулятора. Сообщи о предупреждениях.✓ Скопировано

Инструменты

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

ИнструментВходные данныеКогда вызыватьСтоимость
vm_migrate_observable viewmodel_path Миграция каждого VM 0
concurrency_clean scope Подготовка к Swift 6 0
a11y_scan scope До релиза 0
appstore_checklist (нет) До подачи 0
xcode_hygiene project Периодическая очистка 0

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

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

Квота API
Н/П
Токенов на вызов
Сканирование проекта 10k–40k токенов
Деньги
Бесплатно
Совет
Сужай аудиты до одной фичи/папки; не фанаутируй по всему большому приложению

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

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

Минимальные скоупы: filesystem-read filesystem-write
Хранение учётных данных: Нет
Исходящий трафик: Нет

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

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

Миграция сломала использование @Bindable

Некоторые View требуют обёрток @Bindable; скилл должен их добавить — проверь что не пропустил

Исправления concurrency молча меняют семантику

Всегда запускай тесты после миграции; изменения concurrency тонкие

Предложения по доступности выглядят шаблонно

Скилл следует Apple HIG; дорабатывай своими метками

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

Axiom (xOS Dev Skills) в сравнении

АльтернативаКогда использоватьКомпромисс
AvdLee Swift Concurrency SkillНужна только concurrency, без более широкого набораБолее узкий
Apple's own Swift MigratorНужна одобренная Apple миграцияМенее интерактивный; меньше осведомлённость о проекте
twostraws SwiftUI Agent SkillТолько SwiftUI-фокусДругие предпочтения

Ещё

Ресурсы

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

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

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