Agent skill

iOS Perceived Performance

by Livsy90 in 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…

MITAuto-check passedDevOps & Cloud

Install iOS Perceived Performance

skills CLI
$ npx skills add Livsy90/iOS-Performance-Agent-Skills --skill ios-perceived-performance -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Livsy90/iOS-Performance-Agent-Skills ios-perceived-performance --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Livsy90/iOS-Performance-Agent-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/ios-perceived-performance .claude/skills/ios-perceived-performance && rm -rf skills-src

Use ~/.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/

Facts

Skill name
ios-perceived-performance
GitHub stars
117
Token cost
~2.7k tokens
SKILL.md length
1,205 words
Files
7 (incl. references)
Skills in repo
6
Repo updated
First seen
Licence
MIT

At a glance

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…

  • Works in 12 steps: Identify the user-visible symptom: no… → Locate the state transition that creates… → Decide whether the first useful… → …
  • Product-level iOS responsiveness and loading/feedback flows
  • SKILL.md covers Purpose, When to use this skill, When not to use this skill and Core model, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

iOS Perceived Performance is an agent skill from Livsy90/iOS-Performance-Agent-Skills. Use this skill for product-level iOS responsiveness and loading/feedback flows, including perceived latency, time to first feedback, progressive rendering, loading states, skeletons, placeholders, optimistic updates, rollback behavior, high-stakes actions, UI continuity, and responsiveness validation. Do not use it for low-level CPU, memory, rendering, Swift Concurrency, or launch-performance diagnostics unless the task is about user-perceived speed.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files (for example `agents/openai.yaml`, `references/high-stakes-actions.md` and `references/loading-states.md`).

It sits in DevOps & Cloud. It works with iOS 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.

When your agent uses it

  • Product-level iOS responsiveness and loading/feedback flows
  • Including perceived latency
  • Time to first feedback
  • Progressive rendering

Example prompts

  • “/ios-perceived-performance”

Workflow steps

12 steps, taken from the first numbered list in SKILL.md.

  1. Identify the user-visible symptom: no feedback, blank screen, all-or-nothing loading, jumpy update, unclear progress, unsafe optimism…
  2. Locate the state transition that creates the symptom.
  3. Decide whether the first useful improvement is product/UI feedback or low-level performance work.
  4. Check whether the UI acknowledges user actions immediately.
  5. Check whether critical content can appear before secondary content.
  6. Check whether refresh can preserve useful existing content.
  7. Check whether loading, empty, error, retry, refreshing, pending, synced, and failed states are distinct enough.
  8. Decide whether optimistic UI is safe, reversible, and honest.
  9. For high-stakes actions, prefer explicit progress and server-confirmed success over optimistic final states.
  10. Propose the smallest change that improves user-visible responsiveness.
  11. State what can be determined from code and what needs runtime validation.
  12. Recommend validation using evidence that reflects user experience.

What it can do on your machine

Read from SKILL.md and the folder at commit c259885. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

iOS Perceived Performance loads about 2.7k tokens when it runs, and up to ~36k if it reads all its reference files. Until then it costs about 120 tokens; SKILL.md has 1,205 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~120
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~36k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from Livsy90/iOS-Performance-Agent-Skills at commit c259885, republished under its MIT licence (© Livsy90). 1,205 words, ~2,677 tokens.

Download SKILL.mdSave it as .claude/skills/ios-perceived-performance/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
ios-perceived-performance
description
Use this skill for product-level iOS responsiveness and loading/feedback flows, including perceived latency, time to first feedback, progressive rendering, loading states, skeletons, placeholders, optimistic updates, rollback behavior, high-stakes actions, UI continuity, and responsiveness validation. Do not use it for low-level CPU, memory, rendering, Swift Concurrency, or launch-performance diagnostics unless the task is about user-perceived speed.

iOS Perceived Performance

Purpose

Use this skill to review whether an iOS screen or flow feels responsive to users, even when raw execution time does not change.

This skill focuses on user-visible feedback, loading behavior, staged content, continuity, optimistic UI, high-stakes actions, and validation of perceived responsiveness.

When to use this skill

Use this skill when the task involves:

  • a screen that feels slow, stuck, blank, jumpy, or unresponsive;
  • no visible feedback after a tap or gesture;
  • delayed first meaningful content;
  • loading states, placeholders, skeletons, empty states, retry states, or refresh states;
  • progressive rendering, partial content, section-level loading, or stale-while-refreshing UI;
  • optimistic updates, pending state, rollback, retries, or local/server reconciliation;
  • high-stakes, irreversible, destructive, financial, legal, medical, identity, or security-sensitive actions;
  • duplicate submissions or repeated taps during async work;
  • perceived latency trade-offs where the product behavior matters as much as the raw duration;
  • validation using recordings, UI tests, Instruments, MetricKit, production logs, or user-visible signals.

When not to use this skill

Do not use this skill for:

  • low-level CPU, allocation, ARC, memory, runtime, or compiler-performance investigations;
  • SwiftUI invalidation, identity, layout, or scrolling problems unless the question is about perceived responsiveness;
  • Swift Concurrency internals unless task behavior affects visible UI feedback or staged loading;
  • app launch performance unless the question is about first useful screen or first interaction from the user's point of view;
  • visual redesign requests with no responsiveness, loading, or feedback concern;
  • claims that require running the app when no runtime evidence is available.

Use ios-performance-profiling, swiftui-performance, swift-concurrency-performance, swift-runtime-performance, or ios-launch-performance when those domains are the primary problem.

Core model

Users do not experience CPU samples, network traces, database timings, or async task graphs directly.

They experience:

  • whether the app reacts immediately;
  • when useful content first appears;
  • whether progress is clear;
  • whether the screen stays stable while work continues;
  • whether failures and retries are understandable;
  • whether pending work feels trustworthy;
  • whether actions can be repeated accidentally;
  • whether the UI tells the truth about the server-authoritative outcome.

Start with the user-visible delay or uncertainty before proposing lower-level optimization.

Agent capability boundaries

The agent can usually inspect and improve:

  • state models for loading, loaded, empty, error, refreshing, pending, syncing, and failed states;
  • whether UI changes happen only after async work completes;
  • whether user actions receive immediate visual feedback;
  • whether refresh clears useful existing content unnecessarily;
  • whether a screen can render critical content before secondary content;
  • whether optimistic updates have pending, rollback, retry, and conflict behavior;
  • whether high-stakes actions wait for confirmation before showing final success;
  • whether duplicate submissions are prevented.

The agent can suggest, but cannot prove without runtime evidence:

  • whether a screen feels fast enough;
  • whether a skeleton improves perception;
  • whether a deliberate delay is appropriate;
  • whether Low Power Mode exposes low performance headroom;
  • whether older devices perform acceptably;
  • whether a product flow feels trustworthy to users.

Do not claim that manual or device-based validation was performed unless the user supplied evidence such as a recording, trace, test result, profiling output, or production signal.

Review workflow

  1. Identify the user-visible symptom: no feedback, blank screen, all-or-nothing loading, jumpy update, unclear progress, unsafe optimism, repeated submission, or distrust.
  2. Locate the state transition that creates the symptom.
  3. Decide whether the first useful improvement is product/UI feedback or low-level performance work.
  4. Check whether the UI acknowledges user actions immediately.
  5. Check whether critical content can appear before secondary content.
  6. Check whether refresh can preserve useful existing content.
  7. Check whether loading, empty, error, retry, refreshing, pending, synced, and failed states are distinct enough.
  8. Decide whether optimistic UI is safe, reversible, and honest.
  9. For high-stakes actions, prefer explicit progress and server-confirmed success over optimistic final states.
  10. Propose the smallest change that improves user-visible responsiveness.
  11. State what can be determined from code and what needs runtime validation.
  12. Recommend validation using evidence that reflects user experience.

Decision rules

  • If the user sees no response after an action, add immediate feedback before optimizing the operation itself.
  • If the screen is blank while work is happening, consider cached content, placeholders, skeletons, or progressive rendering.
  • If the screen waits for unrelated data before showing anything, consider section-level loading or staged rendering.
  • If refresh removes useful content, preserve stale content when it is safe and mark it as refreshing.
  • If loading, empty, error, and retry states collapse into one state, separate them before tuning performance.
  • If an action is low-risk and reversible, optimistic UI may improve perceived latency.
  • If an action is financial, destructive, legal, medical, identity-related, security-sensitive, irreversible, or server-authoritative, do not show final success before confirmation.
  • If duplicate submissions are possible, add pending state, disabled controls, idempotency, or request tracking.
  • If a recommendation depends on product trust or user perception, describe it as a product hypothesis unless evidence exists.
  • If a performance claim cannot be proven from code, include a validation plan instead of claiming success.
Show full SKILL.md (399 more words)Show less

Gotchas

  • Do not treat skeletons or placeholders as actual execution-time improvements.
  • Do not hide errors behind indefinite loading states.
  • Do not recommend optimistic success for high-stakes or irreversible actions.
  • Do not suggest artificial delays as a default performance fix.
  • Do not clear content during refresh unless stale content is unsafe or misleading.
  • Do not split every screen into independent loading sections if partial content would confuse the user.
  • Do not claim Low Power Mode simulates an older device. Use it only as a rough manual stress signal.
  • Do not say “this feels faster” without evidence from a recording, trace, metric, test, or user-visible behavior.
  • Do not make broad low-level optimization recommendations when the immediate problem is missing feedback or unclear state.

Evidence and validation

Prefer evidence that reflects what the user experiences:

  • screen recording from action to first feedback and first meaningful content;
  • tap-to-first-feedback timing;
  • time to first meaningful content;
  • time until primary interaction becomes available;
  • repeated refresh attempts;
  • slow-network testing;
  • UI tests that capture state transitions;
  • Instruments traces for hangs, hitches, layout, rendering, and main-thread work;
  • MetricKit or Xcode Organizer responsiveness data;
  • production logs around loading stages;
  • user reports describing stuck, blank, jumpy, or misleading UI.

Use careful language when evidence is incomplete:

  • “This should reduce blank-screen time.”
  • “This gives the user earlier feedback.”
  • “This needs validation on a release build.”
  • “Validate with a screen recording, Instruments trace, UI test, or production signal.”

Avoid unsupported claims:

  • “This fixes performance.”
  • “This is now smooth.”
  • “This will feel faster to users.”
  • “This works well on older devices.”

Reference routing

Read these only when relevant:

  • references/progressive-rendering.md — read when a screen waits for all data before showing useful UI, can show critical content first, needs section-level loading, or clears existing content during refresh.
  • references/loading-states.md — read when the task involves loading, empty, error, retry, refreshing, skeleton, placeholder, or progress states.
  • references/optimistic-updates.md — read when the task involves optimistic UI, pending state, rollback, retries, conflict handling, local reconciliation, or server sync.
  • references/high-stakes-actions.md — read when the action is financial, legal, destructive, irreversible, medical, identity-related, security-sensitive, or server-authoritative.
  • references/validation-and-testing.md — read when the task asks how to validate perceived responsiveness, older-device behavior, Low Power Mode signals, release-build behavior, screen recordings, Instruments traces, MetricKit, or production evidence.

Output expectations

When reviewing a screen or flow, respond with:

markdown
## Finding

Describe the perceived performance issue.

## User impact

Explain what the user sees or feels: no feedback, blank screen, jumpy updates, delayed interaction, unclear progress, unsafe optimism, duplicate submission risk, or premature success.

## Evidence

Point to code, state model, flow behavior, trace, recording, metric, user report, or missing UI state.

## Recommended change

Suggest the smallest useful product/UI change first: immediate feedback, distinct loading state, progressive rendering, stale-while-refreshing content, optimistic update with rollback, explicit confirmation, duplicate-submission prevention, or validation.

## Implementation notes

Explain what can be changed in code and what depends on product, design, backend, or runtime evidence.

## Validation

State how to verify the improvement. Do not claim manual, device, or production validation was performed unless evidence is provided.

Prefer user-visible improvements over low-level optimization when the bottleneck is missing feedback, all-or-nothing rendering, unclear loading, unsafe optimistic behavior, or poor continuity.

© Livsy90, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 6 other files (references) in ios-perceived-performance of Livsy90/iOS-Performance-Agent-Skills.

  • SKILL.md
  • agents/openai.yaml
  • references/high-stakes-actions.md
  • references/loading-states.md
  • references/optimistic-updates.md
  • references/progressive-rendering.md
  • references/validation-and-testing.md

Open the folder on GitHubat commit c259885

Compare with similar skills

iOS Perceived 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.

iOS Perceived Performance compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
iOS Perceived Performance this skillLivsy90/iOS-Performance-Agent-Skills117—~2.7kAutomated safety check: PassMIT
Pymobiledevice3 Device Operatordoronz88/pymobiledevice32.9k—~1.8kAutomated safety check: NotesGPL-3.0
AgentSquad for Swift2FastLabs/agent-squad7.8k—~3.5kAutomated safety check: PassApache-2.0
Swiftui Expert SkillAFK-surf/OpenBridge4302 repos~3.9kAutomated safety check: PassMIT
Dep Validateblokadaorg/blokada3.3k—~5.7kAutomated safety check: NotesMPL-2.0
Inspector MCPipedro/Inspector170—~3.4kAutomated safety check: PassMIT

Similar skills

  • Pymobiledevice3 Device Operator

    doronz88/pymobiledevice3

    Operate iOS and iPadOS devices with pymobiledevice3, from a local checkout or straight from PyPI via uvx on a fresh workstation.

    2.9k GitHub stars~1.8k tokensUpdated 2 days ago
    DevOps & CloudAuto-check: notes
  • AgentSquad for Swift

    2FastLabs/agent-squad

    Guides building on-device multi-agent apps in Swift with the AgentSquad framework: which agent, orchestrator, classifier, storage or voice type fits each situation.

    7.8k GitHub stars~3.5k tokensUpdated 2 days ago
    AI & LLM EngineeringAuto-check passed
  • 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.

    430 GitHub starsUsed in 2 repos~3.9k tokens
    MobileAuto-check passed
  • Dep Validate

    blokadaorg/blokada

    A skill your agent uses to validate risky dependency bumps end to end as a local or cloud-launched agent.

    3.3k GitHub stars~5.7k tokensUpdated yesterday
    DevelopmentAuto-check: notes
  • Inspector MCP

    ipedro/Inspector

    A skill your agent uses when an agent needs to inspect a live iOS app through the Inspector MCP bridge, register or troubleshoot InspectorMCPServer for a consumer Xcode project, or query, resolve…

    170 GitHub stars~3.4k tokensUpdated 5 mo ago
    MobileAuto-check passed
  • Stellar iOS Mac SDK

    Soneso/stellar-ios-mac-sdk

    Guides Stellar blockchain development in Swift using stellar-ios-mac-sdk.

    132 GitHub stars~4.3k tokensUpdated yesterday
    Backend & APIsAuto-check passed

More from Livsy90/iOS-Performance-Agent-Skills

  • iOS Performance Profiling

    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…

    117 GitHub stars~3.3k tokensUpdated 3 mo ago
    Auto-check passed
  • Swift Runtime Performance

    Livsy90/iOS-Performance-Agent-Skills

    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…

    117 GitHub stars~4.3k tokensUpdated 3 mo ago
    Auto-check passed
  • iOS Launch Performance

    Livsy90/iOS-Performance-Agent-Skills

    A skill your agent uses when diagnosing iOS app launch performance, startup regressions, first-frame readiness, or early responsiveness.

    117 GitHub stars~4k tokensUpdated 3 mo ago
    Auto-check passed
  • Swift Concurrency Performance

    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…

    117 GitHub stars~2.9k tokensUpdated 3 mo ago
    Auto-check passed
  • Swiftui Performance

    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…

    117 GitHub stars~1.6k tokensUpdated 3 mo ago
    Auto-check passed

Works with

Categories

Questions about iOS Perceived Performance

What does iOS Perceived Performance do?

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…. iOS Perceived Performance is an agent skill from Livsy90/iOS-Performance-Agent-Skills. Use this skill for product-level iOS responsiveness and loading/feedback flows, including perceived latency, time to first feedback, progressive rendering, loading states, skeletons, placeholders, optimistic updates, rollback behavior, high-stakes actions, UI continuity, and responsiveness validation.

When should I use iOS Perceived Performance?

iOS Perceived Performance fits situations like: product-level iOS responsiveness and loading/feedback flows; including perceived latency; time to first feedback; progressive rendering.

How do I install iOS Perceived Performance in Claude Code?

Run `npx skills add Livsy90/iOS-Performance-Agent-Skills --skill ios-perceived-performance -a claude-code`. Or copy the skill folder (ios-perceived-performance in Livsy90/iOS-Performance-Agent-Skills) into .claude/skills/ios-perceived-performance in your project. Claude Code loads it when a task matches its description.

How do I install iOS Perceived Performance in Codex?

Run `npx skills add Livsy90/iOS-Performance-Agent-Skills --skill ios-perceived-performance -a codex`. Or copy the skill folder (ios-perceived-performance in Livsy90/iOS-Performance-Agent-Skills) into .agents/skills/ios-perceived-performance in your project. Codex loads it when a task matches its description.

Can I use iOS Perceived Performance in Cursor, Gemini CLI or GitHub Copilot?

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 ios-perceived-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/ios-perceived-performance, .gemini/skills/ios-perceived-performance, .github/skills/ios-perceived-performance and .opencode/skills/ios-perceived-performance in your project.

What does iOS Perceived Performance need to run?

SKILL.md names no scripts, command-line tools or credentials: iOS Perceived Performance is instructions for the agent only.

Does iOS Perceived Performance access the network?

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.

Is iOS Perceived Performance safe to install?

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.

What licence does iOS Perceived Performance use?

iOS Perceived Performance is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does iOS Perceived Performance use?

About 2.7k tokens (SKILL.md is roughly 11k 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 34k tokens, read only when the agent opens those files.

What are the alternatives to iOS Perceived Performance?

Skills that share tags, products or a category with iOS Perceived Performance: Pymobiledevice3 Device Operator (doronz88/pymobiledevice3, 2.9k stars), AgentSquad for Swift (2FastLabs/agent-squad, 7.8k stars), Swiftui Expert Skill (AFK-surf/OpenBridge, 430 stars) and Dep Validate (blokadaorg/blokada, 3.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains iOS Perceived Performance?

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.