Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 08:23:53 +08:00
commit caa3746d36
21 changed files with 4452 additions and 0 deletions

113
plugin.lock.json Normal file
View File

@@ -0,0 +1,113 @@
{
"$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": []
}
}