关于 generators
面向 iOS 和 macOS 开发者的代码生成技能集合,可根据项目结构生成常见应用组件的 Swift 实现,涵盖基础设施、界面与测试等领域。
主要功能
- 01检测项目结构与代码模式
- 02识别平台和 Swift 版本
- 03生成可切换提供方的协议设计
- 04生成应用基础设施代码
- 05生成界面与用户参与功能
- 06生成测试和交付配置
适用场景
- 01添加结构化日志或分析功能
- 02搭建身份验证或数据持久化
- 03生成引导、设置或付费墙界面
- 04准备测试与 CI/CD 工作流
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ rshankras/ claude-code-apple-skills --skill generators安装后在 Claude Code 中输入/generators确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
accessibility-generator/accessibility-patterns.mdaccount-deletion/templates.mdanalytics-setup/analytics-patterns.mdanalytics-setup/templates/AnalyticsEvent.swiftAnalyticsService.swiftAnalyticsServiceKey.swiftanalytics-setup/templates/Providers/FirebaseAnalytics.swiftNoOpAnalytics.swiftTelemetryDeckAnalytics.swiftannouncement-banner/templates.mdapp-clip/patterns.mdtemplates.mdapp-extensions/templates.mdapp-icon-generator/apple-hig-icons.mdapp-icon-generator/templates/generate-icon-template.swiftapp-store-assets/specs-reference.mdauth-flow/auth-patterns.mdauth-flow/templates/AuthenticationManager.swiftBiometricAuthManager.swiftKeychainManager.swiftSignInWithAppleButton.swiftSignInWithAppleManager.swiftbackground-processing/templates.mdci-cd-setup/ci-cd-patterns.mdci-cd-setup/templates/fastlane/AppfileFastfileMatchfileci-cd-setup/templates/github-actions/build-test.ymldeploy-appstore.ymldeploy-testflight.yml详细介绍
代码生成器
适用于 iOS 和 macOS 应用的生产就绪代码生成器。与提供建议的技能(审查、审计)不同,这些技能会生成适用于你项目的可运行代码。
此技能的触发时机
在用户出现以下需求时使用此技能:
- 想要添加常见的应用组件(日志记录、分析、引导等)
- 要求“设置”或“添加”基础设施代码
- 提到要用适当的日志记录替换 print()
- 想要添加 App Store 评分提示
- 需要设置分析或崩溃报告
核心原则
1. 基于上下文生成
生成代码前,技能会:
- 读取现有项目结构和模式
- 检测部署目标和 Swift 版本
- 识别架构模式(MVVM、TCA 等)
- 检查是否已有实现,以避免冲突
2. 基于协议的架构
依赖提供方的代码使用协议,方便切换:
protocol AnalyticsService { ... }
class TelemetryDeckAnalytics: AnalyticsService { ... }
class FirebaseAnalytics: AnalyticsService { ... }
// Change provider by swapping ONE line
3. 平台检测
技能会检测 iOS 与 macOS,以及 App Store 与直接分发,以生成适当的代码。
可用的生成器
根据用户需求,读取相关模块文件:
logging-setup/
将 print() 语句替换为结构化的 os.log/Logger。
- 审计现有的 print() 用法
- 生成 AppLogger 基础设施
- 将 print 迁移到 Logger,并设置适当的隐私级别
analytics-setup/
基于协议的分析功能,支持切换提供方。
- 支持 TelemetryDeck、Firebase、Mixpanel
- 提供用于测试/隐私保护的 NoOp 实现
- 轻松切换提供方
onboarding-generator/
以价值时刻为先的引导流程——让新用户尽快体验到应用所承诺的成果。
- 根据“立即准备就绪”或“稍后”分支,每个屏幕只做一个决定
- 采用根视图替换式呈现、优先按阶段进行门控,并提供可安全恢复、可衔接现有功能的交接
- 为“稍后”分支提供本地通知的实施计划
- 对价值时刻的达成率进行埋点(仅限本地,无需分析 SDK)
- 将经典的分页/分步欢迎轮播作为明确的备用方案,供先解释再引导的应用使用
review-prompt/
智能 App Store 评分提示。
- 平台检测(跳过非 App Store 分发的 macOS 应用)
- 可配置的触发条件
- 智能时机逻辑
- 用于测试的调试覆盖选项
networking-layer/
基于协议并使用 async/await 的 API 客户端。
- 简洁的 APIClient 协议,便于模拟和切换
- 类型安全的端点定义
- 完善的错误处理
- 基于环境的配置
auth-flow/
完整的身份验证流程。
- 集成 Sign in with Apple
- 生物识别身份验证(Face ID/Touch ID)
- 使用 Keychain 安全存储
- 凭证状态监控
paywall-generator/
基于 StoreKit 2 的订阅付费墙。
- 完整的 StoreKit 2 实现
- 加载、购买和恢复产品
- 使用 Environment 管理订阅状态
- 精美的付费墙 UI
settings-screen/
包含模块化分区的完整设置界面。
- 使用 @AppStorage 集中管理 AppSettings
- 外观、通知、账户、关于和法律分区
- 跨平台(iOS/macOS)
- 可复用的行组件
persistence-setup/
支持可选 iCloud 同步的 SwiftData 持久化。
- SwiftData 容器配置
- 便于测试的仓库模式
- 可选的 CloudKit/iCloud 同步
- 同步状态监控
- 迁移支持
error-monitoring/
基于协议的崩溃/错误报告。
- 支持 Sentry 和 Firebase Crashlytics
- 提供用于测试/隐私保护的 NoOp 实现
- 提供用于调试上下文的面包屑
- 用户上下文(已匿名化)
- 轻松切换提供方
ci-cd-setup/
用于自动构建和部署的 CI/CD 配置。
- GitHub Actions 工作流(构建、测试、TestFlight、App Store)
- Xcode Cloud 脚本和设置指南
- 用于高级自动化的 fastlane lanes
- 代码签名和密钥管理
- 支持 macOS 公证
localization-setup/
适用于多语言应用的国际化(i18n)基础设施。
- 字符串目录(iOS 16+,推荐)
- 类型安全的 L10n 枚举,提供编译时安全性
- 复数形式和插值模式
- RTL 布局支持
- 用于测试不同语言环境的 SwiftUI 预览辅助工具
push-notifications/
包含 APNs 配置的推送通知基础设施。
- 注册和授权流程
- UNUserNotificationCenterDelegate 实现
- 带操作按钮的通知类别
- 类型安全的负载解析
- 富通知和静默通知
deep-linking/
通过 URL 方案、通用链接和 App Intents 实现深度链接。
- 自定义 URL 方案处理
- 使用 AASA 文件的通用链接
- 用于 Siri 和 Shortcuts 的 App Intents
- 类型安全的路由定义和导航
- 支持 Spotlight 索引
test-generator/
用于单元测试、集成测试和 UI 测试的模板。
- Swift Testing(现代方案,iOS 16+)和 XCTest 模式
- Mock 对象生成
- ViewModel 和服务测试模式
- 使用页面对象模式进行 UI 测试
preview-data-generator/
用于 SwiftUI 视图的示例数据和多变体 #Preview 矩阵。
- 带有视觉边缘情况(空、长字符串、缺失、列表)的画布示例数据
- 用于 UI 原型设计的数据状态预览(已加载/空/加载中/错误)
- 外观、动态字体、语言环境/RTL 和设备变体矩阵
- SwiftData 内存预置容器;iOS 18 PreviewModifier + @Previewable
- 复用 test-data-factory 固定数据,而不是重复创建
accessibility-generator/
面向包容性应用的无障碍基础设施。
- VoiceOver 标签、提示和特征
- 支持动态字体缩放
- 处理减少动态效果设置
- 无障碍审核清单
widget-generator/
用于主屏幕和锁定屏幕的 WidgetKit 小组件。
- 静态和交互式小组件(iOS 17+)
- 时间线提供程序
- 锁定屏幕复杂功能
- 用于配置的小组件意图
app-icon-generator/
使用 CoreGraphics 以编程方式生成应用图标。
- 符合 Apple HIG 的图标设计
- 按类别定制的设计方案(效率、媒体、开发工具等)
- 生成 3 种变体供用户选择
- 自动调整为所有所需尺寸(macOS + iOS)
- 使用正确的 Contents.json 安装到资源目录
- 无外部依赖——纯 CoreGraphics
feature-flags/
支持本地和远程功能标记的基础设施。
- 基于协议的服务,可切换提供程序
- 本地默认值,支持远程覆盖(组合提供程序)
- 用于 SwiftUI 集成的 @Observable 管理器
- 用于切换标记的调试菜单
live-activity-generator/
带有灵动岛和锁定屏幕的 ActivityKit 实时活动。
- ActivityAttributes 和 ContentState 定义
- 灵动岛布局(紧凑和展开)
- 锁定屏幕展示
- 支持通过 APNs 推送更新
- 活动生命周期管理(开始、更新、结束)
tipkit-generator/
包含规则和测试功能的 TipKit 内嵌提示和弹出提示。
- 内嵌和弹出提示定义
- 基于规则的显示逻辑(参数规则和事件规则)
- 显示频率和失效处理
- 测试和预览支持
cloudkit-sync/
基于 CKSyncEngine 的 CloudKit 同步(iOS 17+)。
- CKSyncEngine 配置和代理
- 记录区管理
- 冲突解决策略
- 支持共享与协作
http-cache/
包含 Cache-Control、ETag 和离线回退机制的 HTTP 缓存层。
- Cache-Control 标头解析
- ETag/Last-Modified 条件请求(304)
- stale-while-revalidate 模式
- 包装现有 APIClient 的装饰器模式
- 用于离线回退的网络可达性检测
pagination/
采用偏移量和游标模式的分页基础设施。
- 基于偏移量和基于游标的响应模型
- 状态机(空闲、加载中、已加载、错误、已耗尽)
- 带预取阈值的 @Observable PaginationManager
- 带防抖查询的可搜索分页
- 无限滚动、加载更多按钮和状态视图
image-loading/
带缓存的图像加载管线和 CachedAsyncImage 视图。
- 使用 NSCache 实现内存缓存并自动淘汰
- 带过期机制的 LRU 磁盘缓存
- 基于 Actor 的下载器,可去重请求
- 使用 ImageIO 生成缩略图
- 可直接替换 SwiftUI 中 CachedAsyncImage 的组件
- 集合视图预加载
share-card/
用于社交媒体分享的可分享图像卡片。
- ShareCardContent 协议,支持成就、统计数据和引言类型
- 基于 ImageRenderer 生成卡片
- 可配置样式(简约、品牌、统计数据)
- 集成 ShareLink 和二维码叠加层
social-export/
按正确格式将内容导出到社交平台。
- 针对平台的格式设置(Instagram、TikTok、X)
- 按平台处理纵横比和分辨率
- 支持品牌叠加层和说明文字
- 基于 URL scheme 和分享表单导出
subscription-lifecycle/
使用 StoreKit 2 管理订阅生命周期。
- 处理宽限期和账单重试
- 管理挽回优惠和促销优惠
- 使用 Transaction.updates 监控订阅状态
- 处理升级和降级路径
- 用于订阅管理的仪表板 UI
referral-system/
带病毒式增长机制的推荐和邀请系统。
- 生成唯一代码并防范欺诈
- 基于深层链接进行分享和兑换
- 跟踪推荐人和受邀者的奖励
- 提供推荐统计数据仪表板
watermark-engine/
带付费墙集成的图像水印叠加层。
- 文字、图像和平铺水印样式
- 基于 CoreGraphics 渲染并支持 Retina
- 订阅用户可移除水印
- SwiftUI 叠加层和 ViewModifier
streak-tracker/
带互动机制的每日/每周连续记录追踪。
- 基于 SwiftData 记录活动
- 结合时区计算每日边界
- 连续记录冻结/保护通行证
- 日历热力图和徽章视图
- 连续记录即将中断通知
milestone-celebration/
带彩纸和徽章的成就庆祝效果。
- 基于 CAEmitterLayer 的彩纸效果,支持减少动态效果
- 追踪里程碑并检测阈值
- 带进度环的徽章收藏网格
- 集成触觉反馈
whats-new/
应用更新后显示的「新功能」屏幕。
- 使用 UserDefaults 持久化版本追踪
- 使用分页式 TabView 展示功能亮点
- 本地和远程内容提供方
- 版本变更时自动以工作表形式显示
lapsed-user/
检测流失用户并重新吸引他们。
- 可配置的不活跃阈值(7/14/30 天)
- 根据流失类别提供个性化回归体验
- 为流失订阅用户提供挽回优惠屏幕
- 用于应用启动时自动检测的 ViewModifier
usage-insights/
面向用户的使用统计数据和活动摘要。
- 使用 SwiftData 记录事件并批量写入
- 计算洞察信息(连续记录、热门类别、趋势)
- 集成 Swift Charts 的仪表板
- 可分享的回顾卡片(Spotify Wrapped 风格)
variable-rewards/
带游戏化机制的可变奖励系统。
- 带稀有度等级的加权概率奖励池
- 每日转盘和神秘礼盒动画
- 设置每日/每周上限,实现符合伦理的互动
- 奖励历史记录和通知视图
consent-flow/
GDPR/CCPA/DPDP 隐私同意管理。
- 按类别细分同意选项(分析、营销等)
- 集成 ATT(App Tracking Transparency)
- 记录同意审计日志以满足合规要求
- 提供视觉权重相同的横幅和偏好设置 UI
account-deletion/
符合 Apple 要求的账户删除流程。
- 多步骤确认并重新认证
- 删除前导出数据
- 提供可取消的宽限期
- 清理 Keychain 并撤销 Sign in with Apple 授权
permission-priming/
提升授权率的权限预引导屏幕。
- 统一的权限管理器(通知、相机、位置等)
- 在系统提示前显示侧重说明权限益处的预引导 UI
- 跟踪权限状态并提供跳转到「设置」的入口
- 用于受限内容的 ViewModifier
force-update/
通过更新提示强制执行最低版本要求。
- 通过远程 JSON 和 App Store 查询进行版本检查
- 硬性拦截(必需)和软性提示(建议)
- 可配置的检查频率
- 软性更新的跳过记录
state-restoration/
在应用启动之间保留和恢复状态。
- 持久化 NavigationPath、标签页选择和滚动位置
- 支持防抖自动保存的 Codable AppState
- 带自动保存功能的表单草稿管理器
- @SceneStorage 和基于文件的存储选项
debug-menu/
开发者调试菜单(仅限 DEBUG 构建)。
- 功能标志切换和环境切换器
- 带循环缓冲区的网络请求记录器
- 清除缓存和导出诊断信息
- 摇晃手势和隐藏的点击触发方式
offline-queue/
支持自动重试的离线操作队列。
- 基于 Actor 的队列管理器,支持 FIFO 和优先级
- 对排队操作进行基于文件的持久化
- 带抖动的指数退避重试策略
- 通过 NWPathMonitor 检测网络连接
- 离线状态横幅 ViewModifier
feedback-form/
通过智能路由收集应用内反馈。
- 按类别收集反馈(错误、功能建议、赞扬)
- 截图捕获和标注
- 情绪路由(满意 → App Store,不满意 → 支持)
- 通过电子邮件和 webhook 提交
announcement-banner/
通过远程配置显示应用内公告横幅。
- 基于优先级显示横幅(信息、警告、促销)
- 本地和远程公告提供方
- 处理深度链接和 URL 操作
- 按日期范围安排显示
quick-win-session/
引导用户完成首次操作,快速实现价值。
- 分步任务引导
- 带圆形镂空区域的聚光提示叠层
- 显示完成庆祝效果和计时统计
- 用于检测新用户的 ViewModifier
spotlight-indexing/
通过 Core Spotlight 索引,与系统搜索集成。
- 适用于任何模型的 SpotlightIndexable 协议
- 基于 Actor 的批量索引管理器
- 流畅的属性构建器 API
- 搜索延续和 Siri 建议
app-clip/
支持调用和升级流程的 App Clip 目标。
- 调用 URL 解析和路由
- 提供具体实现的 Experience 协议
- 确认实体调用的地理位置
- 通过 SKOverlay 提示升级到完整应用
- App Group 数据共享
screenshot-automation/
自动生成 App Store 截图。
- 基于 XCUITest 的屏幕捕获和导航
- 使用 CoreText 绘制本地化说明文字叠层
- 合成设备边框
- 批量导出多种语言和设备的截图
background-processing/
基于 BGTaskScheduler 的后台任务基础设施。
- 配置 BGAppRefreshTask 和 BGProcessingTask
- 用于下载和上传的后台 URLSession
- 处理静默推送通知
- 节能的调度策略
app-extensions/
支持 Share、Action、Keyboard 和 Safari 的应用扩展目标。
- 处理内容的 Share Extension
- 用于就地操作内容的 Action Extension
- 基于 UIInputViewController 的 Keyboard Extension
- 带消息处理器的 Safari Web Extension
- 在应用和扩展之间共享 App Group 数据
data-export/
支持 JSON、CSV 和 PDF 的数据导出/导入基础设施。
- 基于协议的多格式导出(DataExportable)
- 符合 RFC 4180 标准的 CSV 生成
- 使用 UIGraphicsPDFRenderer 生成 PDF 报告
- 基于 UTType 解析文件导入内容
- 符合 GDPR 第 20 条的数据可携带性要求
使用方法
- 用户请求一个组件(例如,“为我的应用添加日志记录”)
- 阅读相关技能的 SKILL.md
- 运行生成前检查(冲突、部署目标等)
- 通过 AskUserQuestion 提出配置问题
- 根据模板生成代码,并适配项目上下文
- 提供集成说明
输出格式
生成后,始终提供:
- 创建的文件(含完整路径)
- 集成步骤(如何接入现有代码)
- 所需功能(权限、依赖项)
- 测试说明(如何验证其正常工作)