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 troyjthomas/ios-agent-skills --skill app-store-prepgit clone --depth 1 https://github.com/troyjthomas/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/troyjthomas/ios-agent-skills/app-store-prep)<a href="https://agentmods.dev/skills/troyjthomas/ios-agent-skills/app-store-prep"><img src="https://agentmods.dev/badge/skills/troyjthomas/ios-agent-skills/app-store-prep/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/troyjthomas/ios-agent-skills/app-store-prep"><img src="https://agentmods.dev/badge/skills/troyjthomas/ios-agent-skills/app-store-prep.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.00059 | $0.01516 |
| Opus 5 | $0.00030 | $0.00758 |
| Sonnet 5 | $0.00012 | $0.00303 |
| Haiku 4.5 | $0.00006 | $0.00152 |
Grade A, and why
app-store-prep 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 9d 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 — 193 lines — stays where its author put it; the contents beside it link to each section on GitHub.
App Store Prep
Your app works. It's tested. Now ship it.
When to Use
- Device testing is complete
- All critical bugs are fixed
- You're ready for TestFlight or App Store submission
Prerequisites
- Apple Developer Program membership ($99/year)
- Xcode with a valid signing certificate
- App icon designed and exported at required sizes
- Screenshots from iPhone (and iPad if you support it)
Phase 1: Xcode Configuration
Tell Claude Code:
Configure the Xcode project for release:
- Bundle identifier: com.[yourname].[appname]
- Display name: [App Name]
- Version: 1.0.0
- Build: 1
- Deployment target: iOS [version]
- Supported orientations: Portrait (or specify)
- Supported devices: iPhone (or iPhone + iPad)
- Add the app icon to Assets.xcassets/AppIcon
- Ensure all required Info.plist entries are present
App Icon Requirements
You need a single 1024x1024px PNG (no transparency, no rounded corners, the system adds those). Design this in Figma or your preferred tool.
Tell Claude Code:
Add the app icon from [path or describe where it is].
Verify it's configured correctly in the asset catalog.
Required Info.plist Entries
If your app uses any of these, you need usage description strings:
- Camera: NSCameraUsageDescription
- Photo Library: NSPhotoLibraryUsageDescription
- Location: NSLocationWhenInUseUsageDescription
- Notifications: no plist entry needed, but permission request in code
- Health: NSHealthShareUsageDescription
Tell Claude Code:
Add the following privacy usage descriptions to Info.plist:
- [List only the ones your app actually uses]
Use clear, user-friendly language that explains why the app needs access.
Phase 2: TestFlight
Create the App in App Store Connect
- Go to appstoreconnect.apple.com
- My Apps > + (New App)
- Fill in: name, primary language, bundle ID, SKU
- Save
Archive and Upload
In Xcode:
- Select "Any iOS Device" as build destination (not a specific simulator or device)
- Product > Archive
- When archive completes, click "Distribute App"
- Select "App Store Connect"
- Follow the prompts to upload
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.
- 9d ago First seen · 193 lines · 59 tokens per session scan A 21c081e890b7
app-store-prep is a skill published in the GitHub repository troyjthomas/ios-agent-skills (2 stars, last pushed 3mo ago), licensed MIT. It adds 59 tokens to every session and 1,516 once invoked, about $0.0003 per session on Opus 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.
Other skills, from other repositories
activitykit
Implement, review, or improve Live Activities and Dynamic Island experiences in iOS apps using ActivityKit. Use when building real-time updating widgets for the Lock Screen and Dynamic Island — delivery tracking, sports scores, ride-sharing status, workout timers, media playback, or any time-sensitive information that…
carplay
Build CarPlay-enabled apps using the CarPlay framework. Use when creating navigation, audio, communication, EV charging, parking, or food ordering apps for the car display, working with CPTemplateApplicationScene, CPInterfaceController template hierarchies, CPListTemplate, CPMapTemplate, CPNowPlayingTemplate…
cloudkit
Implement, review, or improve CloudKit and iCloud sync in iOS/macOS apps. Use when working with CKContainer, CKRecord, CKQuery, CKSubscription, CKSyncEngine, CKShare, NSUbiquitousKeyValueStore, or iCloud Drive file coordination; when syncing SwiftData models via ModelConfiguration with cloudKitDatabase; when handling…
financekit
Access eligible Wallet financial data using FinanceKit and FinanceKitUI. Use when querying transactions or balances, reading Apple Card, Apple Cash, Savings, or U.K. connected-account data, requesting financial-data authorization, using TransactionPicker, enabling iOS 26 background delivery, or saving and checking…
ios-accessibility
Build and audit SwiftUI, UIKit, and AppKit accessibility for VoiceOver, Voice Control, Switch Control, Full Keyboard Access, Dynamic Type, focus restoration, labels/traits/actions, traversal, custom rotors, NSAccessibility, XCTest checks, adaptive system preferences, and App Store accessibility declarations. Use when…
push-notifications
Implement, review, or debug push notifications in iOS/macOS apps — local notifications, remote (APNs) notifications, rich notifications, notification actions, silent pushes, and notification service/content extensions. Use when working with UNUserNotificationCenter, registering for remote notifications, handling…