{ "$schema": "internal://schemas/plugin.lock.v1.json", "pluginId": "gh:jezweb/claude-skills:skills/cloudflare-durable-objects", "normalized": { "repo": null, "ref": "refs/tags/v20251128.0", "commit": "bd54584035138ef578fb89d3d284e07c15306826", "treeHash": "6b0151edc6322a9750a7760f562693e3fb80fb74804cbfd1f5a2e0cdd6f54e75", "generatedAt": "2025-11-28T10:18:57.446597Z", "toolVersion": "publish_plugins.py@0.2.0" }, "origin": { "remote": "git@github.com:zhongweili/42plugin-data.git", "branch": "master", "commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390", "repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data" }, "manifest": { "name": "cloudflare-durable-objects", "description": "Build stateful Durable Objects for real-time apps, WebSocket servers, coordination, and persistent state. Use when: implementing chat rooms, multiplayer games, rate limiting, session management, WebSocket hibernation, or troubleshooting class export, migration, WebSocket state loss, or binding errors.", "version": "1.0.0" }, "content": { "files": [ { "path": "README.md", "sha256": "987e9b8930459ae498e07a08d9a3e98859a0c343bdab742c2a76f4a2e2c1e532" }, { "path": "SKILL.md", "sha256": "caf9bad7bde2e01d37b07ecb41c38f2725ee76da2402b6a18c89011128256557" }, { "path": "references/rpc-patterns.md", "sha256": "0e39da72c906d8c21be7f5d572d1c64c03af352f7120821721165a874d7f50d6" }, { "path": "references/best-practices.md", "sha256": "6e4a3b9eaac543f3b40bd63f62090a168e77a2a23b5d5535f74193f38e33baac" }, { "path": "references/top-errors.md", "sha256": "c8178461b6f407d5c09ea0c90e14155fee174c27fca78b4cd62cdae3406fdc72" }, { "path": "references/wrangler-commands.md", "sha256": "04a4544d2a1fc694d57da1382f53fc90bcb4fa0a926074f5b1d5995b3e883dd5" }, { "path": "references/migrations-guide.md", "sha256": "e6afe9f6d31bc5750ed00d585f8674192d335e84bce7e65fae5b027e778978d2" }, { "path": "references/alarms-api.md", "sha256": "f1719e254a79caf241806d7f5e6f17e1ad34365f641d91f54af2c26718799740" }, { "path": "references/state-api-reference.md", "sha256": "2ecf02876b1b2d0907b94481ec42b431442d99d818e385086b78e63ccd1b705e" }, { "path": "references/websocket-hibernation.md", "sha256": "c2a2e7f97bae4bfd4a5e05133fac562f54120ba46e330bf1d8e64693ef497d94" }, { "path": "scripts/check-versions.sh", "sha256": "8d9db5d81cca270a8646c8cece9369e20b4fbc4d827435055e5cc53fe4158024" }, { "path": ".claude-plugin/plugin.json", "sha256": "165532a81d4b3190b62c3a0118ecf8e993e8dc85d2e5335145e369b335e4e16c" }, { "path": "templates/multi-do-coordination.ts", "sha256": "439c3848e19bd5c2018d2d7588fb8e1eb41dcfa4d19c4882fe4d42eda4f737b2" }, { "path": "templates/rpc-vs-fetch.ts", "sha256": "83c10d208220cc427d5e89c28d8b968e522e420311aea7a6882af1b1fc4851e8" }, { "path": "templates/location-hints.ts", "sha256": "b1a5eddb0137b279fb409512a5d71ca6f798d7d1cb15eff5bb5dca3f72939831" }, { "path": "templates/websocket-hibernation-do.ts", "sha256": "cecd459e95b5bedf10f041a68354dadf4c0d1a03ddd4518e8ae3ec2684438c0e" }, { "path": "templates/state-api-patterns.ts", "sha256": "f90baa12092d041dbd3ae306dcaf2af4720d19817ff7792891730d8843ce3c1d" }, { "path": "templates/alarms-api-do.ts", "sha256": "2478bebb34010ded0917eaf57c17fc70be04296181da51038833642aaed9238a" }, { "path": "templates/package.json", "sha256": "80015b91b861158f08c0d21d02b551f2107e543e4857c842406e37558b84380d" }, { "path": "templates/basic-do.ts", "sha256": "cab0380dc5203c7119d4f6ae2d7353171ee07339f3eab772902bb193450ca802" }, { "path": "templates/wrangler-do-config.jsonc", "sha256": "3adcc7f03bb8327e5e3ae5e8cf31320568a42d9f33645f9e7deac79f4f8175d8" } ], "dirSha256": "6b0151edc6322a9750a7760f562693e3fb80fb74804cbfd1f5a2e0cdd6f54e75" }, "security": { "scannedAt": null, "scannerVersion": null, "flags": [] } }