CtrlK
BlogDocsLog inGet started
Tessl Logo

mobile-ios-design

Master iOS Human Interface Guidelines and SwiftUI patterns for building native iOS apps. Use when designing iOS interfaces, implementing SwiftUI views, or ensuring apps follow Apple's design principles.

81

1.36x
Quality

66%

Does it follow best practices?

Impact

89%

1.36x

Average score across 6 eval scenarios

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugins/ui-design/skills/mobile-ios-design/SKILL.md
SKILL.md
Quality
Evals
Security

Evaluation results

99%

22%

Recipe Browser App Navigation Shell

iOS Navigation Architecture

Criteria
Without context
With context

NavigationStack usage

100%

100%

Typed NavigationLink

100%

100%

Hashable destinations

100%

87%

NavigationPath state

100%

100%

iOS 18 Tab syntax

100%

100%

NavigationSplitView on iPad

100%

100%

NavigationSplitView style

0%

100%

@SceneStorage persistence

0%

100%

NavigationCoordinator class

100%

100%

@MainActor on coordinator

100%

100%

SF Symbols in tabs

100%

100%

ContentUnavailableView placeholder

0%

100%

99%

4%

Accessibility-Ready Product Card Component

Visual Design and Accessibility

Criteria
Without context
With context

Semantic text colors

100%

100%

Semantic background color

75%

100%

SF Symbols for icons

100%

100%

Semantic font styles

100%

100%

Accessibility element grouping

70%

100%

Accessibility label

100%

100%

Accessibility value or hint

100%

100%

Accessibility traits

100%

100%

Dynamic Type layout adaptation

100%

100%

LazyVStack for list

100%

100%

Card shadow pattern

100%

100%

RoundedRectangle corner radius

100%

100%

No fixed color literals

100%

87%

100%

36%

Task Manager App: List, Search, and Settings Screens

Lists, Forms, and Data Presentation

Criteria
Without context
With context

LazyVStack or List

100%

100%

insetGrouped list style

0%

100%

Pull-to-refresh

100%

100%

Searchable modifier

100%

100%

ContentUnavailableView empty state

0%

100%

Loading state handling

100%

100%

.task modifier for loading

0%

100%

Form with Section

100%

100%

@AppStorage persistence

100%

100%

Destructive button role

100%

100%

confirmationDialog for delete

0%

100%

Semantic fonts in rows

66%

100%

83%

23%

Now-Playing Media Card

SF Symbol Effects, Variable Symbols, and Haptic Feedback

Criteria
Without context
With context

Multicolor symbol rendering

0%

0%

Variable value symbol

0%

100%

Symbol effect on state change

100%

100%

Impact haptic on tap

0%

100%

Notification haptic on milestone

0%

100%

Custom font with Dynamic Type

100%

100%

Semantic foreground styles

100%

62%

SF Symbol for icon

100%

100%

No fixed font sizes

100%

100%

withAnimation for visual transitions

100%

42%

Semantic background

100%

100%

56%

Travel Photo Gallery

Adaptive Grid Layouts and Configurable Sheet Presentation

Criteria
Without context
With context

LazyVGrid adaptive columns

0%

0%

horizontalSizeClass adaptation

100%

100%

safeAreaInset for action bar

0%

0%

presentationDetents

100%

100%

presentationDragIndicator

100%

100%

presentationCornerRadius

0%

0%

presentationBackgroundInteraction

100%

100%

interactiveDismissDisabled

100%

100%

AsyncImage with phases

100%

100%

Semantic colors

71%

71%

safeAreaInset background material

0%

0%

ContentUnavailableView empty state

0%

0%

100%

61%

Recipe Browser with Shareable Links

Hero Navigation Transitions and URL Deep Linking

Criteria
Without context
With context

matchedTransitionSource

0%

100%

navigationTransition zoom

0%

100%

NavigationRouter ObservableObject

44%

100%

onOpenURL URL handling

100%

100%

URL scheme parsing

100%

100%

NavigationPath update on deep link

0%

100%

Tab badge

100%

100%

iOS 18 Tab syntax

0%

100%

Hashable navigation values

0%

100%

NavigationStack with path

0%

100%

SF Symbols for tabs

100%

100%

Repository
wshobson/agents
Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.