Как отучить нейросети писать устаревший SwiftUI-код

24 авг 2026
4,561
162
57
4 месяца

SwiftUI Pro - Agent Skill for Claude Code, Codex, and Gemini

Designed for iOS 26 and later. Designed for Swift 6.2 and later. Twitter: @twostraws

Если вы пробовали генерировать верстку для iOS с помощью современных LLM вроде Claude или моделей в Cursor, то наверняка замечали странности. Модель уверенно выдает рабочий на вид экран, компилятор не ругается, но внутри скрыт зоопарк из старых API. Например, NavigationView, который Apple списала в архив еще пару лет назад, или самодельные костыли для анимаций там, где давно есть встроенные модификаторы.

Хуже всего дела обстоят с VoiceOver. Ассистенты обожают накручивать слои из кастомных жестов, напрочь ломая доступность для незрячих пользователей.

Пол Хадсон, автор проекта Hacking with Swift, решил эту проблему системно. Он собрал репозиторий twostraws/SwiftUI-Agent-Skill, который обучает ассистентов правильным привычкам в декларативном UI.

Реклама

Что представляет собой SwiftUI Pro

По сути, это специализированный скилл в открытом стандарте Agent Skills. Формат поддерживают Claude Code, Codex, Gemini, Cursor и расширения для Xcode.

Вместо бесконечного ручного напоминания в системном промпте «не используй устаревший синтаксис», вы подключаете к агенту готовую базу правил. Скилл базируется на наработках Хадсона из проекта AGENTS.md и сфокусирован именно на тех граблях, на которые большие языковые модели наступают чаще всего.

Что внутри этой базы знаний:

  • разбор актуальной навигации и связывания состояний;
  • правила оптимизации перерисовок во View;
  • проверка доступности элементов управления для VoiceOver;
  • каталог мягко устаревших (soft-deprecated) методов, которые компилятор еще пропускает, но писать так уже не стоит.

У автора есть похожие скиллы под другие части платформы: SwiftData Pro, Swift Concurrency Pro и Swift Testing Pro.

Как установить скилл в свои инструменты

Подключение занимает меньше минуты через npx:

npx skills add https://github.com/twostraws/swiftui-agent-skill --skill swiftui-pro

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

Если вы работаете в Claude Code, можно воспользоваться встроенным менеджером плагинов:

/plugin marketplace add twostraws/SwiftUI-Agent-Skill
/plugin install swiftui-pro@swiftui-agent-skill

Для пользователей Xcode автор записал отдельное видео с разбором интеграции в процесс разработки. При желании репозиторий можно просто склонировать и забирать правила локально.

Как запускать проверки

После установки скилл активируется через команды или на естественном языке. В Claude Code достаточно ввести:

/swiftui-pro

Ассистент Codex отзывается на похожую конструкцию:

$swiftui-pro

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

/swiftui-pro Check for deprecated API

Либо обычным промптом: «Используй скилл SwiftUI Pro и найди проблемы с производительностью в этом модуле».

Экономия токенов и фокус на неочевидном

Интересная деталь в философии проекта: автор жестко следит за размером инструкций. Базовые вещи, которые модели и так знают без подсказок (вроде синтаксиса VStack или модификатора .padding()), сюда намеренно не включают. Каждая строчка контекста тратит лимиты контекстного окна, поэтому правила содержат только тонкие места, краевые случаи и неочевидные подводные камни рендеринга.

Если вы захотите отправить пуллреквест с собственным правилом, держите в голове два условия: максимальная краткость формулировок и лицензия MIT.

Hacking with Swift+ logo

 

Hacking with Swift logo
A Hacking with Swift Project

Кому пригодится репозиторий

Если вы пишете под iOS или macOS и активно пользуетесь ИИ-агентами прямо в редакторе, ставить однозначно стоит. Это избавляет от необходимости вычищать легаси-код за нейросетью и сразу направляет генерацию интерфейсов в сторону свежих стандартов Swift.

Начните с установки через npx в одном небольшом пет-проекте и попросите агента провести ревью экрана с анимациями. Разница в предложенных диффах будет видна сразу.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.