AgentSkillsCN

uikit-expert-skill

为Legacy至Modern的iOS应用(iOS 12及以上版本)编写、评审并现代化改造UIKit代码。适用于构建UIKit界面、重构庞大的视图控制器、优化表格与集合的渲染性能、改进动画、布局与状态模式,同时运用现代API并提供兼容iOS 12的回退方案,以及规划渐进式的UIKit↔SwiftUI迁移路径,并设定可量化的质量门限。

SKILL.md
--- frontmatter
name: uikit-expert-skill
description: Write, review, and modernize UIKit code for legacy-to-modern iOS apps (iOS 12+ through latest). Use when building UIKit screens, refactoring massive view controllers, optimizing table/collection rendering, improving animation/layout/state patterns, applying modern APIs with iOS 12-safe fallbacks, and planning incremental UIKit↔SwiftUI migration with measurable quality gates.

UIKit Expert Skill

Overview

Use this skill as the UIKit-specific counterpart to swiftui-expert-skill.

It is optimized for:

  • legacy UIKit projects (including iOS 12 target support)
  • mixed UIKit/SwiftUI migration contexts
  • performance-sensitive list and card-heavy interfaces

Workflow Decision Tree

1) Review existing UIKit screen

  • Validate lifecycle usage and ownership boundaries.
  • Check layout correctness (safe area, constraints, self-sizing).
  • Check update strategy (reloadData overuse, invalidation churn).
  • Check rendering hotspots (shadow, blur, repeated measurement, image decode).
  • Check accessibility and Dynamic Type behavior.

2) Refactor existing UIKit implementation

  • Replace fragile layout hacks with anchor/inset-driven layout.
  • Move broad updates to targeted row/item updates.
  • Extract reusable view/cell components.
  • Add async/state guards to prevent stale completion writes.
  • Add availability-gated modern APIs with equivalent iOS 12 fallbacks.

3) Build new UIKit feature

  • Define explicit state model and ownership.
  • Build with Auto Layout anchors and safe area.
  • Choose table/collection patterns with stable identity.
  • Implement loading/error/success state rendering.
  • Add focused animation and performance constraints from day one.

Quality bar

For recommendations and edits, always include:

  • Good vs bad pattern comparison
  • Why the change matters (correctness/perf/maintainability)
  • iOS 12 compatibility note when using newer APIs
  • Validation checklist

Reference map

  • references/state-management.md

  • references/view-structure.md

  • references/modern-apis.md

  • references/layout-best-practices.md

  • references/list-patterns.md

  • references/performance-patterns.md

  • references/scroll-patterns.md

  • references/animation-basics.md

  • references/animation-transitions.md

  • references/animation-advanced.md

  • references/image-optimization.md

  • references/sheet-navigation-patterns.md

  • references/text-formatting.md

  • references/liquid-glass.md

  • references/uikit-antipatterns.md

  • references/legacy-uikit-to-modern-uikit.md

  • references/uikit-to-swiftui-incremental.md

  • references/performance-benchmarks.md

  • references/testing-guidance.md

  • references/data-source-strategy-by-ios-version.md

  • references/prefetching-and-cancellation.md

  • references/responsiveness-budget.md

  • references/api-availability-matrix.md

  • references/legacy-vs-modern-list-migration.md

  • references/accessibility-engineering.md

  • references/instruments-playbook.md

  • references/state-machine-templates.md

  • references/case-studies.md

Scope boundary

  • Use this skill for UIKit implementation details.
  • Use swiftui-expert-skill for SwiftUI-first implementation details.
  • In mixed code, map concepts between skills but keep final recommendations framework-specific.