SwiftUI Design Skill
Wholiver/swiftui-design-skill
Guides the agent to design distinctive SwiftUI interfaces for iOS and macOS, with six anti-generic rules, a design direction workflow and a five-dimension review.
UI/UX design, critique and audit for Shuttle Music on Android (Compose, Material 3 Expressive) and iOS (SwiftUI, HIG, Liquid Glass) — every form factor (phone, foldable, tablet, desktop window, car…
$ npx skills add timusus/Shuttle2 --skill mobile-design -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install timusus/Shuttle2 mobile-design --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/timusus/Shuttle2.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/mobile-design .claude/skills/mobile-design && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "mobile-design" agent skill from https://github.com/timusus/Shuttle2/tree/main/.claude/skills/mobile-design into .claude/skills/mobile-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mobile-design", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/timusus/Shuttle2/tree/main/.claude/skills/mobile-designType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add timusus/Shuttle2 --skill mobile-design -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install timusus/Shuttle2 mobile-design --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/timusus/Shuttle2.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/mobile-design .agents/skills/mobile-design && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "mobile-design" agent skill from https://github.com/timusus/Shuttle2/tree/main/.claude/skills/mobile-design into .agents/skills/mobile-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mobile-design", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add timusus/Shuttle2 --skill mobile-design -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install timusus/Shuttle2 mobile-design --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/timusus/Shuttle2.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/mobile-design .cursor/skills/mobile-design && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "mobile-design" agent skill from https://github.com/timusus/Shuttle2/tree/main/.claude/skills/mobile-design into .cursor/skills/mobile-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mobile-design", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/timusus/Shuttle2.git --path .claude/skills/mobile-design--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add timusus/Shuttle2 --skill mobile-design -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install timusus/Shuttle2 mobile-design --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/timusus/Shuttle2.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/mobile-design .gemini/skills/mobile-design && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "mobile-design" agent skill from https://github.com/timusus/Shuttle2/tree/main/.claude/skills/mobile-design into .gemini/skills/mobile-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mobile-design", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install timusus/Shuttle2 mobile-designInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add timusus/Shuttle2 --skill mobile-design -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/timusus/Shuttle2.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/mobile-design .github/skills/mobile-design && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "mobile-design" agent skill from https://github.com/timusus/Shuttle2/tree/main/.claude/skills/mobile-design into .github/skills/mobile-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mobile-design", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add timusus/Shuttle2 --skill mobile-design -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install timusus/Shuttle2 mobile-design --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/timusus/Shuttle2.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/mobile-design .opencode/skills/mobile-design && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "mobile-design" agent skill from https://github.com/timusus/Shuttle2/tree/main/.claude/skills/mobile-design into .opencode/skills/mobile-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mobile-design", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
mobile-designUI/UX design, critique and audit for Shuttle Music on Android (Compose, Material 3 Expressive) and iOS (SwiftUI, HIG, Liquid Glass) — every form factor (phone, foldable, tablet, desktop window, car…
Mobile Design is an agent skill from timusus/Shuttle2. UI/UX design, critique and audit for Shuttle Music on Android (Compose, Material 3 Expressive) and iOS (SwiftUI, HIG, Liquid Glass) — every form factor (phone, foldable, tablet, desktop window, car, watch) and native surfaces (widgets, Dynamic Island, media session, Auto/CarPlay). Use when designing or reviewing a screen, component or flow, planning a redesign, checking iOS/Android parity, judging whether something "feels native", or before any non-trivial UI change. Triggers on "design", "redesign", "critique"…
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files (for example `adaptive.md`, `android.md` and `competitors.md`).
It sits in Mobile, covering Mobile UI design, iOS development and UI design. It works with iOS, Android and SwiftUI. The repository describes itself as: Shuttle Music: a music player for Android and iOS. Plays local files and streams from Jellyfin, Emby, Plex and Navidrome/Subsonic, with Chromecast, Android Auto, EQ and replay… The licence is Apache-2.0.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 116c579. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Mobile Design loads about 2.3k tokens when it runs. Until then it costs about 157 tokens; SKILL.md has 1,101 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from timusus/Shuttle2 at commit 116c579, republished under its Apache-2.0 licence (© timusus). 1,101 words, ~2,320 tokens.
.claude/skills/mobile-design/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.A design skill for a two-platform music player. It is a router: read this file, then load only the references the task needs. Exact token values (spacing, type scale, radii, colours) live in the repo's design docs, not here — this skill says how to decide, those docs say what the values are.
| What | Where |
|---|---|
| Android design language (M3 Expressive spec, tokens, component list, approval gate) | docs/design/design-language.md |
| iOS design language (HIG-first tokens, glass, motion) | docs/design/ios-design-language.md |
| App shell, navigation, player state model, layout tiers | docs/architecture/app-shell.md |
| Parity audit and redesign inventory | docs/architecture/parity-audit.md, redesign-inventory.md |
| Android tokens and components | android/designsystem/.../theme/, .../component/, debug catalog/ |
| iOS tokens and components | ios/S2/Theme/, ios/S2/Components/ |
| Goldens (per component and per screen) | docs/design/catalog/**, docs/design/<screen>/** |
| Layout tiers in code | Android ui/shell/adaptive/ShellLayout.kt; iOS ios/S2/Theme/LayoutTier.swift |
If a reference here conflicts with those docs, the docs win (they record decisions); file a /note if
the doc looks wrong.
Pick the mode from the request; each lists the references to load.
| Mode | Use when | Load |
|---|---|---|
| shape | New screen/feature/flow, or a redesign. Produces a design plan before any code. | craft-floor, platform file(s), adaptive, music, competitors |
| critique | "Does this look right / feel native?" on a screen that exists. Screenshot-led. | craft-floor, evaluate, platform file |
| audit | Systematic sweep of a module or screen for token, a11y, adaptive and platform-conformance defects. A whole-app audit is four required passes — screenshot scorecard, foundations sweep in code against the ground-truth docs, native surfaces, feature expectations — defined in evaluate.md; the scorecard alone is not an audit. | craft-floor, evaluate, platform file, adaptive; a whole-app audit also loads native-surfaces, competitors |
| parity | Compare one feature across iOS and Android. | parity section below, both platform files |
| surfaces | Widgets, Live Activities, controls, tiles, Auto/CarPlay, Wear/Watch, media session. | native-surfaces |
| polish | Small refinements to a finished screen (spacing rhythm, motion, optical alignment). | craft-floor, platform file |
References: craft-floor.md · android.md · ios.md · adaptive.md · music.md · native-surfaces.md · evaluate.md · competitors.md
N.dp, Color(0x…), RoundedCornerShape(n.dp), .padding(13),
Font.system(size:) in screens. Missing token → add it to the design system, don't inline it.Write the plan (in the issue or a scratch file) before code. Then re-read it against the brief and the craft floor, revise, and only then build. The plan has:
Spend boldness in one place per screen (usually the artwork treatment or one signature motion); keep everything else quiet and standard.
For one feature, fill this table from code and screenshots of both apps; every row must be "same intent, native idiom" or an explicit, recorded divergence.
| Aspect | Android idiom | iOS idiom |
|---|---|---|
| Top-level navigation | Navigation bar → rail (NavigationSuite) | Tab bar → sidebar (sidebarAdaptable) |
| Mini player | Docked above nav bar; expands via sheet | Tab bar bottom accessory; minimises on scroll |
| Full player dismiss | Drag down + predictive back collapses into mini player | Drag down / swipe; no back button |
| Secondary actions | Overflow menu / modal bottom sheet | Context menu with preview / .confirmationDialog |
| Row actions | Long-press → selection mode; swipe only where Material allows | Swipe actions + context menu |
| Sheets | Modal bottom sheet with drag handle | .sheet with detents |
| Primary emphasis | Filled/tonal buttons, button groups, FAB/toolbar | Prominent/glass buttons, toolbar items |
| Search | Search bar / SearchView expanding to full screen | .searchable, search tab |
| Typography | Google Sans Flex roles, sp | SF / Dynamic Type text styles |
| Icons | Material Symbols (rounded, filled when selected) | SF Symbols with effects |
| Colour from art | MaterialKolor scheme from seed, tonal surfaces | Artwork tint/gradient, glass over art |
| Haptics | HapticFeedbackConstants on confirm/toggle/drag | .sensoryFeedback on the same moments |
| Feedback | Snackbar | Inline confirmation / HUD-free state change |
Flag in a parity report: missing capability on one side; an idiom borrowed from the other platform; the same idiom done less well (the usual Android problem — compare screenshots side by side).
/brief) per platform; never one brief
spanning both platforms' UI code.severity | file:line or screenshot | rule | fix — ranked,
only genuine problems, plus the evaluate.md scorecard. A whole-app audit reports all
four passes and its feature-gap list. File each non-trivial finding with /note (label design),
with cropped screenshot evidence embedded in the issue (evaluate.md → Filing findings).© timusus, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 8 other files in .claude/skills/mobile-design of timusus/Shuttle2.
Open the folder on GitHubat commit 116c579
Mobile Design next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Mobile Design this skilltimusus/Shuttle2 | 229 | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| SwiftUI Design SkillWholiver/swiftui-design-skill | 210 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Developing Mobile Appstelagod/code-abyss | 244 | — | ~258 | Automated safety check: Pass | MIT | |
| Accessible Mobile DeveloperFerroxLabs/wayland | 608 | — | ~3.6k | Automated safety check: Pass | Apache-2.0 | |
| Phoneagentrounak/PhoneAgent | 798 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Expo UIarcboxlabs/linkcode | 155 | — | ~1.2k | Automated safety check: Pass | MIT |
Wholiver/swiftui-design-skill
Guides the agent to design distinctive SwiftUI interfaces for iOS and macOS, with six anti-generic rules, a design direction workflow and a five-dimension review.
telagod/code-abyss
Mobile development knowledge reference covering iOS (SwiftUI), Android (Jetpack Compose), React Native, and Flutter.
FerroxLabs/wayland
Mobile accessibility development expertise covering iOS VoiceOver and Android TalkBack integration, accessibility APIs for SwiftUI and Jetpack Compose, touch target sizing, gesture alternatives…
rounak/PhoneAgent
Control a connected iPhone, iOS simulator, Android emulator, or Android device from macOS through PhoneAgent's JSON-RPC bridge.
arcboxlabs/linkcode
Framework (OSS). An agent skill from arcboxlabs/linkcode.
NativeScript/SimDeck
A skill your agent uses for simulator lifecycle, app install/launch, live viewing, UI inspection, touch/keyboard automation, screenshots, recordings, logs, pasteboard, hardware controls, and…
timusus/Shuttle2
Comprehensive guidance for writing deterministic tests for Android code using Kotlin coroutines.
timusus/Shuttle2
Drive the S2 debug build's playback and queue over ADB broadcasts — play the whole library, play/pause, skip, seek, remove a queue item, toggle shuffle/repeat, dump playback state as JSON, reimport…
timusus/Shuttle2
Deploy the Android app to the Play Store via GitHub Actions.
timusus/Shuttle2
Weekly Play Store review flow for S2: fetch new reviews, draft replies, get owner approval, then post.
timusus/Shuttle2
Run lint + unit tests, investigate and fix failures. An agent skill from timusus/Shuttle2.
timusus/Shuttle2
Analyse working tree changes, group them into logical atomic commits, and create well-structured conventional commits with module scopes.
Categories
UI/UX design, critique and audit for Shuttle Music on Android (Compose, Material 3 Expressive) and iOS (SwiftUI, HIG, Liquid Glass) — every form factor (phone, foldable, tablet, desktop window, car…. Mobile Design is an agent skill from timusus/Shuttle2. UI/UX design, critique and audit for Shuttle Music on Android (Compose, Material 3 Expressive) and iOS (SwiftUI, HIG, Liquid Glass) — every form factor (phone, foldable, tablet, desktop window, car, watch) and native surfaces (widgets, Dynamic Island, media session, Auto/CarPlay).
Mobile Design fits situations like: reviewing a screen; planning a redesign; checking iOS/Android parity; judging whether something feels native.
Run `npx skills add timusus/Shuttle2 --skill mobile-design -a claude-code`. Or copy the skill folder (.claude/skills/mobile-design in timusus/Shuttle2) into .claude/skills/mobile-design in your project. Claude Code loads it when a task matches its description.
Run `npx skills add timusus/Shuttle2 --skill mobile-design -a codex`. Or copy the skill folder (.claude/skills/mobile-design in timusus/Shuttle2) into .agents/skills/mobile-design in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add timusus/Shuttle2 --skill mobile-design -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mobile-design, .gemini/skills/mobile-design, .github/skills/mobile-design and .opencode/skills/mobile-design in your project.
SKILL.md names no scripts, command-line tools or credentials: Mobile Design is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Mobile Design is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Mobile Design: SwiftUI Design Skill (Wholiver/swiftui-design-skill, 210 stars), Developing Mobile Apps (telagod/code-abyss, 244 stars), Accessible Mobile Developer (FerroxLabs/wayland, 608 stars) and Phoneagent (rounak/PhoneAgent, 798 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
timusus (a GitHub user) maintains it in timusus/Shuttle2, which has 229 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 6, 2026.
Source: timusus/Shuttle2 on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.