[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-vercel-chat-adapter-web-en":3,"guides-for-vercel-chat-adapter-web":225,"similar-k17bkh8x7r0t3e36bqb52wgkf5867d0e":226},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":21,"identity":186,"isFallback":181,"parentExtension":190,"providers":191,"relations":195,"repo":197,"workflow":222},1778054052548.2258,"k17bkh8x7r0t3e36bqb52wgkf5867d0e",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":12,"sourceUrl":13,"tags":14},"Web adapter for chat — browser chat UI via the AI SDK useChat protocol",{},"Chat Web Adapter","https://github.com/vercel/chat/tree/HEAD/packages/adapter-web",[15,16,17,18,19,20],"chat","web","react","adapter","ai-sdk","ui",{"_creationTime":22,"_id":23,"extensionId":5,"locale":24,"result":25,"trustSignals":174,"workflow":184},1778054107364.4402,"kn72y4rr81ma7fhnfhtmrg5bad867ce2","en",{"checks":26,"evaluatedAt":164,"extensionSummary":165,"promptVersionExtension":166,"promptVersionScoring":167,"rationale":168,"score":169,"summary":170,"tags":171,"targetMarket":172,"tier":173},[27,32,35,38,42,45,50,54,57,60,64,68,71,75,78,81,84,87,90,93,97,101,105,109,113,116,119,122,126,129,132,135,138,141,145,148,151,154,157,161],{"category":28,"check":29,"severity":30,"summary":31},"Practical Utility","Problem relevance","pass","The description clearly states the problem: providing a browser chat UI for chat bots via the useChat protocol.",{"category":28,"check":33,"severity":30,"summary":34},"Unique selling proposition","The adapter enables a browser chat UI that works with existing chat-sdk bots and integrates with AI SDK components, offering value beyond a simple web interface.",{"category":28,"check":36,"severity":30,"summary":37},"Production readiness","The extension provides a complete lifecycle for web chat integration, including server-side API endpoints, client-side hooks, authentication, and streaming support, making it production-ready.",{"category":39,"check":40,"severity":30,"summary":41},"Scope","Single responsibility principle","The extension is focused on providing a web adapter for the chat SDK, handling communication between a web UI and the chat bot, without extending into unrelated domains.",{"category":39,"check":43,"severity":30,"summary":44},"Description quality","The provided description accurately and concisely reflects the functionality of the web adapter.",{"category":46,"check":47,"severity":48,"summary":49},"Invocation","Scoped tools","not_applicable","This extension does not expose traditional tools; its functionality is integrated via API endpoints and client-side hooks.",{"category":51,"check":52,"severity":30,"summary":53},"Documentation","Configuration & parameter reference","All configuration options, including the required `userName` and `getUser`, are clearly documented with examples.",{"category":39,"check":55,"severity":48,"summary":56},"Tool naming","This extension does not expose user-facing tools, so tool naming conventions do not apply.",{"category":39,"check":58,"severity":30,"summary":59},"Minimal I/O surface","The web adapter handles standard HTTP requests and responses, exposing a clean API for chat integration.",{"category":61,"check":62,"severity":30,"summary":63},"License","License usability","The extension is licensed under the MIT license, which is permissive and widely usable.",{"category":65,"check":66,"severity":48,"summary":67},"Maintenance","Commit recency","The provided repository has no commit history, making recency checks impossible.",{"category":65,"check":69,"severity":30,"summary":70},"Dependency Management","Dependencies are managed via npm, and peer dependencies are clearly specified, indicating a standard approach to dependency management.",{"category":72,"check":73,"severity":30,"summary":74},"Security","Secret Management","The extension relies on the host application to handle user authentication via the `getUser` function, which is designed to not echo secrets. The adapter itself does not handle secrets directly.",{"category":72,"check":76,"severity":30,"summary":77},"Injection","The extension processes inbound requests and user messages, but relies on the chat-sdk's core functionality for message handling and does not appear to execute untrusted code.",{"category":72,"check":79,"severity":30,"summary":80},"Transitive Supply-Chain Grenades","The extension bundles all its code and does not fetch remote code or data at runtime, mitigating supply-chain risks.",{"category":72,"check":82,"severity":30,"summary":83},"Sandbox Isolation","The adapter operates within the context of an HTTP request and response, and does not appear to have mechanisms to modify files outside its immediate operational scope.",{"category":72,"check":85,"severity":30,"summary":86},"Sandbox escape primitives","The code does not exhibit patterns indicative of sandbox escape primitives such as detached processes or retry loops around denied calls.",{"category":72,"check":88,"severity":30,"summary":89},"Data Exfiltration","The adapter's primary role is message relay; it does not appear to have functionality for reading or submitting confidential data to third parties.",{"category":72,"check":91,"severity":30,"summary":92},"Hidden Text Tricks","The bundled code and documentation do not contain any hidden text tricks or obfuscation methods.",{"category":94,"check":95,"severity":30,"summary":96},"Hooks","Opaque code execution","The source code is provided in plain, readable TypeScript and is not obfuscated or dynamically fetched.",{"category":98,"check":99,"severity":30,"summary":100},"Portability","Structural Assumption","The adapter relies on standard HTTP request/response objects and does not make assumptions about the user's local project structure.",{"category":102,"check":103,"severity":48,"summary":104},"Trust","Issues Attention","No GitHub issues data available for evaluation.",{"category":106,"check":107,"severity":30,"summary":108},"Versioning","Release Management","The package.json file includes a version ('4.27.0'), indicating a managed release process.",{"category":110,"check":111,"severity":30,"summary":112},"Code Execution","Validation","Input JSON bodies are validated, and user IDs are checked for reserved characters. The extension does not handle complex file paths or shell commands directly.",{"category":72,"check":114,"severity":48,"summary":115},"Unguarded Destructive Operations","The extension is read-only in terms of external state modification, focusing on message relay and UI integration.",{"category":110,"check":117,"severity":30,"summary":118},"Error Handling","Errors during request processing, user resolution, and message handling are caught and reported appropriately with JSON error responses or SSE error chunks.",{"category":110,"check":120,"severity":30,"summary":121},"Logging","The adapter includes a logger, with a default ConsoleLogger, allowing for configurable logging of operations and errors.",{"category":123,"check":124,"severity":30,"summary":125},"Compliance","GDPR","The adapter handles user identification via the `getUser` function, which is responsible for not submitting personal data to third parties. The adapter itself does not process personal data.",{"category":123,"check":127,"severity":30,"summary":128},"Target market","The extension is a general web adapter and does not contain any regional specific logic, making it globally applicable.",{"category":98,"check":130,"severity":30,"summary":131},"Runtime stability","The adapter is written in TypeScript and designed to run in a Node.js environment, with no specific OS or shell assumptions made.",{"category":46,"check":133,"severity":30,"summary":134},"Precise Purpose","The description clearly states the purpose (web adapter for chat-sdk) and its use case (serving browser UI) with clear integration points.",{"category":46,"check":136,"severity":30,"summary":137},"Concise Frontmatter","The README frontmatter is concise and effectively summarizes the extension's purpose and key features.",{"category":51,"check":139,"severity":30,"summary":140},"Concise Body","The README is well-structured and avoids excessive length, deferring detailed explanations to linked resources or code examples.",{"category":142,"check":143,"severity":48,"summary":144},"Context","Progressive Disclosure","The README is short and does not contain complex procedures or large embedded data that would require progressive disclosure.",{"category":142,"check":146,"severity":48,"summary":147},"Forked exploration","This extension is an adapter, not an exploration or audit tool, so the `context: fork` setting is not applicable.",{"category":28,"check":149,"severity":30,"summary":150},"Usage examples","The README provides clear, end-to-end examples for both server and client integration, demonstrating usage and expected outcomes.",{"category":28,"check":152,"severity":30,"summary":153},"Edge cases","The documentation addresses several edge cases, including invalid user IDs, missing user sessions, and potential issues with `useChat` state recreation, providing recovery steps.",{"category":110,"check":155,"severity":48,"summary":156},"Tool Fallback","This extension does not rely on external tools like MCP servers, therefore fallback mechanisms are not applicable.",{"category":158,"check":159,"severity":30,"summary":160},"Safety","Halt on unexpected state","The adapter validates inputs such as user IDs and conversation IDs, and handles errors gracefully, ensuring unexpected states halt the workflow appropriately.",{"category":98,"check":162,"severity":30,"summary":163},"Cross-skill coupling","The web adapter functions independently and does not implicitly rely on other skills. It integrates with chat-sdk and AI SDK components through defined interfaces.",1778054085056,"This adapter enables chat bots built with the Chat SDK to serve a browser chat UI. It implements the AI SDK UI message stream protocol, ensuring compatibility with components like `@ai-sdk/react`'s `useChat` and `ai-elements`. The extension handles server-side API routes, client-side React hooks, authentication, and message streaming.","2.0.0","3.4.0","The extension is well-documented, production-ready, and follows security best practices. It integrates seamlessly with the chat SDK and AI SDK ecosystem, providing a clear and robust web adapter. The only minor point is the lack of commit history, which prevents a full maintenance assessment, but the code quality and documentation are excellent.",98,"A high-quality web adapter for chat bots, enabling browser-based chat UIs with seamless integration into the AI SDK ecosystem.",[15,16,17,18,19,20],"global","verified",{"codeQuality":175,"collectedAt":176,"documentation":177,"maintenance":179,"security":180,"testCoverage":183},{},1778054071300,{"descriptionLength":178,"readmeSize":8},70,{},{"hasNpmPackage":181,"license":182,"smitheryVerified":181},false,"MIT",{"hasCi":181,"hasTests":181},{"updatedAt":185},1778054107364,{"githubOwner":187,"githubRepo":15,"locale":24,"slug":188,"type":189},"vercel","chat-adapter-web","skill",null,{"extract":192,"llm":194},{"commitSha":193,"license":182},"3e4764db4d5c826cd0938cdcd0130d14eb8ed992",{"promptVersionExtension":166,"promptVersionScoring":167,"score":169,"targetMarket":172,"tier":173},{"repoId":196},"kd7ds766kaxjjf3s3hr8y7z2t9865yn3",{"_creationTime":198,"_id":196,"identity":199,"providers":201,"workflow":219},1777995558409.8787,{"githubOwner":187,"githubRepo":15,"sourceUrl":200},"https://github.com/vercel/chat",{"discover":202,"github":205},{"sources":203},[204],"skills-sh",{"closedIssues90d":206,"forks":207,"homepage":208,"license":182,"openIssues90d":209,"pushedAt":210,"readmeSize":211,"stars":212,"topics":213},77,192,"https://chat-sdk.dev/",11,1778027870000,3458,1917,[214,15,215,216,217,218,187],"ai","discord","google-chat","slack","teams",{"discoverAt":220,"extractAt":221,"githubAt":221,"updatedAt":221},1777995558409,1778054055543,{"anyEnrichmentAt":223,"extractAt":224,"githubAt":223,"llmAt":185,"updatedAt":185},1778054054404,1778054052548,[],[227,259,296,315,338,362],{"_creationTime":228,"_id":229,"community":230,"display":231,"identity":241,"providers":245,"relations":252,"workflow":254},1777995614337.9844,"k17f0xfg2pkfqd1p5jjzh8sswh8645px",{"reviewCount":8},{"description":232,"installMethods":233,"name":234,"sourceUrl":235,"tags":236},"Scaffold an editable Tandem control panel app",{},"Tandem Panel Scaffold","https://github.com/frumu-ai/tandem/tree/HEAD/packages/create-tandem-panel",[237,238,17,239,240,20],"scaffolding","cli","typescript","vite",{"githubOwner":242,"githubRepo":243,"locale":24,"slug":244,"type":189},"frumu-ai","tandem","create-tandem-panel",{"extract":246,"llm":249,"smithery":251},{"commitSha":247,"license":248},"25c8ae7c2f8b20d576a2b8d44946ac2e0ff9408d","MIT OR Apache-2.0",{"promptVersionExtension":166,"promptVersionScoring":167,"score":250,"targetMarket":172,"tier":173},100,{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":181},{"repoId":253},"kd72pd305er4m7vecv9p6mnd4s865kea",{"anyEnrichmentAt":255,"extractAt":256,"githubAt":257,"llmAt":258,"smitheryAt":255,"updatedAt":258},1777995723550,1777995614338,1777995614791,1777995897177,{"_creationTime":260,"_id":261,"community":262,"display":263,"identity":281,"providers":285,"relations":290,"workflow":292},1778053622473.6697,"k171f477n3e7072bp8naebmft986757y",{"reviewCount":8},{"description":264,"installMethods":265,"name":266,"sourceUrl":267,"tags":268},"Create distinctive, production-grade frontend interfaces with high design quality. Provides analysis tools for auditing existing designs and generation tools for creating color palettes, typography systems, design tokens, and component templates. Supports React, Vue, Svelte, and vanilla HTML/CSS. Use when building web components, pages, or applications. Keywords: design, UI, frontend, CSS, components, palette, typography, tokens, accessibility.",{},"Frontend Design","https://github.com/jwynia/agent-skills/tree/HEAD/skills/tech/frontend/design/frontend-design",[269,20,270,271,272,273,274,275,276,17,277,278,279,280],"design","frontend","css","components","palette","typography","tokens","accessibility","vue","svelte","html","deno",{"githubOwner":282,"githubRepo":283,"locale":24,"slug":284,"type":189},"jwynia","agent-skills","frontend-design",{"extract":286,"llm":288},{"commitSha":287,"license":182},"e02ec7e226a6e4f8419fd3b88a1d8e472d421b32",{"promptVersionExtension":166,"promptVersionScoring":167,"score":289,"targetMarket":172,"tier":173},99,{"repoId":291},"kd7efn3mprpa8rd8vm5hw5ebzx864fph",{"anyEnrichmentAt":293,"extractAt":294,"githubAt":293,"llmAt":295,"updatedAt":295},1778053625386,1778053622473,1778054012696,{"_creationTime":297,"_id":298,"community":299,"display":300,"identity":308,"providers":310,"relations":313,"workflow":314},1778054052548.222,"k17fard3a1kf7n7ybxjexq5k2h866rf5",{"reviewCount":8},{"description":301,"installMethods":302,"name":303,"sourceUrl":304,"tags":305},"Discord adapter for chat",{},"Discord Adapter","https://github.com/vercel/chat/tree/HEAD/packages/adapter-discord",[215,18,15,306,239,307],"sdk","nodejs",{"githubOwner":187,"githubRepo":15,"locale":24,"slug":309,"type":189},"chat-adapter-discord",{"extract":311,"llm":312},{"commitSha":193,"license":182},{"promptVersionExtension":166,"promptVersionScoring":167,"score":169,"targetMarket":172,"tier":173},{"repoId":196},{"anyEnrichmentAt":223,"extractAt":224,"githubAt":223,"llmAt":185,"updatedAt":185},{"_creationTime":316,"_id":317,"community":318,"display":319,"identity":326,"providers":328,"relations":332,"workflow":334},1778054425877.205,"k1788s1zmn7ntdbw621xdwznvx8664ht",{"reviewCount":8},{"description":320,"installMethods":321,"name":322,"sourceUrl":323,"tags":324},"Brand checking of React Elements.",{},"react-is","https://github.com/facebook/react/tree/HEAD/packages/react-is",[17,325,270,20],"javascript",{"githubOwner":327,"githubRepo":17,"locale":24,"slug":322,"type":189},"facebook",{"extract":329,"llm":331},{"commitSha":330,"license":182},"9635257c1b557acc81f95b1e974a54c752e703a2",{"promptVersionExtension":166,"promptVersionScoring":167,"score":169,"targetMarket":172,"tier":173},{"repoId":333},"kd73v9dy7vwq94hgzc7eh43b9s865rhq",{"anyEnrichmentAt":335,"extractAt":336,"githubAt":335,"llmAt":337,"updatedAt":337},1778054428301,1778054425877,1778054588390,{"_creationTime":339,"_id":340,"community":341,"display":342,"identity":348,"providers":351,"relations":356,"workflow":358},1778053100136.2432,"k172mxtfqpq8byws1fyd2va1018674xt",{"reviewCount":8},{"description":343,"installMethods":344,"name":266,"sourceUrl":345,"tags":346},"Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.",{},"https://github.com/bytedance/deer-flow/tree/HEAD/skills/public/frontend-design",[270,269,20,347,279,271,17,277],"web-components",{"githubOwner":349,"githubRepo":350,"locale":24,"slug":284,"type":189},"bytedance","deer-flow",{"extract":352,"llm":355},{"commitSha":353,"license":354},"1336872b15c25d45ebcb7c1cf72369c2bdd53187","MIT-0",{"promptVersionExtension":166,"promptVersionScoring":167,"score":169,"targetMarket":172,"tier":173},{"repoId":357},"kd789sm7egx1h0t1jag6zzhcq98656wv",{"anyEnrichmentAt":359,"extractAt":360,"githubAt":359,"llmAt":361,"updatedAt":361},1778053101076,1778053100136,1778053169012,{"_creationTime":363,"_id":364,"community":365,"display":366,"identity":382,"providers":385,"relations":390,"workflow":393},1778053930836.1147,"k172fdk15qkgavq40ypr1pntcn866vss",{"reviewCount":8},{"description":367,"installMethods":368,"name":369,"sourceUrl":370,"tags":371},"Add Clerk authentication to any project by following the official quickstart guides.",{},"Clerk Setup","https://github.com/clerk/skills/tree/HEAD/skills/core/clerk-setup",[372,373,16,374,375,376,17,377,378,277,379,380,381],"authentication","clerk","setup","framework","next-js","express","astro","nuxt","remix","documentation",{"githubOwner":373,"githubRepo":383,"locale":24,"slug":384,"type":189},"skills","clerk-setup",{"extract":386,"llm":388},{"commitSha":387,"license":182},"c1f6afc82a165988421166e68872cb41b892c0b0",{"promptVersionExtension":166,"promptVersionScoring":167,"score":389,"targetMarket":172,"tier":173},97,{"parentExtensionId":391,"repoId":392},"k172gaengd5qyr6gnkq7aq3291866mfa","kd77f99t2sa8rvy3sj7yn73zp1864abx",{"anyEnrichmentAt":394,"extractAt":395,"githubAt":394,"llmAt":396,"updatedAt":396},1778053933098,1778053930836,1778054020038]