cloudkit-code-review
SKILL.md
CloudKit Code Review
Quick Reference
| Issue Type | Reference |
|---|---|
| CKContainer, databases, zones, entitlements | references/container-setup.md |
| CKRecord, references, assets, batch operations | references/records.md |
| CKSubscription, push notifications, silent sync | references/subscriptions.md |
| CKShare, participants, permissions, acceptance | references/sharing.md |
Review Checklist
- Account status checked before private/shared database operations
- Custom zones used (not default zone) for production data
- All CloudKit errors handled with
retryAfterSecondsrespected -
serverRecordChangedconflicts handled with proper merge logic -
CKErrorPartialFailureparsed for individual record errors - Batch operations used (
CKModifyRecordsOperation) not individual saves - Large binary data stored as
CKAsset(records have 1MB limit) - Record keys type-safe (enums) not string literals
- UI updates dispatched to main thread from callbacks
-
CKAccountChangedNotificationobserved for account switches - Subscriptions have unique IDs to prevent duplicates
- CKShare uses custom zone (sharing requires custom zones)
When to Load References
- Reviewing container/database setup or zones -> container-setup.md
- Reviewing record CRUD or relationships -> records.md
- Reviewing push notifications or sync triggers -> subscriptions.md
- Reviewing sharing or collaboration features -> sharing.md
Output Format
Report issues using: [FILE:LINE] ISSUE_TITLE
Examples:
[AppDelegate.swift:24] CKContainer not in custom zone[SyncManager.swift:156] Unhandled CKErrorPartialFailure[DataStore.swift:89] Missing retryAfterSeconds backoff
Review Questions
- What happens when the user is signed out of iCloud?
- Does error handling respect rate limiting (
retryAfterSeconds)? - Are conflicts resolved or does data get overwritten silently?
- Is the schema deployed to production before App Store release?
- Are shared records in custom zones (required for CKShare)?
Weekly Installs
28
Repository
existential-birds/beagleFirst Seen
14 days ago
Installed on
claude-code24
opencode21
gemini-cli20
antigravity19
codex19
cursor17