App Store 预检技能
提交前扫描 iOS/macOS 项目,识别可能导致 App Store 审核被拒的常见问题。
证据显示:该技能通过命令行工具(asc)拉取元数据,并扫描本地项目文件,权限需求相对有限(least_privilege=1)。但未提供用户确认机制(user_confirmation=0)。数据流透明性部分体现(data_flow_transparency=1),但未明确说明数据如何被处理或存储。敏感数据处理(sensitive_data_handling=1)仅提及隐私清单检查,未涉及实际数据处理。依赖安全性(dependency_security=0)未提及依赖审计或漏洞检查。外部影响(external_effects=1)涉及修改项目文件,但未说明回滚机制(rollback=0)。来源归属(source_attribution=1)仅通过README和LICENSE体现,未验证发布者身份。
证据显示:规则和指南文件结构一致,自洽性较好(self_consistency=2)。依赖可用性(dependency_availability=1)依赖外部CLI和技能,但未提供版本锁定或镜像。失败消息(failure_messages=1)未提供明确的错误处理或用户提示。
证据显示:面向iOS/macOS开发者,覆盖多种应用类型(audience_and_scenarios=2)。能力边界(capability_boundaries=2)通过规则分类和指南索引明确。触发精度(trigger_precision=2)通过规则定义和检测方法说明。环境适配(environment_fit=2)支持macOS/Linux,但未提及Windows。
证据显示:信息架构(information_architecture=2)清晰,有目录结构和README。安装说明(install_notes=2)提供了npx命令。命名稳定性(naming_stability=1)未提及版本或命名约定。示例和FAQ(examples_and_faq=1)有示例但无FAQ。已知限制(known_limitations=1)未明确列出。许可证(license=2)为MIT。版本和变更日志(versioning_changelog=0)缺失。维护责任(maintenance_responsibility=1)仅通过GitHub仓库体现,未明确维护者。
证据显示:输出可用性(output_usability=2)提供严重级别和解决步骤。边际价值(marginal_value=2)提供自动化检查,节省时间。成本效益(cost_benefit=2)免费开源,但依赖外部工具。
证据显示:声明可追溯性(claim_traceability=2)规则引用具体指南编号。跨来源佐证(cross_source_corroboration=1)仅依赖Apple指南,未与其他来源交叉验证。事实与推断分离(fact_inference_separation=1)规则中混合了事实和推断。
- 发布者身份未验证,需谨慎使用。
- 依赖外部CLI和技能,未提供版本锁定,可能因上游变更导致失效。
- 未提供用户确认机制,自动修改项目文件前应备份。
- 未提供回滚机制,修改后难以恢复。
- 未提供版本和变更日志,难以追踪更新。
这个 Agent 能做什么,适合哪些场景?
App Store Preflight 是一个 AI 代理技能,用于在提交前对 iOS/macOS 项目进行预检,帮助开发者发现可能违反 App Store 审核指南的问题。它扫描 Xcode 项目、源代码、元数据和配置文件,并标记常见的拒绝原因。该技能集成 `asc` CLI(App Store Connect CLI)和 ASC CLI Skills,用于拉取和检查 App Store 元数据。仓库包含超过 100 条审核指南的完整索引以及 10 个针对特定应用类型的检查清单,并实现了基于规则的扫描,按类别组织,如元数据、订阅、隐私、设计和权限。检测到问题后,它会生成包含严重级别、受影响文件和解决步骤的报告,并支持自动修复和重新验证。该技能通过 `npx skills add` 安装,适用于开发工作流程。
该技能在 iOS/macOS 项目上执行预提交检查。首先,它根据应用类型(如订阅、社交、儿童等)加载对应的检查清单,参考 references/guidelines/by-app-type/ 目录。然后,它使用 asc metadata pull --app "<APP_ID>" --version "<VERSION>" --dir ./metadata 从 App Store Connect 拉取元数据,或使用 asc-metadata-sync 技能。接着,它根据 references/rules/ 中的规则扫描项目,规则按类别组织(例如 metadata/、subscription/、privacy/、design/、entitlements/)。对于每个规则,它检查具体的模式,例如不完整的审核备注、竞争对手名称、Apple 商标滥用、缺失隐私清单或未使用的权限。最后,它生成一个报告,包含问题严重级别、受影响的文件和解决步骤,并支持自动应用修复并重新运行相关检查。该技能通过 SKILL.md 中的指令指导 AI 代理执行这些步骤。
- 独立 iOS 开发者在向 App Store Connect 提交新应用之前,使用该技能检查审核备注是否完整。
- 拥有订阅的应用团队确保其价格展示不具误导性,并正确提供条款和政策链接。
- 处理用户生成内容的开发者在发布前验证应用是否符合社交/内容审核指南。
- macOS 应用开发者检查其应用是否满足 Mac App Store 的特定要求。
- 使用 AI 功能的开发者确保应用符合 AI 应用指南(如内容生成和隐私要求)。
- 使用 App Store Connect CLI 的团队在持续集成流程中集成预检检查。
这个 Agent 有哪些优点和局限?
- 提供超过 100 条审核指南和 10 个特定应用类型的检查清单,覆盖全面。
- 规则模块化组织,易于添加或自定义新规则。
- 集成 App Store Connect CLI,方便拉取真实元数据。
- 包含自动修复和重新验证功能,提升效率。
- 附有 MIT 许可证,可自由使用和修改。
- 依赖外部
ascCLI 和 ASC CLI Skills,需要额外安装和配置。 - 元数据示例假设使用
asc规范 JSON 布局,如果使用 fastlane 元数据则需调整。 - 某些规则(如
privacy_manifest)可能需要手动配置 Xcode 项目。 - 该技能需要 AI 代理遵循
SKILL.md,但未指定具体的代理框架,可能需要适配。 - 未提供测试或 CI 集成示例,可能需要额外设置。
如何安装或部署这个 Agent?
使用 npm 安装:运行 npx skills add truongduy2611/app-store-preflight-skills。需要 Node.js 环境和 asc CLI(通过 brew install asc 安装)。
如何使用这个 Agent?
安装后,请参考 SKILL.md 文件获取完整的 AI 代理指令。典型工作流程包括:1) 根据应用类型加载相应的检查清单;2) 使用 asc metadata pull --app "<APP_ID>" --version "<VERSION>" --dir ./metadata 拉取元数据,或通过 asc-metadata-sync 技能同步;3) 让代理扫描项目并生成报告;4) 根据报告应用修复并重新运行检查。确保在运行前配置 App Store Connect API 凭据。
常见问题
使用此技能是否需要付费?
asc CLI(免费)并可能需要 App Store Connect API 访问权限。我需要哪些权限才能使用 asc CLI?
该技能能否与 fastlane 元数据一起使用?
asc metadata pull 的规范 JSON 布局,但您可以调整路径示例或先使用 asc 拉取规范布局,再应用技能。该技能能否保证应用通过审核?
我可以添加自定义规则吗?
references/rules/ 相应子目录中创建 Markdown 文件,遵循 README 中提供的格式。