[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-vercel-chat-adapter-linear-vi":3,"guides-for-vercel-chat-adapter-linear":232,"similar-k17aec27hswv61h1ftr18fhqb18679td":233},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":22,"identity":192,"isFallback":196,"parentExtension":197,"providers":198,"relations":202,"repo":204,"workflow":229},1778054052548.2234,"k17aec27hswv61h1ftr18fhqb18679td",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":12,"sourceUrl":13,"tags":14},"Linear adapter for chat - issue comment threads",{},"Linear Adapter","https://github.com/vercel/chat/tree/HEAD/packages/adapter-linear",[15,16,17,18,19,20,21],"linear","chat","adapter","typescript","sdk","issue-tracking","project-management",{"_creationTime":23,"_id":24,"extensionId":5,"locale":25,"result":26,"trustSignals":180,"workflow":190},1778054107364.4336,"kn71pjadzc7gnpynm06ech32td8667k1","en",{"checks":27,"evaluatedAt":170,"extensionSummary":171,"promptVersionExtension":172,"promptVersionScoring":173,"rationale":174,"score":175,"summary":176,"tags":177,"targetMarket":178,"tier":179},[28,33,36,39,43,46,50,54,58,61,65,70,73,77,80,83,86,89,92,95,99,103,107,111,115,118,121,124,129,132,135,138,141,144,148,151,154,157,160,163,167],{"category":29,"check":30,"severity":31,"summary":32},"Practical Utility","Problem relevance","pass","The description clearly states the problem: it provides a Linear adapter for chat, specifically for issue comment threads.",{"category":29,"check":34,"severity":31,"summary":35},"Unique selling proposition","The extension offers a distinct adapter for Linear, enabling chat interactions within issue comment threads, which is a specific value proposition beyond basic chat functionality.",{"category":29,"check":37,"severity":31,"summary":38},"Production readiness","The extension appears production-ready with clear installation, configuration, and authentication instructions, supporting various Linear integration methods and webhook handling.",{"category":40,"check":41,"severity":31,"summary":42},"Scope","Single responsibility principle","The extension focuses solely on adapting Linear's comment and agent session functionalities for chat integration, adhering to a single responsibility.",{"category":40,"check":44,"severity":31,"summary":45},"Description quality","The provided description accurately reflects the extension's functionality as a Linear adapter for chat issue comment threads.",{"category":47,"check":48,"severity":31,"summary":49},"Invocation","Scoped tools","The adapter's functionality is scoped to Linear-specific operations like creating comments, handling agent sessions, and managing reactions, rather than generic shell execution.",{"category":51,"check":52,"severity":31,"summary":53},"Documentation","Configuration & parameter reference","The README provides a comprehensive list of configuration options, environment variables, and their descriptions, with auto-detection clearly explained.",{"category":40,"check":55,"severity":56,"summary":57},"Tool naming","not_applicable","This adapter does not expose specific tools/commands in the traditional sense; its functionality is exposed through the Chat SDK's adapter interface.",{"category":40,"check":59,"severity":31,"summary":60},"Minimal I/O surface","The adapter interfaces with Linear's API through the SDK, abstracting the I/O surface and focusing on chat-related operations like posting and fetching messages.",{"category":62,"check":63,"severity":31,"summary":64},"License","License usability","The extension is licensed under the MIT license, which is a permissive open-source license.",{"category":66,"check":67,"severity":68,"summary":69},"Maintenance","Commit recency","warning","The last commit date on the default branch is not available (n/a), making it difficult to assess the recency and maintenance status of the project.",{"category":66,"check":71,"severity":31,"summary":72},"Dependency Management","Dependencies are managed via npm/workspace and appear to be within a reasonable version range, with no critical vulnerabilities apparent from the provided files.",{"category":74,"check":75,"severity":31,"summary":76},"Security","Secret Management","Secrets are handled via environment variables or configuration, and the code does not appear to echo resolved secrets to stdout/stderr. Encryption for stored tokens is supported.",{"category":74,"check":78,"severity":31,"summary":79},"Injection","The code interacts with the Linear SDK, which is expected to handle input sanitization appropriately. No direct file loading or remote content execution is apparent.",{"category":74,"check":81,"severity":31,"summary":82},"Transitive Supply-Chain Grenades","The extension primarily uses the official Linear SDK and does not appear to fetch or execute arbitrary remote code or content.",{"category":74,"check":84,"severity":31,"summary":85},"Sandbox Isolation","The adapter interacts with the Linear API via its SDK and does not appear to modify files outside of its intended scope or the runtime environment.",{"category":74,"check":87,"severity":31,"summary":88},"Sandbox escape primitives","No obvious sandbox escape primitives like detached processes or retry loops around denied calls are present in the provided code.",{"category":74,"check":90,"severity":31,"summary":91},"Data Exfiltration","The adapter communicates with the Linear API for its intended functionality. No undocumented outbound calls or suspicious data exfiltration attempts are evident.",{"category":74,"check":93,"severity":31,"summary":94},"Hidden Text Tricks","The bundled files appear to be standard code and markdown, with no evidence of hidden text tricks or obfuscation.",{"category":96,"check":97,"severity":31,"summary":98},"Hooks","Opaque code execution","The bundled code is standard TypeScript and does not appear to involve obfuscated payloads, runtime code fetching, or `eval` statements.",{"category":100,"check":101,"severity":31,"summary":102},"Portability","Structural Assumption","The adapter relies on the Linear API and its SDK, not on specific user project structures or file layouts.",{"category":104,"check":105,"severity":31,"summary":106},"Trust","Issues Attention","Issue data is not available (n/a), so this check is not applicable.",{"category":108,"check":109,"severity":31,"summary":110},"Versioning","Release Management","The package.json file correctly declares the version as 4.27.0, indicating proper release management.",{"category":112,"check":113,"severity":31,"summary":114},"Code Execution","Validation","The adapter uses the Linear SDK, which is expected to perform necessary validation on API interactions. No evidence of untrusted input being directly executed is present.",{"category":74,"check":116,"severity":31,"summary":117},"Unguarded Destructive Operations","The adapter primarily performs read operations and comment creation/updates on Linear. Destructive operations are limited to standard API interactions through the SDK, which are typically guarded.",{"category":112,"check":119,"severity":31,"summary":120},"Error Handling","The adapter appears to have robust error handling, utilizing the SDK's error mechanisms and custom error classes for adapter-specific issues.",{"category":112,"check":122,"severity":31,"summary":123},"Logging","The adapter includes logging capabilities, allowing users to configure a logger instance, with a default ConsoleLogger.",{"category":125,"check":126,"severity":127,"summary":128},"Compliance","GDPR","info","The adapter handles user data (names, emails, avatars) when fetching user information from Linear. While not submitting personal data to a third party without approval, it does interact with LLMs which may process this data. No explicit sanitization beyond what the SDK provides is evident.",{"category":125,"check":130,"severity":31,"summary":131},"Target market","The extension is a technical adapter for the Linear platform and does not appear to have any geographical or jurisdictional limitations. Target market is global.",{"category":100,"check":133,"severity":31,"summary":134},"Runtime stability","The adapter is written in TypeScript and relies on Node.js environment, with no apparent assumptions about specific shells or operating systems beyond standard Node.js compatibility.",{"category":47,"check":136,"severity":31,"summary":137},"Precise Purpose","The description clearly states the extension's purpose: a Linear adapter for chat, handling issue comment threads and agent sessions.",{"category":47,"check":139,"severity":31,"summary":140},"Concise Frontmatter","The README frontmatter is concise and effectively summarizes the extension's purpose and installation instructions.",{"category":51,"check":142,"severity":31,"summary":143},"Concise Body","The README body is well-structured and reasonably concise, with detailed sections for usage, authentication, and webhooks.",{"category":145,"check":146,"severity":56,"summary":147},"Context","Progressive Disclosure","The extension is a code library and does not contain a SKILL.md or similar instructional file that would benefit from progressive disclosure.",{"category":145,"check":149,"severity":56,"summary":150},"Forked exploration","This extension is an adapter library, not a skill that performs exploration, so the 'context: fork' setting is not applicable.",{"category":29,"check":152,"severity":31,"summary":153},"Usage examples","The README provides clear and functional usage examples for basic bot setup and adapter integration.",{"category":29,"check":155,"severity":31,"summary":156},"Edge cases","The documentation addresses potential issues like invalid signatures, bot not responding, and webhook expiration with troubleshooting steps.",{"category":112,"check":158,"severity":56,"summary":159},"Tool Fallback","This adapter does not rely on external tools like an MCP server; it uses the Linear SDK directly.",{"category":100,"check":161,"severity":31,"summary":162},"Stack assumptions","The extension assumes a Node.js environment and TypeScript, which are standard for this type of development. Shebangs are not applicable as it's an SDK module.",{"category":164,"check":165,"severity":31,"summary":166},"Safety","Halt on unexpected state","The adapter's error handling and the underlying SDK are expected to halt on unexpected states, preventing unintended operations.",{"category":100,"check":168,"severity":56,"summary":169},"Cross-skill coupling","This extension is a standalone adapter and does not implicitly rely on or cross-link to other skills.",1778054070923,"This adapter enables chat bots to interact with Linear issues by treating comment threads as conversations and supporting agent sessions. It provides multiple authentication methods and handles webhook events for real-time updates.","2.0.0","3.4.0","The extension is a well-documented and production-ready adapter for Linear, with robust configuration, authentication, and error handling. A minor warning on commit recency prevents a perfect score.",92,"A production-ready and well-documented adapter for integrating Linear issue comments and agent sessions with chat platforms.",[15,16,17,18,19,20,21],"global","verified",{"codeQuality":181,"collectedAt":182,"documentation":183,"maintenance":185,"security":186,"testCoverage":189},{},1778054057536,{"descriptionLength":184,"readmeSize":8},47,{},{"hasNpmPackage":187,"license":188,"smitheryVerified":187},false,"MIT",{"hasCi":187,"hasTests":187},{"updatedAt":191},1778054107364,{"githubOwner":193,"githubRepo":16,"locale":25,"slug":194,"type":195},"vercel","chat-adapter-linear","skill",true,null,{"extract":199,"llm":201},{"commitSha":200,"license":188},"3e4764db4d5c826cd0938cdcd0130d14eb8ed992",{"promptVersionExtension":172,"promptVersionScoring":173,"score":175,"targetMarket":178,"tier":179},{"repoId":203},"kd7ds766kaxjjf3s3hr8y7z2t9865yn3",{"_creationTime":205,"_id":203,"identity":206,"providers":208,"workflow":226},1777995558409.8787,{"githubOwner":193,"githubRepo":16,"sourceUrl":207},"https://github.com/vercel/chat",{"discover":209,"github":212},{"sources":210},[211],"skills-sh",{"closedIssues90d":213,"forks":214,"homepage":215,"license":188,"openIssues90d":216,"pushedAt":217,"readmeSize":218,"stars":219,"topics":220},77,192,"https://chat-sdk.dev/",11,1778027870000,3458,1917,[221,16,222,223,224,225,193],"ai","discord","google-chat","slack","teams",{"discoverAt":227,"extractAt":228,"githubAt":228,"updatedAt":228},1777995558409,1778054055543,{"anyEnrichmentAt":230,"extractAt":231,"githubAt":230,"llmAt":191,"updatedAt":191},1778054054404,1778054052548,[],[234,253,274,301,319,338],{"_creationTime":235,"_id":236,"community":237,"display":238,"identity":245,"providers":247,"relations":251,"workflow":252},1778054052548.222,"k17fard3a1kf7n7ybxjexq5k2h866rf5",{"reviewCount":8},{"description":239,"installMethods":240,"name":241,"sourceUrl":242,"tags":243},"Discord adapter for chat",{},"Discord Adapter","https://github.com/vercel/chat/tree/HEAD/packages/adapter-discord",[222,17,16,19,18,244],"nodejs",{"githubOwner":193,"githubRepo":16,"locale":25,"slug":246,"type":195},"chat-adapter-discord",{"extract":248,"llm":249},{"commitSha":200,"license":188},{"promptVersionExtension":172,"promptVersionScoring":173,"score":250,"targetMarket":178,"tier":179},98,{"repoId":203},{"anyEnrichmentAt":230,"extractAt":231,"githubAt":230,"llmAt":191,"updatedAt":191},{"_creationTime":254,"_id":255,"community":256,"display":257,"identity":267,"providers":269,"relations":272,"workflow":273},1778054052548.2258,"k17bkh8x7r0t3e36bqb52wgkf5867d0e",{"reviewCount":8},{"description":258,"installMethods":259,"name":260,"sourceUrl":261,"tags":262},"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",[16,263,264,17,265,266],"web","react","ai-sdk","ui",{"githubOwner":193,"githubRepo":16,"locale":25,"slug":268,"type":195},"chat-adapter-web",{"extract":270,"llm":271},{"commitSha":200,"license":188},{"promptVersionExtension":172,"promptVersionScoring":173,"score":250,"targetMarket":178,"tier":179},{"repoId":203},{"anyEnrichmentAt":230,"extractAt":231,"githubAt":230,"llmAt":191,"updatedAt":191},{"_creationTime":275,"_id":276,"community":277,"display":278,"identity":287,"providers":290,"relations":295,"workflow":297},1778054691785.252,"k176gbxhc64dkqtxv2h18f96nh866z6y",{"reviewCount":8},{"description":279,"installMethods":280,"name":281,"sourceUrl":282,"tags":283},"Implement large language model (LLM) chat completions using the z-ai-web-dev-sdk. Use this skill when the user needs to build conversational AI applications, chatbots, AI assistants, or any text generation features. Supports multi-turn conversations, system prompts, and context management.",{},"LLM Chat Completions","https://github.com/answerzhao/agent-skills/tree/HEAD/glm-skills/LLM",[284,16,19,285,286],"llm","text-generation","conversational-ai",{"githubOwner":288,"githubRepo":289,"locale":25,"slug":284,"type":195},"answerzhao","agent-skills",{"extract":291,"llm":293},{"commitSha":292,"license":188},"aad73edbd0d9ffbc3d6a402b6eafa6dab96d5ebb",{"promptVersionExtension":172,"promptVersionScoring":173,"score":294,"targetMarket":178,"tier":179},96,{"repoId":296},"kd712v2g1pay70swwj0jpv2ggs864zgh",{"anyEnrichmentAt":298,"extractAt":299,"githubAt":298,"llmAt":300,"updatedAt":300},1778054692243,1778054691785,1778054738050,{"_creationTime":302,"_id":303,"community":304,"display":305,"identity":311,"providers":313,"relations":317,"workflow":318},1778054052548.2244,"k17admt4d3nkwv21k8qfz5rg218664hw",{"reviewCount":8},{"description":306,"installMethods":307,"name":308,"sourceUrl":309,"tags":310},"Slack adapter for chat",{},"Slack Adapter","https://github.com/vercel/chat/tree/HEAD/packages/adapter-slack",[224,16,17,19,18],{"githubOwner":193,"githubRepo":16,"locale":25,"slug":312,"type":195},"chat-adapter-slack",{"extract":314,"llm":315},{"commitSha":200,"license":188},{"promptVersionExtension":172,"promptVersionScoring":173,"score":316,"targetMarket":178,"tier":179},95,{"repoId":203},{"anyEnrichmentAt":230,"extractAt":231,"githubAt":230,"llmAt":191,"updatedAt":191},{"_creationTime":320,"_id":321,"community":322,"display":323,"identity":331,"providers":333,"relations":336,"workflow":337},1778054052548.2253,"k17b861s7203y4f2xmmkcq2j8h867hkv",{"reviewCount":8},{"description":324,"installMethods":325,"name":326,"sourceUrl":327,"tags":328},"Telegram adapter for chat",{},"Telegram Adapter","https://github.com/vercel/chat/tree/HEAD/packages/adapter-telegram",[16,329,330,17,19],"telegram","bot",{"githubOwner":193,"githubRepo":16,"locale":25,"slug":332,"type":195},"chat-adapter-telegram",{"extract":334,"llm":335},{"commitSha":200,"license":188},{"promptVersionExtension":172,"promptVersionScoring":173,"score":316,"targetMarket":178,"tier":179},{"repoId":203},{"anyEnrichmentAt":230,"extractAt":231,"githubAt":230,"llmAt":191,"updatedAt":191},{"_creationTime":339,"_id":340,"community":341,"display":342,"identity":351,"providers":353,"relations":356,"workflow":357},1778054052548.223,"k179p1cp5v99kfeh4jtacgym3s867abn",{"reviewCount":8},{"description":343,"installMethods":344,"name":345,"sourceUrl":346,"tags":347},"GitHub adapter for chat - PR and issue comment threads",{},"GitHub Adapter","https://github.com/vercel/chat/tree/HEAD/packages/adapter-github",[348,17,16,19,349,350],"github","developer-tools","api-integration",{"githubOwner":193,"githubRepo":16,"locale":25,"slug":352,"type":195},"chat-adapter-github",{"extract":354,"llm":355},{"commitSha":200,"license":188},{"promptVersionExtension":172,"promptVersionScoring":173,"score":316,"targetMarket":178,"tier":179},{"repoId":203},{"anyEnrichmentAt":230,"extractAt":231,"githubAt":230,"llmAt":191,"updatedAt":191}]