By moritztucher
Skills and agents for shipping production SwiftUI apps — a UI-first lifecycle (Setup → Plan → Build → Verify → Ship) plus SwiftUI/Swift craft and Apple-framework specialists.
Creates or updates documentation for the CURRENT project using Context7 for up-to-date library/framework facts — integration guides, troubleshooting notes, and internal API references written into the project's own docs folder. Use after integrating a new framework, or when a workaround / undocumented behavior is worth capturing for the team. Documents the consuming app's specifics; it does not duplicate this bundle's framework skills (those already carry currency-checked deep references).\n\n<example>\nContext: A framework was just integrated into the project.\nuser: "I just wired up RevenueCat for in-app purchases"\nassistant: "I'll use the context7-docs-writer agent to capture this project's RevenueCat setup — the offerings, entitlements, and any project-specific config — in the docs folder."\n<commentary>New integration in the user's app → launch context7-docs-writer to document the project-specific wiring (not generic SDK docs, which the storekit/revenuecat skills already cover).</commentary>\n</example>\n\n<example>\nContext: The team hit and fixed a tricky platform bug.\nuser: "Can you document the PaywallView fix we found?"\nassistant: "I'll use the context7-docs-writer agent to write a troubleshooting note for it."\n<commentary>A workaround worth preserving → launch context7-docs-writer to record the problem, environment, and fix.</commentary>\n</example>
Onboarding specialist for iOS apps. Reviews onboarding flows for activation psychology, permission timing, progressive disclosure, and first-session experience. Spawned by ios-onboarding-audit. Suggests, never decides.
Visual design craft advisor for iOS/SwiftUI. Reviews color strategy, typography, whitespace, motion aesthetics, and emotional design. Annotates options with design observations and trade-offs — suggests, never decides. Spawned by the design skills (ios-design-brief / -audit / -elevate) and when reviewing visual design choices.
UX advisor that reviews SwiftUI implementations, component choices, and interaction patterns against iOS HIG and project conventions. Use when building new UI features, reviewing UI code, or making UX decisions.
UX advisory lens for iOS/SwiftUI — reviews implementations, component choices, and interaction patterns against Apple HIG and project conventions. Use when building new UI features, reviewing UI code, or making UX decisions. Portable form of the ios-ux-advisor agent; on clients without subagent support, apply this lens inline.
Guided entry point for the iOS workflow. Detects where the current project is in the lifecycle (Setup → Plan → Build → Verify → Ship), shows a one-glance status map, and routes you to the right next skill. Use when the user types /ios, asks "what's next", "where am I in the workflow", "what should I do next on this project", or wants help orchestrating the iOS skills.
Build and review Live Activities and Dynamic Island experiences with ActivityKit — ActivityAttributes/ContentState, Activity.request/update/end, ActivityContent (staleDate, relevanceScore), local vs push-token updates, push-to-start, and the Dynamic Island regions. Use when the user mentions Live Activity, Dynamic Island, ActivityKit, lock screen activity, live updates, delivery/sports/timer tracking, or push-to-start. The Live Activity UI is a widget extension built with WidgetKit/SwiftUI — for the widget layer itself use the `widgetkit` skill.
Summarize what changed between the last two version tags of an iOS project. Reads git commits and prints a categorized release summary plus a paste-ready App Store Connect 'What's New' block. Pure git-based, no API calls. Usage: /ios-release-notes
Schedule prominent, system-level alarms and countdown timers on iOS 26+ that break through silent mode and Focus — AlarmManager authorization + scheduling, AlarmConfiguration/AlarmAttributes, AlarmPresentation (alert/countdown/paused), stop/secondary buttons, custom sounds, and App Intents. Use when the user mentions AlarmKit, alarm, timer, scheduled alert, AlarmManager, wake-up, or countdown that must fire reliably. The countdown surface renders as a Live Activity — pair with the `activitykit` skill for the widget UI.
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Currency-checked agent skills for shipping SwiftUI apps — a SwiftUI-first lifecycle, craft specialists, and Apple-framework experts. SwiftUI-first, not UIKit. Built for Claude Code; installs into any Agent Skills–compatible agent.
By Moritz Tucher · GitHub · LinkedIn
63 skills · 4 agents · 4 hooks · 3 iOS reference guides
A working, opinionated ~/.claude/ setup focused on shipping production SwiftUI apps with Claude Code. It's SwiftUI-first throughout — views are SwiftUI, state is @Observable, navigation is NavigationStack; UIKit/AppKit appear only where you genuinely must bridge (a few system pickers, AppKit for macOS targets). It encodes a light, UI-first workflow across five phases — Setup → Plan → Build → Verify → Ship — alongside specialist skills for SwiftUI craft, design audits, onboarding, and simulator automation. Plan with a living brief, build the flow before the logic, ship.
It's built around the mistakes Claude makes on iOS by default — and corrects them. It won't nest a NavigationStack inside another NavigationStack and break your back button. It reaches for @Observable instead of @Published / ObservableObject, because it's 2026. It won't ship a tappable control without an .accessibilityLabel. The taste is baked into the skills, not bolted on after.
It's the configuration I use day-to-day. The skills compose into one pipeline (/ios-init → /ios-brief → build features UI-first → /ios-review → /ios-commit → /pr-to-develop), but each one stands on its own. Not sure what to run next? Type /ios — the orchestrator detects where your project is and routes you to the right step. Drop into any iOS project and they pick up the local CLAUDE.md for context.
~/.claude/Fastest path — install the skills + agents as a Claude Code plugin:
/plugin marketplace add moritztucher/swift-agent-skills
/plugin install swift-skills@swift-agent-skills
These skills follow the open Agent Skills format (a SKILL.md per skill + references/), so they also install into any other skills-compatible agent — Cursor, Codex, Gemini CLI, Kiro, and others — via the community CLI:
npx skills add moritztucher/swift-agent-skills
The Claude plugin path gives you the 63 skills and 4 agents, namespaced under the plugin. For the full setup — skills, agents, the framework reference guides (loaded via @import), the hooks, and the example settings — one command drops the pieces into ~/.claude/, backing up anything already there:
npx swift-agent-skills
It never overwrites an existing CLAUDE.md, settings.json, or statusline-command.sh; run with --dry-run to preview, or --yes to skip the prompt. Prefer to do it by hand? The equivalent manual steps:
# 1. Clone into a working directory
git clone https://github.com/moritztucher/swift-agent-skills.git
cd swift-agent-skills
# 2. Back up anything you already have
[ -d ~/.claude/skills ] && mv ~/.claude/skills ~/.claude/skills.backup
[ -d ~/.claude/agents ] && mv ~/.claude/agents ~/.claude/agents.backup
[ -d ~/.claude/docs ] && mv ~/.claude/docs ~/.claude/docs.backup
[ -d ~/.claude/hooks ] && mv ~/.claude/hooks ~/.claude/hooks.backup
# 3. Drop the pieces in
mkdir -p ~/.claude
cp -R skills ~/.claude/
cp -R agents ~/.claude/
cp -R docs ~/.claude/
cp -R hooks ~/.claude/
chmod +x ~/.claude/hooks/*.sh
# 4. Optional: copy the global CLAUDE.md (won't overwrite existing without `-i`)
cp -i CLAUDE.md ~/.claude/CLAUDE.md
# 5. Optional: copy settings.json (review first — it enables specific plugins and hooks)
cp -i settings/settings.json.example ~/.claude/settings.json
cp -i statusline-command.sh ~/.claude/statusline-command.sh
chmod +x ~/.claude/statusline-command.sh
Claude Code lists every skill's name + description in context, but caps the listing at ~1% of the context window (skillListingBudgetFraction, default 0.01) — with 63 skills that budget overflows, and descriptions of less-used skills get silently dropped (names stay). Rather than raising the budget and paying ~10k tokens in every session, settings.json.example ships a curated skillOverrides block:
npx claudepluginhub moritztucher/swift-agent-skills --plugin swift-skillsUpstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
Comprehensive startup business analysis with market sizing (TAM/SAM/SOM), financial modeling, team planning, and strategic research
v9.44.1 — Patch release for Gemini environment/version detection and qwen auth gating. Run /octo:setup.
Complete creative writing suite with 10 specialized agents covering the full writing process: research gathering, character development, story architecture, world-building, dialogue coaching, editing/review, outlining, content strategy, believability auditing, and prose style/voice analysis. Includes genre-specific guides, templates, and quality checklists.
Comprehensive .NET development skills for modern C#, ASP.NET, MAUI, Blazor, Aspire, EF Core, Native AOT, testing, security, performance optimization, CI/CD, and cloud-native applications
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.