{ "$schema": "internal://schemas/plugin.lock.v1.json", "pluginId": "gh:jezweb/claude-skills:skills/ai-sdk-ui", "normalized": { "repo": null, "ref": "refs/tags/v20251128.0", "commit": "4189d9240bad63fd23fccb1f0f68cda8ec84d48d", "treeHash": "cb67c6ada9700cedb51d477af91e388eb5970bd05d6fb118286822a3f8ef8c56", "generatedAt": "2025-11-28T10:19:00.492265Z", "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": "ai-sdk-ui", "description": "Build React chat interfaces and AI-powered UIs with Vercel AI SDK v5. Provides useChat, useCompletion, and useObject hooks for streaming responses, managing conversation state, and handling file attachments. Use when: implementing chat interfaces, streaming AI completions, managing message state in Next.js apps, or troubleshooting useChat failed to parse stream or useChat no response errors.", "version": "1.0.0" }, "content": { "files": [ { "path": "README.md", "sha256": "16c745ea28d1ac6c2261492de7ef7947589aa2ab5df40085ff212a0449e6747f" }, { "path": "SKILL.md", "sha256": "f74568e578f984992ef065b4e5ec60adf99b50ebc0027127732211e0d425e42d" }, { "path": "references/streaming-patterns.md", "sha256": "7b9b8ad389ee55d84f90f75baa0b6f5e7f5c5ff27bb7f0ae885322b37cdd47d3" }, { "path": "references/use-chat-migration.md", "sha256": "a6aeb078c686188e373c2565c9d402467d1d2faa21acfd605fe90af2664f8bfe" }, { "path": "references/nextjs-integration.md", "sha256": "3df6c80298dcf09ba3def099af5f2e6c3933e0e161042e5452471c0c7cd4de79" }, { "path": "references/links-to-official-docs.md", "sha256": "6891227db63f083547da6c5cb5c9bfb151814bfa83b722a67c95a1d6036ea89f" }, { "path": "references/top-ui-errors.md", "sha256": "f49f9d2a61abc12536b5e43b304bcfd4de5a0953ffee1aa25c525aa1f54bac0b" }, { "path": "scripts/check-versions.sh", "sha256": "781f480b6c2405c4f062ce3500f57860bc345872e125afc4393f63c221fe7362" }, { "path": ".claude-plugin/plugin.json", "sha256": "a28f1111a39df0d7788291136803ea5355342ffb2fc1724c8276bfdd67812291" }, { "path": "templates/nextjs-chat-pages-router.tsx", "sha256": "ccb155185947bf3874aad8f564911c3e7d8b343a2ee7b4746a4de35cf7707ff7" }, { "path": "templates/use-chat-attachments.tsx", "sha256": "7651909327acd1de2d4a2e19e2b6ff3c800b0d043bd30a69a6f6bef51b424646" }, { "path": "templates/nextjs-api-route.ts", "sha256": "acc3c1b2ec582d38eb92fc42376f628e58aaf10c76948ded53a37c9011b303dc" }, { "path": "templates/use-chat-tools.tsx", "sha256": "1d01f43f6cf8fe45efd9d2a66b19137de353bc7e49bc565cee52827a495c640c" }, { "path": "templates/package.json", "sha256": "043a261ef1a334ad105c8997cef99e856d6e66c14c114b05159bc959317413aa" }, { "path": "templates/use-object-streaming.tsx", "sha256": "23361eb78fe5e63a44aae9f49a5f5782d842840d32a5e97b98cde26eb761628a" }, { "path": "templates/custom-message-renderer.tsx", "sha256": "20f8885a52f95ee02d3c4ba940f13ab7bf48c428d4f3730cc13c071b6f09a594" }, { "path": "templates/use-completion-basic.tsx", "sha256": "55a0ab32fb77edb1e6298def56022f364ebf3a138cdd5c00e691030f4b7a1f12" }, { "path": "templates/use-chat-basic.tsx", "sha256": "5b8b0074cc4f0413b9dd52021f85b79be0dffe8f501639be36191c579f6ecbcb" }, { "path": "templates/message-persistence.tsx", "sha256": "12d440fb4a242ecb5d258d773f65d8bd25794cbef73cfef5c61fd38ecd15c98e" }, { "path": "templates/nextjs-chat-app-router.tsx", "sha256": "5fc82c7efcd43caa2fae59f2ad66793039efbba59868f230b18c518f4b57f59c" } ], "dirSha256": "cb67c6ada9700cedb51d477af91e388eb5970bd05d6fb118286822a3f8ef8c56" }, "security": { "scannedAt": null, "scannerVersion": null, "flags": [] } }