{ "$schema": "internal://schemas/plugin.lock.v1.json", "pluginId": "gh:jezweb/claude-skills:skills/vercel-blob", "normalized": { "repo": null, "ref": "refs/tags/v20251128.0", "commit": "e1cf225b01b9ff6d0d265dc7ef5ad677b3ef9d25", "treeHash": "00bda40f2b89a283149e73245132f0ba9e16022a8ec748d30123f2b47cb88226", "generatedAt": "2025-11-28T10:19:04.596149Z", "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": "vercel-blob", "description": "Integrate Vercel Blob object storage for file uploads, image management, and CDN-delivered assets in Next.js applications. Supports client-side uploads with presigned URLs and multipart transfers. Use when implementing file uploads (images, PDFs, videos), managing user-generated content, or troubleshooting missing tokens, size limit errors, or client upload failures.", "version": "1.0.0" }, "content": { "files": [ { "path": "README.md", "sha256": "a237e7ca882414f24e91edf479e4eaea9c8e50bfe4bd7cb40df0b789cf714c8f" }, { "path": "SKILL.md", "sha256": "02cc6c5f2ad73e3ebb06bfd33eefb22ee77a67d830e2410d518fbf796756eaef" }, { "path": "references/example-reference.md", "sha256": "77c788d727d05d6479a61d6652b132e43882ffc67c145bb46ba880567d83f7f8" }, { "path": "scripts/example-script.sh", "sha256": "83d2b09d044811608e17cbd8e66d993b1e9998c7bd3379a42ab81fbdba973e0e" }, { "path": ".claude-plugin/plugin.json", "sha256": "6e0827da406962438ba09db0c63adccd8fc7c950fef13f24fca4e2e56aea969a" }, { "path": "templates/avatar-upload-flow.tsx", "sha256": "6a35017b470ee76c04904c3267d46387a95aa6232483421896bfa420ae53edca" }, { "path": "templates/package.json", "sha256": "c5045dbf0bf496df1587dc5145c86b8a9e49bbedc00b56533747bda326c1ed4d" }, { "path": "templates/drag-drop-upload.tsx", "sha256": "375ff7175cc29b5762753732f54ef96d85a300ea68a41f61faa47236ce35c568" }, { "path": "templates/file-list-manager.tsx", "sha256": "167a9e11246a5941ead5f7e2b3cce6244ae4dc8d024554ec62a7e6c12302eb2a" }, { "path": "assets/example-template.txt", "sha256": "3f725c80d70847fd8272bf1400515ba753f12f98f3b294d09e50b54b4c1b024a" } ], "dirSha256": "00bda40f2b89a283149e73245132f0ba9e16022a8ec748d30123f2b47cb88226" }, "security": { "scannedAt": null, "scannerVersion": null, "flags": [] } }