agentleFS
sreejithramansreejithraman/SreeStack/skills/uikit/SKILL.md

uikit

Skill1 starsChanged 16 days agoMITView on GitHub

UIKit interface work. Use when building, reviewing, maintaining, or modernizing UIKit controllers, scenes, traits, adaptive layout, collections, component feedback, async or edge-state behavior, accessibility semantics, or Liquid Glass; or deciding whether an existing UIKit surface should adopt SwiftUI.

4 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 2 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 4 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read only the references needed for the task:

    line 21
  2. Very specific:

    Use standard controls and containers where they express the behavior.

    line 47
  3. Distinctive:

    When behavior or accessibility is in scope, exercise the supported touch, pointer, keyboard, focus, announcement, and VoiceOver reading …

    line 65
  4. Very specific:

    Use verify for visual or interactive acceptance checks, animate for motion, ios-haptics for iOS tactile feedback, ui-design for visual …

    line 67

“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

UIKit

Build each interface around its actual view-controller, view, window, and scene context. Preserve the product's architecture and deployment targets while making ownership and lifecycle explicit.

For an authorized build or fix, implement and test the workflow below. For a plan or review, leave the product unchanged and turn its implementation and test steps into exact proposed changes, findings, and checks.

Workflow

  1. Inspect the affected controller hierarchy, scene configuration, layout system, data source, deployment targets, and user-visible behavior. Identify which object owns the window, content, navigation, and mutable state.
  2. Read only the references needed for the task:
    • Model the Domain for controller responsibilities and state ownership; Boundary Discipline for interface boundaries; Make Operations Idempotent for overlapping effects or lifecycle recovery; and Migrate Callers Then Delete Legacy APIs for caller migration. Keep the scene and controller lifecycle rules below as the UIKit implementation.
    • Choosing SwiftUI or UIKit when the framework is not fixed or the work could introduce a framework boundary. If SwiftUI owns the affected surface, continue with swiftui and end this workflow. For a hybrid, name the boundary and continue here only for the UIKit-owned side.
    • View controllers and collections for containment, lifecycle ownership, lists, or stable item identity.
    • Scenes and traits for windows, screens, geometry, orientation, environment changes, or deprecated global lookups.
    • Layout and safe areas for constraints, margins, bars, keyboard interaction, or resizable interfaces.
    • Materials and Liquid Glass when adopting current UIKit materials or reviewing custom glass effects.
  3. Choose the nearest valid context. UI code should normally derive environment from its view or controller; non-UI code should receive the specific value or capability it needs.
  4. Use standard controls and containers where they express the behavior. If a SwiftUI island is appropriate, place UIHostingController at an explicit containment boundary and keep one owner for state and lifecycle.
  5. For interactive components, give immediate feedback and keep loading, empty, disabled, error, and overflow states close to the action or content they describe. Cancel or identify interrupted and repeated async work so an older callback cannot overwrite the current state. Prefer platform controls and strong defaults over extra options; preserve valid activation and cancellation.
  6. Preserve useful accessibility semantics. Expose the control's name, value, state, and actions, and keep focus and announcements aligned with the task and reading order rather than an incidental view hierarchy. Announce visible async status, validation, and errors when focus does not move and the change would otherwise be missed.
  7. For modernization, replace a deprecated or global assumption end to end. Trace every caller, pass local context where needed, and preserve supported behavior for each active scene rather than swapping symbols mechanically.
  8. Build the affected targets and exercise resizing, traits, navigation, data updates, edge states, interruption, and repeated input relevant to the change. When behavior or accessibility is in scope, exercise the supported touch, pointer, keyboard, focus, announcement, and VoiceOver reading paths. Use verify for visual or interactive acceptance checks, animate for motion, ios-haptics for iOS tactile feedback, ui-design for visual hierarchy and token-system work, and diagnosing-bugs for runtime failures or performance regressions.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.