Rank
70
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
Apple CloudKit framework for iOS/macOS/watchOS/tvOS development. Use for iCloud data persistence, multi-device sync, CKSyncEngine implementation, CKContainer/CKDatabase/CKRecord operations, conflict resolution, error handling, subscriptions, and CloudKit best practices. Triggers on CloudKit questions, iCloud sync implementation, CKRecord CRUD, zone management, or cross-device data synchronization in Swift/SwiftUI apps. --- name: cloudkit description: Apple CloudKit framework for iOS/macOS/watchOS/tvOS development. Use for iCloud data persistence, multi-device sync, CKSyncEngine implementation, CKContainer/CKDatabase/CKRecord operations, conflict resolution, error handling, subscriptions, and CloudKit best practices. Triggers on CloudKit questions, iCloud sync implementation, CKRecord CRUD, zone management, or cross-device data sync Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.
Freshness
Last checked 4/15/2026
Best For
cloudkit is best for custom workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack
Apple CloudKit framework for iOS/macOS/watchOS/tvOS development. Use for iCloud data persistence, multi-device sync, CKSyncEngine implementation, CKContainer/CKDatabase/CKRecord operations, conflict resolution, error handling, subscriptions, and CloudKit best practices. Triggers on CloudKit questions, iCloud sync implementation, CKRecord CRUD, zone management, or cross-device data synchronization in Swift/SwiftUI apps. --- name: cloudkit description: Apple CloudKit framework for iOS/macOS/watchOS/tvOS development. Use for iCloud data persistence, multi-device sync, CKSyncEngine implementation, CKContainer/CKDatabase/CKRecord operations, conflict resolution, error handling, subscriptions, and CloudKit best practices. Triggers on CloudKit questions, iCloud sync implementation, CKRecord CRUD, zone management, or cross-device data sync
Public facts
4
Change events
1
Artifacts
0
Freshness
Apr 15, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Apr 15, 2026
Vendor
Subsc Taha
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.
Setup snapshot
git clone https://github.com/subsc-taha/cloudkit-skill.gitSetup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Subsc Taha
Protocol compatibility
OpenClaw
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
Parameters
swift
import CloudKit // Initialize container and database let container = CKContainer.default() // or CKContainer(identifier: "iCloud.your.bundle.id") let privateDB = container.privateCloudDatabase let publicDB = container.publicCloudDatabase let sharedDB = container.sharedCloudDatabase
swift
import CloudKit
class SyncManager: CKSyncEngineDelegate {
private var engine: CKSyncEngine!
private let container = CKContainer(identifier: "iCloud.your.bundle.id")
init() {
let config = CKSyncEngine.Configuration(
database: container.privateCloudDatabase,
stateSerialization: loadCachedState(), // nil if first launch
delegate: self
)
engine = CKSyncEngine(config)
}
// MARK: - Delegate Methods
func handleEvent(_ event: CKSyncEngine.Event, syncEngine: CKSyncEngine) async {
switch event {
case .stateUpdate(let update):
// CRITICAL: Always cache the state token
saveCachedState(update.stateSerialization)
case .accountChange(let change):
handleAccountChange(change)
case .fetchedRecordZoneChanges(let changes):
// Server → Local: Process incoming data
for modification in changes.modifications {
saveLocally(modification.record)
}
for deletion in changes.deletions {
deleteLocally(deletion.recordID)
}
case .sentRecordZoneChanges(let sent):
// Confirm successful uploads, handle failures
for failure in sent.failedRecordSaves {
handleSaveFailure(failure)
}
default: break
}
}
func nextRecordZoneChangeBatch(_ context: CKSyncEngine.SendChangesContext,
syncEngine: CKSyncEngine) async -> CKSyncEngine.RecordZoneChangeBatch? {
// Local → Server: Provide records to upload
let pending = syncEngine.state.pendingRecordZoneChanges.filter {
context.options.scope.contains($0)
}
return await CKSyncEngine.RecordZoneChangeBatch(pendingChanges: pending) { recordID in
return getLocalRecord(for: recordID)
swift
// CREATE let record = CKRecord(recordType: "Note") record["title"] = "My Note" record["content"] = "Hello CloudKit" let saved = try await database.save(record) // READ let recordID = CKRecord.ID(recordName: "unique-id") let fetched = try await database.record(for: recordID) // UPDATE fetched["content"] = "Updated content" let updated = try await database.save(fetched) // DELETE try await database.deleteRecord(withID: recordID) // QUERY let predicate = NSPredicate(format: "title BEGINSWITH %@", "My") let query = CKQuery(recordType: "Note", predicate: predicate) let (results, _) = try await database.records(matching: query)
swift
do {
try await database.save(record)
} catch let error as CKError {
switch error.code {
case .serverRecordChanged:
// Conflict! Resolve using serverRecord
let serverRecord = error.serverRecord
resolveConflict(local: record, server: serverRecord)
case .networkFailure, .networkUnavailable, .serviceUnavailable:
// Transient - retry with backoff
let retryAfter = error.retryAfterSeconds ?? 30
scheduleRetry(after: retryAfter)
case .quotaExceeded:
// User out of iCloud storage
notifyUserStorageFull()
case .notAuthenticated:
// User not signed into iCloud
promptiCloudSignIn()
case .limitExceeded:
// Too many records - split into batches of 400
splitAndRetry(records)
default:
log("CloudKit error: \(error.localizedDescription)")
}
}swift
func resolveConflict(local: CKRecord, server: CKRecord?) -> CKRecord {
guard let server = server else { return local }
// Strategy 1: Server wins (safest)
return server
// Strategy 2: Last writer wins (by modificationDate)
// return server.modificationDate! > local.modificationDate! ? server : local
// Strategy 3: Field-level merge
// let merged = CKRecord(recordType: local.recordType, recordID: local.recordID)
// merged["title"] = local["title"] // Keep local title
// merged["content"] = server["content"] // Keep server content
// return merged
// Strategy 4: Edit count (increment counter on each edit)
// let localCount = local["editCount"] as? Int ?? 0
// let serverCount = server["editCount"] as? Int ?? 0
// return localCount > serverCount ? local : server
}swift
let zoneID = CKRecordZone.ID(zoneName: "MyAppZone", ownerName: CKCurrentUserDefaultName) let zone = CKRecordZone(zoneID: zoneID) // Create zone try await database.save(zone) // Create record in zone let recordID = CKRecord.ID(recordName: UUID().uuidString, zoneID: zoneID) let record = CKRecord(recordType: "Note", recordID: recordID) // Delete zone (deletes ALL records in it) try await database.deleteRecordZone(withID: zoneID)
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB OPENCLEW
Editorial quality
ready
Apple CloudKit framework for iOS/macOS/watchOS/tvOS development. Use for iCloud data persistence, multi-device sync, CKSyncEngine implementation, CKContainer/CKDatabase/CKRecord operations, conflict resolution, error handling, subscriptions, and CloudKit best practices. Triggers on CloudKit questions, iCloud sync implementation, CKRecord CRUD, zone management, or cross-device data synchronization in Swift/SwiftUI apps. --- name: cloudkit description: Apple CloudKit framework for iOS/macOS/watchOS/tvOS development. Use for iCloud data persistence, multi-device sync, CKSyncEngine implementation, CKContainer/CKDatabase/CKRecord operations, conflict resolution, error handling, subscriptions, and CloudKit best practices. Triggers on CloudKit questions, iCloud sync implementation, CKRecord CRUD, zone management, or cross-device data sync
CloudKit is Apple's framework for iCloud data persistence with up to 1PB public storage and automatic cross-device sync.
When reviewing CloudKit code, verify:
retryAfterSeconds respectedserverRecordChanged conflicts handled with proper merge logicCKErrorPartialFailure parsed for individual record errorsCKModifyRecordsOperation) not individual savesCKAsset (records have 1MB limit)CKAccountChangedNotification observed for account switches.stateUpdate eventReport issues as: [FILE:LINE] ISSUE_TITLE
Examples:
[SyncManager.swift:45] Missing CKSyncEngine state token persistence[DataStore.swift:89] Unhandled serverRecordChanged conflict[CloudKit.swift:156] Individual saves instead of batch operationimport CloudKit
// Initialize container and database
let container = CKContainer.default() // or CKContainer(identifier: "iCloud.your.bundle.id")
let privateDB = container.privateCloudDatabase
let publicDB = container.publicCloudDatabase
let sharedDB = container.sharedCloudDatabase
| Component | Purpose | |-----------|---------| | CKContainer | Top-level entry point (1 per app typically) | | CKDatabase | Storage layer (private/public/shared) | | CKRecordZone | Logical grouping of records in private DB | | CKRecord | Single data item (like a dictionary) | | CKRecord.ID | Unique identifier (recordName + zoneID) | | CKAsset | Binary data (images, files) | | CKReference | Relationships between records | | CKSubscription | Push notification triggers |
CKSyncEngine dramatically simplifies sync. See references/cksyncengine.md for complete implementation guide.
import CloudKit
class SyncManager: CKSyncEngineDelegate {
private var engine: CKSyncEngine!
private let container = CKContainer(identifier: "iCloud.your.bundle.id")
init() {
let config = CKSyncEngine.Configuration(
database: container.privateCloudDatabase,
stateSerialization: loadCachedState(), // nil if first launch
delegate: self
)
engine = CKSyncEngine(config)
}
// MARK: - Delegate Methods
func handleEvent(_ event: CKSyncEngine.Event, syncEngine: CKSyncEngine) async {
switch event {
case .stateUpdate(let update):
// CRITICAL: Always cache the state token
saveCachedState(update.stateSerialization)
case .accountChange(let change):
handleAccountChange(change)
case .fetchedRecordZoneChanges(let changes):
// Server → Local: Process incoming data
for modification in changes.modifications {
saveLocally(modification.record)
}
for deletion in changes.deletions {
deleteLocally(deletion.recordID)
}
case .sentRecordZoneChanges(let sent):
// Confirm successful uploads, handle failures
for failure in sent.failedRecordSaves {
handleSaveFailure(failure)
}
default: break
}
}
func nextRecordZoneChangeBatch(_ context: CKSyncEngine.SendChangesContext,
syncEngine: CKSyncEngine) async -> CKSyncEngine.RecordZoneChangeBatch? {
// Local → Server: Provide records to upload
let pending = syncEngine.state.pendingRecordZoneChanges.filter {
context.options.scope.contains($0)
}
return await CKSyncEngine.RecordZoneChangeBatch(pendingChanges: pending) { recordID in
return getLocalRecord(for: recordID)
}
}
// MARK: - Queue Changes
func queueSave(_ record: CKRecord) {
engine.state.add(pendingRecordZoneChanges: [.saveRecord(record.recordID)])
}
func queueDelete(_ recordID: CKRecord.ID) {
engine.state.add(pendingRecordZoneChanges: [.deleteRecord(recordID)])
}
}
For non-CKSyncEngine apps or public database. See references/crud-operations.md.
// CREATE
let record = CKRecord(recordType: "Note")
record["title"] = "My Note"
record["content"] = "Hello CloudKit"
let saved = try await database.save(record)
// READ
let recordID = CKRecord.ID(recordName: "unique-id")
let fetched = try await database.record(for: recordID)
// UPDATE
fetched["content"] = "Updated content"
let updated = try await database.save(fetched)
// DELETE
try await database.deleteRecord(withID: recordID)
// QUERY
let predicate = NSPredicate(format: "title BEGINSWITH %@", "My")
let query = CKQuery(recordType: "Note", predicate: predicate)
let (results, _) = try await database.records(matching: query)
See references/error-handling.md for complete error codes.
do {
try await database.save(record)
} catch let error as CKError {
switch error.code {
case .serverRecordChanged:
// Conflict! Resolve using serverRecord
let serverRecord = error.serverRecord
resolveConflict(local: record, server: serverRecord)
case .networkFailure, .networkUnavailable, .serviceUnavailable:
// Transient - retry with backoff
let retryAfter = error.retryAfterSeconds ?? 30
scheduleRetry(after: retryAfter)
case .quotaExceeded:
// User out of iCloud storage
notifyUserStorageFull()
case .notAuthenticated:
// User not signed into iCloud
promptiCloudSignIn()
case .limitExceeded:
// Too many records - split into batches of 400
splitAndRetry(records)
default:
log("CloudKit error: \(error.localizedDescription)")
}
}
func resolveConflict(local: CKRecord, server: CKRecord?) -> CKRecord {
guard let server = server else { return local }
// Strategy 1: Server wins (safest)
return server
// Strategy 2: Last writer wins (by modificationDate)
// return server.modificationDate! > local.modificationDate! ? server : local
// Strategy 3: Field-level merge
// let merged = CKRecord(recordType: local.recordType, recordID: local.recordID)
// merged["title"] = local["title"] // Keep local title
// merged["content"] = server["content"] // Keep server content
// return merged
// Strategy 4: Edit count (increment counter on each edit)
// let localCount = local["editCount"] as? Int ?? 0
// let serverCount = server["editCount"] as? Int ?? 0
// return localCount > serverCount ? local : server
}
Private database supports custom zones with change tracking:
let zoneID = CKRecordZone.ID(zoneName: "MyAppZone", ownerName: CKCurrentUserDefaultName)
let zone = CKRecordZone(zoneID: zoneID)
// Create zone
try await database.save(zone)
// Create record in zone
let recordID = CKRecord.ID(recordName: UUID().uuidString, zoneID: zoneID)
let record = CKRecord(recordType: "Note", recordID: recordID)
// Delete zone (deletes ALL records in it)
try await database.deleteRecordZone(withID: zoneID)
// Subscribe to zone changes (private DB)
let subscription = CKRecordZoneSubscription(zoneID: zoneID)
let notificationInfo = CKSubscription.NotificationInfo()
notificationInfo.shouldSendContentAvailable = true // Silent push
subscription.notificationInfo = notificationInfo
try await database.save(subscription)
// Subscribe to query (public DB)
let predicate = NSPredicate(format: "category == %@", "important")
let querySubscription = CKQuerySubscription(
recordType: "Note",
predicate: predicate,
options: [.firesOnRecordCreation, .firesOnRecordUpdate]
)
// Save image
let imageURL = FileManager.default.temporaryDirectory.appendingPathComponent("photo.jpg")
imageData.write(to: imageURL)
let asset = CKAsset(fileURL: imageURL)
record["photo"] = asset
try await database.save(record)
// Load image
if let asset = record["photo"] as? CKAsset, let url = asset.fileURL {
let data = try Data(contentsOf: url)
let image = UIImage(data: data)
}
// Create share
let share = CKShare(rootRecord: record)
share.publicPermission = .readOnly
share[CKShare.SystemFieldKey.title] = "Shared Document"
// Save both
let operation = CKModifyRecordsOperation(recordsToSave: [record, share])
try await database.add(operation)
// Present sharing UI
let sharingController = UICloudSharingController(share: share, container: container)
present(sharingController, animated: true)
iCloud.com.yourcompany.appname)<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>
Access at: https://icloud.developer.apple.com
limitExceededrecord.encryptedValues["key"]Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/subsc-taha-cloudkit-skill/snapshot"
curl -s "https://xpersona.co/api/v1/agents/subsc-taha-cloudkit-skill/contract"
curl -s "https://xpersona.co/api/v1/agents/subsc-taha-cloudkit-skill/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
70
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Rank
70
AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs
Traction
No public download signal
Freshness
Updated 5d ago
Rank
70
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
Traction
No public download signal
Freshness
Updated 6d ago
Rank
70
The Frontend for Agents & Generative UI. React + Angular
Traction
No public download signal
Freshness
Updated 23d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/subsc-taha-cloudkit-skill/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/subsc-taha-cloudkit-skill/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/subsc-taha-cloudkit-skill/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/subsc-taha-cloudkit-skill/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/subsc-taha-cloudkit-skill/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/subsc-taha-cloudkit-skill/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_OPENCLEW",
"generatedAt": "2026-04-16T23:30:49.240Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "custom",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:custom|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Subsc Taha",
"href": "https://github.com/subsc-taha/cloudkit-skill",
"sourceUrl": "https://github.com/subsc-taha/cloudkit-skill",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-15T02:14:19.202Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://xpersona.co/api/v1/agents/subsc-taha-cloudkit-skill/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/subsc-taha-cloudkit-skill/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-04-15T02:14:19.202Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/subsc-taha-cloudkit-skill/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/subsc-taha-cloudkit-skill/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to cloudkit and adjacent AI workflows.