先说一件比工具更重要的事
Xcode 27 内置了 7 个 Agent Skills,并且给了一条导出命令:
xcrun agent skills export ~/.agents/skills
# 或者直接导给 Claude Code
xcrun agent skills export ~/.claude/skills导出来的每个 skill 就是一个文件夹,里面一个 SKILL.md,YAML frontmatter 写 name 和 description,正文是 markdown 指令。这正是 Anthropic 定义的 Agent Skills 格式,Claude Code、Codex、Cursor 都能直接识别。
七个官方 skill 分别是:
| Skill | 作用 |
|---|---|
swiftui-specialist | 苹果自己对 SwiftUI 结构、数据流、environment、修饰符、动画的权威写法 |
swiftui-whats-new-27 | 2027 版本的新 SwiftUI API、废弃项与迁移路径 |
test-modernizer | 把 XCTest 套件迁移到 Swift Testing |
uikit-app-modernization | 替换过时 UIKit API,多窗口多场景配置 |
c-bounds-safety | C 语言边界安全扩展的采用与调试 |
device-interaction | 模拟器截图、视图层级检查、触摸模拟来验证行为 |
audit-xcode-security-settings | 审计并加固 Xcode 工程的安全构建设置 |
导出后重启 Claude Code,或者在会话里跑一次 /clear,它就会在启动时发现这些目录。
苹果把自己的工程规范交出来当成 agent 能读的文件,这件事比它在 IDE 里塞一个聊天框重要得多。 过去这些规范散在 WWDC session、HIG 文档和一堆 release notes 里,靠人记;现在它是一份可以 diff、可以版本化、可以被 CI 校验的 markdown。SKILL.md 从一家公司的约定,变成了苹果背书的分发格式。
下面这份清单,就是围绕这个格式已经长出来的生态。
一个可复用的分层框架
三十多个工具堆在一起很容易看晕。有一个分层方式可以套:
| 层 | 它负责什么 | 典型代表 |
|---|---|---|
| 知识层 | 告诉 agent 怎么写才符合当前规范 | claude-code-apple-skills、apple-skills、liquid-glass |
| 动作层 | 让 agent 真的能编译、点屏幕、抓日志 | ios-simulator-skill、XcodeBuildMCP、xclaude-plugin |
| 集成层 | 打通 App Store Connect / TestFlight / CI 的账号与数据 | asc-metadata-mcp、asc CLI、ascelerate、fastlane |
| 工作流层 | 把上面三层按顺序串成一条命令链 | SwiftShip、indie-app-autopilot |
装错层是大多数人用不起来的原因。 只装知识层,agent 知道该怎么写却编译不了,你还得手动跑 Xcode 复述报错;只装动作层,它编译得飞快,写出来一堆 iOS 18 时代的废弃 API。
带着这个框架往下看。
一、选品与调研
froessell/app-store-opportunity-research 是这一环最完整的一个。它做的事情是扫 App Store 排行榜里被低估的冷门细分市场,分析竞品的评分、评论、收入和功能缺失点,产出带收入验证的 Top 3 机会报告,再自动写成 MVP 级别的 PRD,还能接 Rork 直接搭原型。触发词是 find app opportunities、app store research、what app should I build、research this app category。
配套的还有两条路子:
- •
rshankras/claude-code-apple-skills的 product 分类,14 个 skill 覆盖从想法发现到上架的完整链路 - •
rorkai/App-Store-Connect-CLI(命令是asc)无需授权就能查 App Store 已上线应用的公开数据,做竞品研究和元数据调试很顺手
AI 未必比你更懂市场。但把 200 个竞品的一星评论逐条读完并归类——这种你知道该做、又永远不会真去做的活儿,它能做完。选品类工具真正交付的东西是覆盖率,洞察还得你自己下判断。
二、写码:知识层
这一层的工具都在解决同一个问题:模型的训练数据里,iOS 26 之后的 API 太少,它默认会写出三年前的代码。
- • — 覆盖 iOS 26+ 设计规范、Swift 6 严格并发、SwiftData、CloudKit 同步、Vapor 4 后端、StoreKit 2 支付、Passkeys、App Intents + Siri,还能通过 fal.ai FLUX.2 生成 App 图标(明/暗/着色三态)和启动页。作者做了个基准:三个真实任务,带 skill 平均达标率 94%,不带 47%。拆开看,App 脚手架 91% vs 30%,图标资产 100% vs 71%,废弃 API 审计 90% vs 40%。自测基准要打折看,但差距最大的一项是废弃 API,这个方向是对的——skill 补的主要是新规范的记忆,不是推理能力。
- • — iOS 26+ API、SwiftUI、UIKit、Liquid Glass、HIG 和一批实操 workflow 指南。同时支持 Claude Code、Codex、Cursor,装法是
claude plugin marketplace add Prisma-Labs-Dev/apple-skills。 - • — 专攻 iOS 26 液态玻璃:Glass struct、glassEffect 修饰符、GlassEffectContainer 的完整 API 参考,从 iOS 17/18 材质的迁移指南,glassEffectID 变形动画,Reduce Transparency 和 VoiceOver 的无障碍处理,还有性能优化和排错。
- • — 从构建、测试到部署的 Swift 全周期范式和终端指令,轻量,直接
cp -r到~/.claude/skills/。 - • — 体量最大的一个,164 个 skill 分 23 类,光代码生成器就有 63 个:日志、埋点、网络层、登录流、付费墙、后台任务、App Extension、数据导出等等。
最后这个仓库有个设计值得单独说:插件安装后只暴露 23 个分类描述(/apple-skills:generators、/apple-skills:testing……),子技能按需路由加载。164 个 skill 如果把描述全塞进上下文,光目录就吃掉几千 token。分类路由是这批工具里少见的、认真对待上下文预算的做法。
三、构建与调试:省 token 才是主线
这一节是整份清单里最反直觉的部分。
conorluddy/ios-simulator-skill 有 27 个脚本,它拿来说事的地方在于输出够短。一次构建返回一行:
Build: SUCCESS (0 errors, 3 warnings) [xcresult-20251018-143052]需要细节再单独拉:
python scripts/build_and_test.py --get-errors xcresult-20251018-143052官方给的压缩比:屏幕分析 200+ 行压到 5 行,找按钮并点击 100+ 行压到 1 行,完整登录流程 400+ 行压到 15 行。
UI 导航也一样,它走无障碍树而不是像素坐标:
# 脆弱:UI 一改就废
idb ui tap 320 400
# 稳:按语义找
python scripts/navigator.py --find-text "Login" --tap无障碍树默认输出约 10 token,一张截图是 1600–6300 token。这个差距在一轮调试里要乘以几十次。
同一作者的 conorluddy/xclaude-plugin 把这套思路推得更远:8 个按工作流切分的 MCP server,每个明码标价——xc-build 约 600 token,xc-launch 400,xc-interact 900,全量的 xc-all 3500。你按当下要做的事开关。
这一层的其他选择:
- • — 同时是 CLI 和 MCP server,
brew install xcodebuildmcp或 npm 装,自带两个 skill(分别教 agent 用 MCP 和用 CLI),xcodebuildmcp init一键装。 - • — 最轻的一个,纯教 agent 用
xcodebuild和xcrun simctl:构建、模拟器生命周期、装 App、截图录屏、跑测试、流式日志。 - • 里的
ios-debugger-agent— 基于 XcodeBuildMCP 做构建、启动、UI 检查、截图和日志抓取。
iOS 工具链的 AI 化,很大一部分卡在 xcodebuild 一次构建吐出几百行没人看的日志上。 模型能力早就够了,是工具输出的格式在浪费上下文窗口。谁把这几百行压成一行,谁就多出半个窗口去干正事。
四、测试与质量审计
Dimillian/Skills 是这一环密度最高的仓库,16 个 skill,装在 $CODEX_HOME/skills:
- •
swift-concurrency-expert— 修 Swift 6.2+ 的 actor 隔离、Sendable 违规、main-actor 标注、data-race 诊断 - •
swiftui-performance-audit— 从代码和架构层面审失效风暴、identity churn、布局抖动、重渲染 - •
swiftui-view-refactor— 拆大 View、MV 数据流、稳定视图树、显式依赖注入、Observation 正确用法 - •
bug-hunt-swarm— 四个只读 agent 协同:复现、代码路径追踪、回归定位、最快证明步骤,输出排序过的根因路径 - •
review-swarm— 四个 agent 审 diff,分别盯行为回归、安全风险、性能可靠性、契约与测试覆盖缺口 - •
macos-spm-app-packaging— 不用 Xcode 工程,直接给 SwiftPM 项目打包、签名、公证 - •
app-store-changelog— 从 git 历史里筛出用户可见的改动,改写成 What's New 文案
另一条线是 mwd1234/ios-agentic-skills,提供 /accessibility、/localize、/privacy 这类审计指令。作者写 Haptix 时的原话很典型:在一个 feature 上做得很完美,下一个就忘了,一周之后整个流程都忘了。审计类 skill 唯一的卖点,是把质量从记忆问题变成流程问题——这一条就够了。
再补两块:claude-code-apple-skills 的 testing 分类有 12 个 skill(TDD 流程、测试基建、快照测试、流程走查、确定性门禁),Xcode 27 自带的 test-modernizer 负责 XCTest 到 Swift Testing 的迁移。
五、过审预检:在苹果拒绝你之前先扫雷
- • — 全框架支持,Swift、Flutter、React Native、Expo、KMP 都能扫,跑
/appstore-review出秒级合规报告。 - • — Go 写的 CLI,
greenlight preflight .一条命令并行跑完所有扫描器,覆盖源码、隐私清单、IPA 二进制和 App Store Connect 元数据,全离线、不上传、一秒内出结果,--format json直接接 CI。另有可选的greenlight verify,把账号删除、恢复购买、Sign in with Apple 这类必须真能跑通的条款放到云端真机上验证——静态扫描只能确认代码里有,跑不跑得通是另一回事。 - • — 针对性预警:竞品关键词、中国区禁用的 AI 术语、误导性定价、隐私清单缺失。
- • 的 security 分类(隐私清单、Required Reason API)和 app-store 分类里的 rejections skill。
审核指南是公开的,被拒经验是私有的。这类工具在做的事,是把某个人被拒三次才学会的东西写成一条静态检查规则,然后让所有人都能跑。
六、发版流水线:从归档到提交审核
- • — Swift 写的 CLI,基于 App Store Connect API。覆盖归档、上传构建版本、版本与本地化管理、商店截图、提交审核,再往外还有证书配置全套(设备、证书、Bundle ID、描述文件)、内购与订阅管理、用户评论与开发者回复、App 内活动、自定义产品页、销售/财务/分析报表下载。大部分配置命令支持交互模式,不用背参数。装法
brew install keremerkan/tap/ascelerate(Homebrew 6.0 起第三方 tap 需要先 trust)。 - • (asc) — Go 写的,覆盖 iOS/macOS/tvOS/visionOS,完全无交互提示,为 CI/CD 设计,支持
--bypass-keychain在无钥匙串环境走配置鉴权。配套 skill 仓库是rorkai/app-store-connect-cli-skills,asc install-skills一键全局安装。 - • — 5 个 skill 对应 fastlane 的五件事:Setup(生成 Appfile / Fastfile)、Match(代码签名)、Snapshot(多机型多语言截图)、Beta(TestFlight 上传)、Release(提交 App Store)。bundle ID 和 team ID 从 Xcode 自动读,不用手填。
- • — Swift 写的 MCP server,把 65+ 个 App Store Connect API 操作变成结构化工具。所有写操作支持
dryRun: true,动手之前先给你看要改什么。你可以直接下指令:把所有提到崩溃的一星评论回一下——它自己走list_reviews→ 过滤 → 逐条respond_to_review。
安卓侧对应的是 Google Play Developer CLI,思路一样。
七、定价本地化、ASO 与截图
- • 定价:Store Wizard 用巨无霸指数做 PPP 定价,StoreLocalizer 用 GDP 指数优化定价并同步双平台
- • 截图:ASO App Store Screenshots(15 分钟自动出全套设计)、Screenshot Whale(在线编辑成品图)、fastlane snapshot(多机型多语言批量截)
- • ASO:ASO Skills 套件做竞品分析和关键词优化;
claude-code-apple-skills的 app-store 分类有 12 个 skill,覆盖 ASO、描述、关键词、评论、Apple Search Ads、广告归因、拒审处理、原创性、IAP 收尾、评分机制、Web 站点
定价本地化是这批工具里投产比最高的一项。 它是一次性配置、全量生效、改完就吃到,而绝大多数独立开发者从来没认真做过——全球一个价,在印度和挪威卖同样的 6.99 美元。
八、上架之后
原文的清单停在提交审核。但上架之后才是吃时间的部分。
rshankras/indie-app-autopilot 用 7 个 agent 把这段接上:
| Agent | 触发 | 做什么 |
|---|---|---|
issue-worker | 手动或队列 | 取最老的 agent-ready issue → TDD 实现 → 模拟器截图 → 开 PR |
release-agent | 你下达「准备 X.Y 版本」 | 写发版说明、App Store Connect 元数据、提交清单 |
feedback-triage | 每日定时 | TestFlight 崩溃 + 反馈 → 去重后生成 GitHub issue |
queue-runner | 每晚定时 | 没有待合 PR 时跑一个 issue-worker,WIP 限 1,出周报 |
beta-break-bot | 新 Xcode beta 发布 | 用新 SDK 重编所有 App,报告哪里坏了 |
portfolio-health-monitor | 每周 | 销量、下载、会话、崩溃、性能、评分变化、新评论的周环比 |
daily-sales-pulse | 每日 | 昨日下载/收入 vs 7 日均值,发 macOS 通知和邮件 |
beta-break-bot 这个想法尤其适合手上有多个 App 的人。每年九月 Xcode beta 一出,挨个开工程重编是纯体力活,而且必须做。
九、编排层:把三十个工具串成一条链
rshankras/SwiftShip 是 53 个 /apple:* 命令,从 /apple:validate 验证想法开始,到上架、到上架后的数据驱动排期。它的核心是项目里一个隐藏的 .planning/ 目录,存 spec、roadmap、决策记录和进度——跨会话失忆是 agent 做长周期项目时最大的成本,把状态写进文件是目前唯一有效的解法。
它还有个设计值得抄:所有能自动执行的能力都是可选的,对应工具没装就静默退化成打印手动步骤,不报错、不中断。
四个仓库拼在一起就是完整的一条链:
claude-code-apple-skills (知识层,164 skills)
↓
SwiftShip (工作流层,53 个 /apple:* 命令)
↓
indie-app-autopilot (动作层,7 个 agent)
↓
asc-metadata-mcp (集成层,65+ MCP 工具)这套东西里最值得抄的设计,是 indie-app-autopilot 划的两个人类闸门:合 PR,和点提交审核。 其余全自动,WIP 限 1,agent 遇到不确定就问、不猜。作者的说法是,一条流水线能不能被信任,取决于闸门设在哪里——这个判断比任何模型选型都更决定成败。
十、按预算选装
上下文是有配额的,装满三十个 skill 只会让每一轮对话变慢变贵。按层取一:
| 阶段 | 装什么 | 大概成本 |
|---|---|---|
| 起步 | Xcode 27 官方 7 个 + 一个知识库(apple-skills 或 claude-code-apple-skills) | 免费、权威、零维护 |
| 要跑起来 | 加一个构建层:XcodeBuildMCP 或 ios-simulator-skill | 换来的 token 节省远大于占用 |
| 要发版 | 加 asc 或 ascelerate + fastlane-skill | 一次配置长期用 |
| 要过审 | 加 greenlight | 离线一秒,接 CI 零成本 |
| 多 App / 持续迭代 | 再上 SwiftShip + indie-app-autopilot + asc-metadata-mcp | 重,但只有到这个体量才回本 |
claude-code-apple-skills 的 23 分类路由和 xclaude 给每个 MCP 标 token 单价,这两件事指向同一个提醒:skill 装得越多,agent 每轮要读的描述越长,留给你代码的空间越小。
最后
把这三十多个工具放在一起看,能看出一条挺清晰的迁移路线。
iOS 开发里那些需要资历才知道的东西——废弃 API 的替代写法、哪条审核指南容易踩、截图要出多少个尺寸、Swift 6 的隔离规则、印度区该定什么价——正在从人的经验变成仓库里的文本。苹果自己开始发 SKILL.md,是这条路线走到某个节点的信号。
剩下的差异会落在写不进文件的地方:做哪个 App,以及被拒到第三次的时候还改不改。
夜雨聆风