Community-maintained Agent Skills for complete Swift and Apple-platform app delivery.
73
92%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Medium
Suggest reviewing before use
Make the interface respond to the space and content it actually receives, then verify the failing configurations instead of inferring behavior from a device name.
This skill owns cross-size adaptation and layout-failure diagnosis: clipping, unintended overlap, truncation, off-screen controls, unstable resizing, keyboard obstruction, safe-area mistakes, and layouts that fail under Dynamic Type or localization.
Route ordinary List, Form, grid, scroll-view, control, search, and overlay selection to swiftui-layout-components. Route semantic accessibility behavior to ios-accessibility, localized content to ios-localization, navigation structure to swiftui-navigation, and measured layout cost or update storms to swiftui-performance.
Inspect the deployment target and SDK before using versioned APIs. Preserve the product hierarchy, state ownership, navigation behavior, and accessibility contract unless the requested fix requires a deliberate change.
Read Layout Diagnosis and Verification when investigating an existing failure. Read Adaptive Layout Patterns before implementing a responsive variant or replacing fixed geometry.
Prefer the most local signal that expresses the requirement:
| Requirement | Preferred signal |
|---|---|
| The content either fits or needs a compact variant | ViewThatFits |
| The same children need horizontal or vertical arrangement | AnyLayout with stack layouts |
| A broad region changes structure in compact versus regular space | horizontal or vertical size class |
| A component responds to its actual container dimensions | container-relative APIs, focused geometry observation, or a custom Layout |
| Text or controls grow at accessibility sizes | dynamicTypeSize, intrinsic content size, wrapping, and axis change |
Size class is an environment category, not a device detector or an exact width. iPad windows can change size while the app runs. Use actual fit or container space when the breakpoint belongs to a component rather than the whole scene.
Start with flexible intrinsic layout and escalate only when the simpler level cannot express the design:
ViewThatFits for a small ordered set of meaningful variants.AnyLayout when the same stateful children change arrangement and should retain identity.Layout only when behavior depends on real container measurements.Do not hide overflow with clipping, scaling, or a smaller font before fixing the layout contract. layoutPriority can resolve a known compression preference, but it is not a substitute for an adaptive structure.
lineLimit, fixedSize, minimumScaleFactor, and truncation as explicit product decisions.@ScaledMetric for non-text dimensions that should follow text scaling; use semantic text styles for text.safeAreaInset for persistent bars or actions that must reserve layout space. An overlay does not reserve space and can cover the final scroll content.ignoresSafeArea on the root interaction surface. Apply it to the intended background and edges only.ZStack, overlay, and absolute offsets as intentional layering tools, not general layout escape hatches.Avoid GeometryReader as the default responsive container, especially inside repeated lazy cells. Prefer ViewThatFits, containerRelativeFrame, focused onGeometryChange, preferences, or Layout according to the requirement.
When geometry must enter state, transform it to the smallest Equatable value needed and keep that state in the narrowest subtree. A geometry-derived state change must not alter the same geometry used to derive it, or the view can oscillate and relayout continuously.
Preserve child identity across adaptation. Prefer a layout container change over duplicate conditional branches when both branches represent the same stateful controls.
UIDevice model, screen bounds, or portrait assumptions instead of current container spaceignoresSafeArea to the entire interactive hierarchy.tessl-plugin
skills
accessorysetupkit
references
activitykit
adattributionkit
references
alarmkit
references
app-clips
app-intents
app-store-optimization
app-store-review
apple-on-device-ai
appmigrationkit
audioaccessorykit
references
authentication
references
avkit
background-processing
references
browserenginekit
callkit
references
carplay
cloudkit
contacts-framework
references
core-bluetooth
references
core-data
core-motion
references
core-nfc
references
coreml
references
cryptokit
cryptotokenkit
references
debugging-instruments
device-integrity
references
dockkit
energykit
references
eventkit
financekit
references
focus-engine
gamekit
healthkit
references
homekit
references
ios-accessibility
ios-app-workflow
references
ios-ettrace-performance
ios-localization
ios-memgraph-analysis
ios-networking
ios-simulator
references
metrickit
references
musickit
references
natural-language
references
paperkit
references
passkit
references
pdfkit
pencilkit
references
permissionkit
references
photokit
push-notifications
realitykit
references
relevancekit
references
scenekit
sensorkit
speech-recognition
references
spritekit
storekit
swift-api-design-guidelines
swift-architecture
references
swift-charts
swift-codable
references
swift-code-review
swift-concurrency
swift-formatstyle
references
swift-language
swift-security
references
swift-testing
swiftdata
swiftlint
swiftui-animation
swiftui-gestures
references
swiftui-layout-components
swiftui-liquid-glass
references
swiftui-patterns
swiftui-performance
swiftui-responsive-layout
swiftui-uikit-interop
swiftui-webkit
tabletopkit
tipkit
vision-framework
weatherkit
references