Swiftui Expert Skill
AFK-surf/OpenBridge
Write, review, or improve SwiftUI code following best practices for state management, view composition, performance, modern APIs, Swift concurrency, and iOS 26+ Liquid Glass adoption.
A skill your agent uses when reviewing Swift code for runtime-level performance costs, including heap allocation, ARC traffic, stack vs heap storage, closure capture contexts, method dispatch…
$ npx skills add Livsy90/iOS-Performance-Agent-Skills --skill swift-runtime-performance -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Livsy90/iOS-Performance-Agent-Skills swift-runtime-performance --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/Livsy90/iOS-Performance-Agent-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/swift-runtime-performance .claude/skills/swift-runtime-performance && 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 "swift-runtime-performance" agent skill from https://github.com/Livsy90/iOS-Performance-Agent-Skills/tree/main/swift-runtime-performance into .claude/skills/swift-runtime-performance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swift-runtime-performance", 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/Livsy90/iOS-Performance-Agent-Skills/tree/main/swift-runtime-performanceType 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 Livsy90/iOS-Performance-Agent-Skills --skill swift-runtime-performance -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Livsy90/iOS-Performance-Agent-Skills swift-runtime-performance --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Livsy90/iOS-Performance-Agent-Skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/swift-runtime-performance .agents/skills/swift-runtime-performance && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "swift-runtime-performance" agent skill from https://github.com/Livsy90/iOS-Performance-Agent-Skills/tree/main/swift-runtime-performance into .agents/skills/swift-runtime-performance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swift-runtime-performance", 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 Livsy90/iOS-Performance-Agent-Skills --skill swift-runtime-performance -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Livsy90/iOS-Performance-Agent-Skills swift-runtime-performance --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Livsy90/iOS-Performance-Agent-Skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/swift-runtime-performance .cursor/skills/swift-runtime-performance && 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 "swift-runtime-performance" agent skill from https://github.com/Livsy90/iOS-Performance-Agent-Skills/tree/main/swift-runtime-performance into .cursor/skills/swift-runtime-performance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swift-runtime-performance", 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/Livsy90/iOS-Performance-Agent-Skills.git --path swift-runtime-performance--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 Livsy90/iOS-Performance-Agent-Skills --skill swift-runtime-performance -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Livsy90/iOS-Performance-Agent-Skills swift-runtime-performance --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Livsy90/iOS-Performance-Agent-Skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/swift-runtime-performance .gemini/skills/swift-runtime-performance && 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 "swift-runtime-performance" agent skill from https://github.com/Livsy90/iOS-Performance-Agent-Skills/tree/main/swift-runtime-performance into .gemini/skills/swift-runtime-performance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swift-runtime-performance", 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 Livsy90/iOS-Performance-Agent-Skills swift-runtime-performanceInstalls 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 Livsy90/iOS-Performance-Agent-Skills --skill swift-runtime-performance -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Livsy90/iOS-Performance-Agent-Skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/swift-runtime-performance .github/skills/swift-runtime-performance && 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 "swift-runtime-performance" agent skill from https://github.com/Livsy90/iOS-Performance-Agent-Skills/tree/main/swift-runtime-performance into .github/skills/swift-runtime-performance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swift-runtime-performance", 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 Livsy90/iOS-Performance-Agent-Skills --skill swift-runtime-performance -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Livsy90/iOS-Performance-Agent-Skills swift-runtime-performance --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Livsy90/iOS-Performance-Agent-Skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/swift-runtime-performance .opencode/skills/swift-runtime-performance && 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 "swift-runtime-performance" agent skill from https://github.com/Livsy90/iOS-Performance-Agent-Skills/tree/main/swift-runtime-performance into .opencode/skills/swift-runtime-performance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swift-runtime-performance", 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.
swift-runtime-performanceA skill your agent uses when reviewing Swift code for runtime-level performance costs, including heap allocation, ARC traffic, stack vs heap storage, closure capture contexts, method dispatch…
Swift Runtime Performance is an agent skill from Livsy90/iOS-Performance-Agent-Skills. Use this skill when reviewing Swift code for runtime-level performance costs, including heap allocation, ARC traffic, stack vs heap storage, closure capture contexts, method dispatch, protocol witness dispatch, existentials vs generics, opaque types, copy-on-write, SIL optimizer output, unsafe memory boundaries, or module-boundary optimizer visibility. Do not use it for Swift Concurrency scheduling, SwiftUI rendering, app launch, or profiling workflows unless the question is specifically about Swift runtime costs.
Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including reference files (for example `agents/openai.yaml`, `references/allocation-and-layout.md` and `references/arc-and-ownership.md`).
It sits in Mobile, covering iOS development. It works with SwiftUI and Swift. The repository describes itself as: A collection of AI-agent skills for reviewing, diagnosing, and improving performance in iOS applications. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c259885. 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.
Swift Runtime Performance loads about 4.3k tokens when it runs, and up to ~55k if it reads all its reference files. Until then it costs about 136 tokens; SKILL.md has 2,154 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 Livsy90/iOS-Performance-Agent-Skills at commit c259885, republished under its MIT licence (© Livsy90). 2,154 words, ~4,264 tokens.
.claude/skills/swift-runtime-performance/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.Use this skill to review Swift code for runtime-level performance costs without turning every abstraction into a problem. Focus on concrete costs such as allocation, ARC traffic, dispatch, specialization, copying, optimizer visibility, and unsafe memory boundaries.
This skill should help the agent distinguish real hot-path runtime costs from theoretical micro-optimizations.
Use this skill when the task involves Swift runtime behavior such as:
any Protocol, some Protocol, generics, type erasure, specialization, or unspecialized hot code;@inlinable, @usableFromInline, @frozen, or public API resilience trade-offs.Do not use this skill for:
If another skill is more specific, route there first and use this skill only for the runtime subproblem.
Use these boundaries before applying runtime advice:
swift-concurrency-performance when the task centers on actors, tasks, MainActor, cancellation, AsyncSequence, continuations, task groups, executor behavior, or responsiveness under async work.ios-launch-performance when the task centers on cold launch, warm launch, pre-main, dyld, framework loading, static initializers, AppDelegate, SwiftUI App, first frame, first interaction, or launch metrics.swiftui-performance when the task centers on SwiftUI body evaluation, invalidation, identity, state ownership, dependency scope, List, LazyVStack, layout, drawing, animation, or lifecycle work in views.ios-performance-profiling when the task centers on choosing Instruments templates, interpreting traces, XCTest metrics, MetricKit, signposts, memory graphs, hangs, hitches, CPU, allocations, disk I/O, networking, or production telemetry.Do not optimize based only on how the source code looks.
First identify:
A runtime optimization is useful only when it reduces cost in a path that matters.
Classify the suspected issue before recommending a change.
Use these categories:
any, some, type erasure, generic specialization, unspecialized hot paths, boxing.@inlinable, @usableFromInline, @frozen, ABI resilience, optimizer visibility.Avoid low-level rewrites.
Explain that the concern may be theoretically valid but unlikely to matter without evidence. Suggest measurement only if the path is suspected to affect user-visible performance.
Check whether allocation comes from:
Prefer reducing repeated allocation over replacing every reference type.
Check ownership and lifetime before recommending changes.
Look for repeated retain/release traffic in loops, closure captures of large owners, unnecessary weak access in hot paths, and reference-backed value storage. Do not treat weak and unowned as performance fixes. They are ownership tools first.
Ask whether dynamic dispatch is intentional.
Prefer final for app-level classes that are not designed for inheritance. Use generics, concrete types, or internal implementation details only when they preserve the intended abstraction and matter in the measured path.
Do not flatten useful polymorphism without evidence.
any ProtocolAsk whether runtime heterogeneity is required.
any Protocol is not automatically wrong. It is appropriate when values of different concrete types must be stored or passed uniformly. Consider generics or opaque types when the hot path can remain statically typed.
Check whether specialization actually happens.
Generics help most when the optimizer can see enough implementation detail to specialize the hot path. Module boundaries, public resilience, large functions, or type erasure can limit that.
Check mutation patterns and uniqueness boundaries.
Repeated mutation of COW values can be cheap when storage is uniquely referenced and expensive when it repeatedly copies. Custom COW must preserve value semantics and document thread-safety assumptions.
Use optimized SIL, not Debug SIL, for performance conclusions.
Look for evidence such as allocation instructions, retain/release traffic, witness dispatch, existential opening, closure creation, missed specialization, and missed devirtualization. Treat SIL as evidence, not as an excuse to overfit source code to one compiler version.
Do not recommend unsafe code as a first step.
Use unsafe APIs only when safe APIs cannot express the operation efficiently enough, measurement shows the abstraction cost matters, and the unsafe region can be kept small behind a safe wrapper.
Separate runtime optimization from architecture and build-time concerns.
Use @inlinable, @usableFromInline, and @frozen only when the API commitment is acceptable. These attributes are not generic “make it faster” switches.
struct does not guarantee stack allocation.class does not automatically mean a performance bug.Array, String, Dictionary, Set, and Data can hide reference-backed storage.any Protocol is a useful abstraction with runtime cost, not a mistake.some Protocol is not a universal replacement for any Protocol.final is a good default for app-level classes that are not designed for inheritance, but it should not be oversold as a standalone performance fix.@inline(__always) can increase code size and should not be the first fix.@inlinable is an API and ABI commitment.weak and unowned are ownership tools, not performance tools.Read references selectively. Do not load all reference files by default.
references/allocation-and-layout.md — read when the task involves stack vs heap behavior, object layout, closure boxes, existential storage, temporary allocations, or hidden heap storage inside value types.references/arc-and-ownership.md — read when the task involves retain/release traffic, closure captures, weak/unowned references, object lifetime, reference cycles, COW ownership, or bridging lifetime.references/dispatch-and-specialization.md — read when the task involves direct dispatch, class dispatch, Objective-C dispatch, witness dispatch, closure dispatch, devirtualization, inlining, or generic specialization.references/existentials-generics-opaque-types.md — read when the task involves any Protocol, some Protocol, generics, type erasure, protocol witness dispatch, opaque result types, or replacing existential-heavy hot paths.references/cow-and-large-values.md — read when the task involves copy-on-write collections, large structs, repeated collection mutation, custom COW storage, uniqueness checks, or value-semantic API design.references/sil-inspection.md — read when source-level reasoning is not enough and the task needs optimized SIL evidence for allocation, ARC, dispatch, existential opening, closure creation, specialization, or inlining.references/unsafe-swift.md — read when the task involves unsafe pointers, buffer access, memory binding, alignment, aliasing, manual lifetime, unsafe wrappers, or replacing safe APIs with unsafe code.references/modularization-and-linking.md — read when the task involves module-boundary optimizer visibility, public API resilience, @inlinable, @usableFromInline, @frozen, static vs dynamic libraries, or runtime trade-offs from modularization.references/concurrency-runtime.md — read only when a concurrency-related question is specifically about Swift runtime costs such as allocation, ARC, closure captures, SIL lowering, or executor-related overhead. For actor design, MainActor responsiveness, cancellation, AsyncSequence cleanup, continuations, or structured concurrency workflow, use swift-concurrency-performance instead.Prefer evidence appropriate to the suspected cost:
Do not validate with Debug builds unless the task is specifically about Debug-only development performance.
When reviewing code, respond with:
Be precise and restrained.
Prefer:
self.”Avoid:
any with generics.”@inline(__always).”final for performance.”This skill should activate for prompts like:
any FeedItem values. Could that cause runtime cost?”@inlinable justified for this small generic function used across module boundaries?”This skill should not activate for prompts like:
Route those tasks to the more specific skill unless the user explicitly asks about Swift runtime-level cost.
© Livsy90, MIT. 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 10 other files (references) in swift-runtime-performance of Livsy90/iOS-Performance-Agent-Skills.
Open the folder on GitHubat commit c259885
Swift Runtime Performance 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 |
|---|---|---|---|---|---|---|
| Swift Runtime Performance this skillLivsy90/iOS-Performance-Agent-Skills | 117 | — | ~4.3k | Automated safety check: Pass | MIT | |
| Swiftui Expert SkillAFK-surf/OpenBridge | 430 | 2 repos | ~3.9k | Automated safety check: Pass | MIT | |
| macOS DevelopmentKartikLabhshetwar/better-shot | 2.4k | 2 repos | ~735 | Automated safety check: Pass | Custom licence | |
| Implement Featuretddworks/SkillsManager | 169 | — | ~2.6k | Automated safety check: Pass | None | |
| Swiftui AnimationAstraFoundry/KumoApp | 290 | — | ~4.1k | Automated safety check: Pass | AGPL-3.0 | |
| Implement Featuretddworks/ClaudeBar | 1.5k | — | ~4.1k | Automated safety check: Pass | Apache-2.0 |
AFK-surf/OpenBridge
Write, review, or improve SwiftUI code following best practices for state management, view composition, performance, modern APIs, Swift concurrency, and iOS 26+ Liquid Glass adoption.
KartikLabhshetwar/better-shot
Comprehensive macOS development guidance including Swift 6+, SwiftUI, SwiftData, architecture patterns, AppKit bridging, and macOS 26 Tahoe APIs.
tddworks/SkillsManager
Guide for implementing features following architecture-first design, TDD, rich domain models, and Swift 6.2 patterns.
AstraFoundry/KumoApp
Implement, review, or improve SwiftUI animations and transitions.
tddworks/ClaudeBar
Guide for implementing features in ClaudeBar following architecture-first design, TDD, rich domain models, and Swift 6.2 patterns.
microsoft/SwiftStreamingMarkdown
Record and validate swift-snapshot-testing snapshots in the SwiftStreamingMarkdown package: regenerate reference PNGs, run snapshot tests, and diff failed snapshots.
Livsy90/iOS-Performance-Agent-Skills
A skill your agent uses for product-level iOS responsiveness and loading/feedback flows, including perceived latency, time to first feedback, progressive rendering, loading states, skeletons…
Livsy90/iOS-Performance-Agent-Skills
A skill your agent uses when choosing, running, or interpreting iOS performance profiling workflows, including Instruments traces, signposts, XCTest metrics, MetricKit, Xcode Organizer, hangs…
Livsy90/iOS-Performance-Agent-Skills
A skill your agent uses when diagnosing iOS app launch performance, startup regressions, first-frame readiness, or early responsiveness.
Livsy90/iOS-Performance-Agent-Skills
A skill your agent uses when reviewing Swift Concurrency performance and responsiveness, including task explosions, actor hopping, MainActor bottlenecks, cancellation, AsyncSequence cleanup…
Livsy90/iOS-Performance-Agent-Skills
A skill your agent uses when reviewing or fixing SwiftUI performance issues, including unnecessary invalidation, unstable identity, broad state dependencies, expensive body work, heavy rows…
Categories
A skill your agent uses when reviewing Swift code for runtime-level performance costs, including heap allocation, ARC traffic, stack vs heap storage, closure capture contexts, method dispatch…. Swift Runtime Performance is an agent skill from Livsy90/iOS-Performance-Agent-Skills. Use this skill when reviewing Swift code for runtime-level performance costs, including heap allocation, ARC traffic, stack vs heap storage, closure capture contexts, method dispatch, protocol witness dispatch, existentials vs generics, opaque types, copy-on-write, SIL optimizer output, unsafe memory boundaries, or module-boundary optimizer visibility.
Swift Runtime Performance fits situations like: reviewing Swift code for runtime-level performance costs; including heap allocation; stack vs heap storage; closure capture contexts.
Run `npx skills add Livsy90/iOS-Performance-Agent-Skills --skill swift-runtime-performance -a claude-code`. Or copy the skill folder (swift-runtime-performance in Livsy90/iOS-Performance-Agent-Skills) into .claude/skills/swift-runtime-performance in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Livsy90/iOS-Performance-Agent-Skills --skill swift-runtime-performance -a codex`. Or copy the skill folder (swift-runtime-performance in Livsy90/iOS-Performance-Agent-Skills) into .agents/skills/swift-runtime-performance 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 Livsy90/iOS-Performance-Agent-Skills --skill swift-runtime-performance -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/swift-runtime-performance, .gemini/skills/swift-runtime-performance, .github/skills/swift-runtime-performance and .opencode/skills/swift-runtime-performance in your project.
SKILL.md names no scripts, command-line tools or credentials: Swift Runtime Performance 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.
Swift Runtime Performance is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 51k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Swift Runtime Performance: Swiftui Expert Skill (AFK-surf/OpenBridge, 430 stars), macOS Development (KartikLabhshetwar/better-shot, 2.4k stars), Implement Feature (tddworks/SkillsManager, 169 stars) and Swiftui Animation (AstraFoundry/KumoApp, 290 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Livsy90 (a GitHub user) maintains it in Livsy90/iOS-Performance-Agent-Skills, which has 117 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on July 12, 2026.
Source: Livsy90/iOS-Performance-Agent-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.