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 ndisisnd/cook --skill iosgit clone --depth 1 https://github.com/ndisisnd/cookWrote 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/ndisisnd/cook/ios)<a href="https://agentmods.dev/skills/ndisisnd/cook/ios"><img src="https://agentmods.dev/badge/skills/ndisisnd/cook/ios/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/ndisisnd/cook/ios"><img src="https://agentmods.dev/badge/skills/ndisisnd/cook/ios.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.00081 | $0.01636 |
| Opus 5.5 | $0.00032 | $0.00654 |
| Sonnet 5.5 | $0.00016 | $0.00327 |
| Haiku 4.5 | $0.00008 | $0.00164 |
Grade A, and why
ios 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 19d 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 — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.
iOS Standards
Target: iOS/iPadOS 18+ deployment, built with Xcode 27 and the iOS 27 SDK. Default load: this file only.
Scope. iOS/iPadOS app targets and their extensions (widgets, notification service, App Intents). Not watchOS/visionOS. Info.plist/.entitlements globs also match the macOS shelf; decide the platform first:
- iOS when
SDKROOT = iphoneos, the file sits underios/, or code importsUIKit/ActivityKit/WidgetKit. - macOS when
SDKROOT = macosxor code importsAppKit→standards/macos/. Multiplatform targets: apply each shelf to its own#if os(...)branch.
Pairs with: Swift rules → standards/swift/; universal → standards/global/; secrets → global/refs/security.md. Platform-neutral SwiftUI guidance lives on the macOS shelf (skip window/menu-bar parts): state and persistence → <SKILLS>/macos/refs/architecture-and-state.md; strings and formatting → <SKILLS>/macos/refs/localization.md.
In existing code, match conventions; propose deployment-target bumps, UIKit→SwiftUI migrations, and persistence changes as separate tasks.
P0 — Platform Correctness
Baseline (Oct 2026)
- Build with Xcode 27 / iOS 27 SDK. App Store Connect has rejected uploads built with anything older than Xcode 26 / iOS 26 SDK since 2026-04-28. SDK version ≠ deployment target.
- New apps: deployment target iOS 18 (covers 27, 26, 18). iOS 17 is the practical floor: it keeps
@Observableand SwiftData but loses theTabtype, zoom transitions and control widgets. Gate newer APIs (Liquid Glass = iOS 26) withif #available. - Three iOS 27 SDK rules break Xcode 26 builds:
- UIScene lifecycle is mandatory. A UIKit app with no scene manifest fails to launch (SwiftUI
Appapps comply) →refs/app-lifecycle-and-navigation.md. - A launch screen is mandatory (
UILaunchScreenorUILaunchStoryboardNameinInfo.plist). Missing → upload rejected with ITMS-90870. UIDesignRequiresCompatibilityis ignored; Liquid Glass is always on. Re-check screens and re-baseline snapshots.
- UIScene lifecycle is mandatory. A UIKit app with no scene manifest fails to launch (SwiftUI
What ships with it
7 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.
- 19d ago First seen · 101 lines · 81 tokens per session scan A aa14623ceb68
ios is a skill published in the GitHub repository ndisisnd/cook (2 stars, last pushed 19d ago), licensed MIT. It adds 81 tokens to every session and 1,636 once invoked, about $0.0003 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-10-23.
ios compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| iosndisisnd/cook | Skill | 2 | 19d ago | MIT | A | 81 | Claude Code, Codex |
| kotlin-specialistJeffallan/claude-skills | Skill | 12k | yesterday | MIT | A | 86 | Claude Code |
| swift-expertJeffallan/claude-skills | Skill | 12k | yesterday | MIT | A | 98 | Claude Code |
| init-xcode-appglebis/claude-skills | Skill | 413 | yesterday | MIT | A | 88 | Claude Code, Codex |
| android-developmentMindrally/skills | Skill | 303 | 1mo ago | Apache-2.0 | A | 27 | Claude Code |
| swift-devtenequm/skills | Skill | 39 | 6d ago | MIT | A | 67 | Claude Code, Codex |
| swift-macostenequm/skills | Skill | 39 | 6d ago | MIT | A | 62 | Claude Code, Codex |