Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add koshkinvv/ios-agent-skills --skill ios-performancegit clone --depth 1 https://github.com/koshkinvv/ios-agent-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/koshkinvv/ios-agent-skills/ios-performance)<a href="https://agentmods.dev/skills/koshkinvv/ios-agent-skills/ios-performance"><img src="https://agentmods.dev/badge/skills/koshkinvv/ios-agent-skills/ios-performance/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/koshkinvv/ios-agent-skills/ios-performance"><img src="https://agentmods.dev/badge/skills/koshkinvv/ios-agent-skills/ios-performance.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00201 | $0.03089 |
| Opus 5.5 | $0.00080 | $0.01236 |
| Sonnet 5.5 | $0.00040 | $0.00618 |
| Haiku 4.5 | $0.00020 | $0.00309 |
Grade A, and why
ios-performance scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 316 lines — stays where its author put it; the contents beside it link to each section on GitHub.
iOS Performance Optimization Skill
Core Rules
- Use
[weak self]in escaping closures by default — use[unowned self]only when the closure's lifetime is strictly shorter than the captured object (e.g., parent owns child, child's closure references parent). - Non-escaping closures do NOT need
[weak self]—map,filter,forEach,reduce,compactMap,sorted(by:)are non-escaping. The closure executes synchronously and releases captures immediately. - Delegates must be
weak var— the delegate protocol must conform toAnyObject(or be marked@objc). Strong delegates create retain cycles between owner and delegate. - Use
@ObservableoverObservableObject(iOS 17+) —@Observabletracks property access per-view, so only views reading a changed property re-evaluate.ObservableObjectwith@Publishedinvalidates ALL observing views on ANY published property change. - Break SwiftUI views into small subviews — each subview localizes its state dependency, so changes only re-evaluate the subview, not the entire parent body.
- Use
LazyVStack/LazyHStackinsideScrollViewfor large collections —VStackevaluates ALL children upfront. UseListfor very large datasets (10,000+) since it reuses cells. - Use
.taskmodifier instead of.onAppear+Task {}—.taskautomatically cancels when the view disappears. Use.task(id:)to restart when a dependency changes. - Profile with Instruments BEFORE optimizing — measure first, optimize second. Never guess where the bottleneck is.
- Never block the main thread — all file I/O, network calls, JSON decoding of large payloads, image processing, and database queries must run off the main thread.
- Reuse expensive objects —
URLSession,DateFormatter,JSONDecoder,NumberFormatter,NSRegularExpressionare expensive to create. Use shared instances or caches.
Performance Targets
| Metric | Target | Critical Threshold |
|---|---|---|
| Cold launch | <400ms to first frame | >2s triggers watchdog kill |
| Warm launch | <200ms | >1s feels broken |
| Frame rate | 60 FPS (120 on ProMotion) | <45 FPS is noticeable jank |
| Frame budget | 16.67ms (8.33ms at 120Hz) | >33ms = visible dropped frame |
| Memory (typical) | <100MB resident | >500MB risks jetsam on older devices |
| Memory (spike) | <200MB peak | Varies by device class |
| CPU idle | <3% | >5% drains battery |
| CPU active task | <80% sustained | 100% = thermal throttling |
| API response (perceived) | <200ms | >1s needs loading indicator |
| App size (download) | <50MB (OTA limit: 200MB) | >200MB requires Wi-Fi |
| Disk writes | <1MB/min sustained | Excessive writes degrade flash |
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 316 lines · 201 tokens per session scan A d19340c8fe2a
ios-performance is a skill published in the GitHub repository koshkinvv/ios-agent-skills (6 stars, last pushed 7mo ago), licensed MIT. It adds 201 tokens to every session and 3,089 once invoked, about $0.0008 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
ios-performance compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| ios-performancekoshkinvv/ios-agent-skills | Skill | 6 | 7mo ago | MIT | A | 201 | Claude Code, Codex |
| flutterericrisco/rsc-harness | Skill | 503 | 2d ago | MIT | A | 91 | Claude Code, Codex |
| react-nativeericrisco/rsc-harness | Skill | 503 | 2d ago | MIT | A | 90 | Claude Code, Codex |
| compose-multiplatformericrisco/rsc-harness | Skill | 503 | 2d ago | MIT | A | 80 | Claude Code, Codex |
| ios-accessibilityrusel95/ios-agent-skills | Skill | 13 | 24d ago | MIT | A | 253 | Claude Code |
| ios-localizationrusel95/ios-agent-skills | Skill | 13 | 24d ago | MIT | A | 265 | Claude Code |
| ios-loggingrusel95/ios-agent-skills | Skill | 13 | 24d ago | MIT | A | 183 | Claude Code |