SwiftUI аудит производительности
Audit and improve SwiftUI runtime performance from code review and architecture. Use for requests to diagnose slow rendering, janky scrolling, high CPU/memory usage, excessive view updates, or layout thrash in SwiftUI apps, and to provide guidance for user-run Instruments profiling when code review alone is insufficient.
Что делает навык
Навык диагностирует проблемы производительности SwiftUI (медленный рендеринг, дерганая прокрутка, высокая нагрузка CPU/памяти) через первичный анализ кода и архитектуры. При недостатке информации он направляет пользователя к сбору профайлинговых данных в Instruments для точной валидации гипотез.
Когда применять
- Диагностика медленного рендеринга или «дерганой» прокрутки в интерфейсах SwiftUI.
- Анализ высокой загрузки CPU, роста памяти или зависаний приложения.
- Выявление избыточных обновлений view или задержек layout из-за сложных иерархий.
- Получение рекомендаций по профилированию в Instruments, когда ревью кода недостаточно.
Как работает
- Соберите вводные данные: код целевого view, симптомы, шаги воспроизведения, поток данных (@State, @Binding, environment) и условия запуска (устройство/симулятор, Debug/Release).
- Проведите code-first review, проверяя код на invalidation storms, нестабильные identity в ForEach, тяжелые вычисления в body, layout thrash и работу с изображениями в главном потоке.
- Если код не объясняет проблему, запросите runtime-доказательства: трейсы, скриншоты SwiftUI timeline, Time Profiler и конфигурацию устройства.
- Проанализируйте доказательства, сопоставив их с категориями проблем (invalidation, identity churn, layout thrash и др.), и приоритизируйте их по влиянию на производительность.
- Предложите целевые исправления: сужение области наблюдения, стабилизацию identity, вынос тяжелых вычислений из body, даунсемплинг изображений и упрощение layout.
- Запросите повторный запуск захвата для сравнения метрик (CPU, frame drops, memory peak) до и после изменений.
Примеры запросов агенту
Что понадобится
- Доступ к коду целевого view и описание потока данных (@State, @Binding, environment).
- Инструменты профилирования Instruments (SwiftUI timeline, Time Profiler) для сбора runtime-доказательств.
- Ссылки на справочные материалы: references/code-smells.md, references/profiling-intake.md, references/report-template.md.
Описание составлено по SKILL.md навыка, сверено 05.10.2026.
Как подключить
SKILL.md к навыкам ассистентаНавык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.