swiftui-view-refactor · harperreed — скилл для Claude Code: рефакторинг SwiftUI
Скилл помогает приводить SwiftUI-вью к единой структуре, правильно передавать зависимости и работать с Observation. Пригодится при ревью экранов и рефакторинге существующего кода.
npx skills add harperreed/dotfiles --skill swiftui-view-refactor -a claude-codeЧто делает swiftui-view-refactor
Скилл задаёт порядок свойств и методов в SwiftUI-вью: сначала окружение и хранимые свойства, затем вычисляемые переменные, инициализатор и body, после него вспомогательные представления и функции. Большие тела экранов предлагается разбивать на небольшие компоненты, передавая им данные, привязки и обработчики событий. Так код проще читать без лишнего усложнения архитектуры.
Основной подход — Model-View: бизнес-логика остаётся в моделях и сервисах, а представления управляют состоянием через @State, @Environment, @Query, task и onChange. Для корневых вью с объектами @Observable скилл рекомендует хранить их в @State. Если во вью уже есть view model, её предлагается сделать необязательной только при необходимости, а зависимости передавать через init.
Для файлов длиннее примерно 300 строк предусмотрено разделение вспомогательного кода по private-расширениям с комментариями // MARK: -. При рефакторинге нужно сохранить поведение: менять компоновку и бизнес-логику можно только по запросу. Это особенно важно при разбиении экранов на компоненты, чтобы случайно не изменить существующий интерфейс.
Какие задачи решает
- Привести свойства и методы SwiftUI-вью к единому порядку
- Разбить большой
bodyна небольшие компоненты - Передать сервисы и модели через
@Environmentиinit - Исправить хранение
@Observable-объектов в корневой вью - Разнести вспомогательные методы длинного файла по
private-расширениям
Примеры запросов агенту
- Отрефактори этот SwiftUI-экран по правилам скилла: упорядочи свойства и методы, сохрани поведение.
- Раздели большой
bodyна небольшие компоненты и передавай им только необходимые данные и обработчики. - Проверь, как во вью создаётся view model и хранится объект
@Observable, затем приведи код к подходу Model-View.
Как установить swiftui-view-refactor
1Через Skills CLI (Vercel)
npx skills add harperreed/dotfiles --skill swiftui-view-refactor -a claude-code2Вручную: положить файлы
~/.claude/skills/swiftui-view-refactor/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/swiftui-view-refactor/
1Через Skills CLI (Vercel)
npx skills add harperreed/dotfiles --skill swiftui-view-refactor -a codex2Вручную: положить файлы
.agents/skills/swiftui-view-refactor/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add harperreed/dotfiles --skill swiftui-view-refactor -a cursor2Вручную: положить файлы
.cursor/skills/swiftui-view-refactor/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install harperreed/dotfiles swiftui-view-refactor2Вручную: положить файлы
.github/skills/swiftui-view-refactor/SKILL.md1Через Skills CLI (Vercel)
npx skills add harperreed/dotfiles --skill swiftui-view-refactor -a gemini-cli2Командой платформы
gemini skills install https://github.com/harperreed/dotfiles --path .claude/skills/swiftui-view-refactorВручную: положить файлы
.devin/skills/swiftui-view-refactor/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add harperreed/dotfiles --skill swiftui-view-refactor -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о swiftui-view-refactor
Как установить swiftui-view-refactor в Claude Code?
Выполни npx skills add harperreed/dotfiles --skill swiftui-view-refactor -a claude-code. Файл с инструкциями находится по пути ~/.claude/skills/swiftui-view-refactor/SKILL.md.
Что делает скилл swiftui-view-refactor?
Он помогает упорядочивать SwiftUI-вью, выделять подкомпоненты и корректно организовывать зависимости и состояние Observation. При этом существующее поведение сохраняется, если изменение не запрошено отдельно.
Нужно ли добавлять view model при рефакторинге SwiftUI?
Нет, скилл рекомендует не вводить новую view model без явной необходимости. Если она уже существует, зависимости передаются через init, а состояние по возможности хранится в необязательном @State-обёртывании с неoptional-значением.
Похожие скиллы
Все скиллы по теме «Фронтенд и UI» →Сначала — swiftui-view-refactor от других авторов.