Agent skill
cloudkit-code-review
Reviews CloudKit code for container setup, record handling, subscriptions, and sharing patterns. Use when reviewing code with import CloudKit, CKContainer, CKRecord, CKShare, or CKSubscription.
Install this agent skill to your Project
npx add-skill https://github.com/existential-birds/beagle/tree/main/plugins/beagle-ios/skills/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)?
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
review-python
Comprehensive Python/FastAPI backend code review with optional parallel agents
review-verification-protocol
Mandatory verification steps for all code reviews to reduce false positives. Load this skill before reporting ANY code review findings.
sqlalchemy-code-review
Reviews SQLAlchemy code for session management, relationships, N+1 queries, and migration patterns. Use when reviewing SQLAlchemy 2.0 code, checking session lifecycle, relationship() usage, or Alembic migrations.
fastapi-code-review
Reviews FastAPI code for routing patterns, dependency injection, validation, and async handlers. Use when reviewing FastAPI apps, checking APIRouter setup, Depends() usage, or response models.
pytest-code-review
Reviews pytest test code for async patterns, fixtures, parametrize, and mocking. Use when reviewing test_*.py files, checking async test functions, fixture usage, or mock patterns.
postgres-code-review
Reviews PostgreSQL code for indexing strategies, JSONB operations, connection pooling, and transaction safety. Use when reviewing SQL queries, database schemas, JSONB usage, or connection management.
Didn't find tool you were looking for?