[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-plugin-wrsmith108-linear-claude-skill-zh-CN":3,"guides-for-wrsmith108-linear-claude-skill":317,"similar-k174c3e4gaf1fpgmp83f5e8yj986nvsb-zh-CN":318},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":14,"identity":257,"isFallback":253,"parentExtension":262,"providers":263,"relations":269,"repo":272,"tags":313,"workflow":314},1778699006177.5225,"k174c3e4gaf1fpgmp83f5e8yj986nvsb",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":12,"sourceUrl":13},"管理 Linear 的问题、项目和团队，用于问题跟踪、状态更新、查询项目和管理团队工作流。",{"claudeCode":12},"linear","https://github.com/wrsmith108/linear-claude-skill",{"_creationTime":15,"_id":16,"extensionId":5,"locale":17,"result":18,"trustSignals":236,"workflow":255},1778699006177.5227,"kn71w6qx6wdjszgqh4p6pgqw9x86m6jh","zh-CN",{"checks":19,"evaluatedAt":206,"extensionSummary":207,"features":208,"nonGoals":214,"promptVersionExtension":218,"promptVersionScoring":219,"purpose":220,"rationale":221,"score":222,"summary":223,"tags":224,"tier":230,"useCases":231},[20,25,28,31,35,38,42,47,50,53,57,61,64,69,72,75,78,81,84,87,91,95,99,103,107,110,113,116,121,124,127,130,133,136,139,143,147,151,154,158,161,164,167,170,173,176,179,182,185,188,192,195,198,202],{"category":21,"check":22,"severity":23,"summary":24},"Practical Utility","Problem relevance","pass","描述清楚地说明了管理 Linear 问题、项目和团队的用户问题。",{"category":21,"check":26,"severity":23,"summary":27},"Unique selling proposition","该扩展通过提供 SDK 自动化、GraphQL 访问以及项目管理的结构化工作流，提供了超越简单 API 封装的显著价值，这比默认的 LLM 行为要多。",{"category":21,"check":29,"severity":23,"summary":30},"Production readiness","该扩展涵盖了管理 Linear 项目的完整生命周期，包括创建、更新、批量操作和图像上传，表明已准备好应对实际工作流。",{"category":32,"check":33,"severity":23,"summary":34},"Scope","Single responsibility principle","该插件专注于管理 Linear 问题、项目和团队，避免了不相关的相邻领域。",{"category":32,"check":36,"severity":23,"summary":37},"Description quality","显示的描述准确地反映了该扩展管理 Linear 项目的功能。",{"category":39,"check":40,"severity":23,"summary":41},"Invocation","Scoped tools","工具是狭窄作用域的动词-名词专家（例如，`create-initiative`、`status`、`labels taxonomy`），便于代理选择。",{"category":43,"check":44,"severity":45,"summary":46},"Documentation","Configuration & parameter reference","info","虽然参数和选项在很大程度上都有文档记录，但 README 暗示了对 `lin` CLI 和官方 Linear MCP 服务器设置的可选集成，但没有明确详细说明这些可选组件的默认配置或优先级。",{"category":32,"check":48,"severity":23,"summary":49},"Tool naming","工具名称如 `create-initiative`、`create-project`、`status` 和 `labels taxonomy` 具有描述性，并遵循该领域。",{"category":32,"check":51,"severity":23,"summary":52},"Minimal I/O surface","输入是定义良好的命令行参数或结构化 JSON，输出似乎专注于承诺的有效负载，没有额外的的数据。",{"category":54,"check":55,"severity":23,"summary":56},"License","License usability","该扩展根据 MIT 获得许可，如 LICENSE 文件和信任信号所示。",{"category":58,"check":59,"severity":23,"summary":60},"Maintenance","Commit recency","最后一次提交是在 2026 年 4 月 19 日，在过去 3 个月内。",{"category":58,"check":62,"severity":23,"summary":63},"Dependency Management","该项目使用 npm install 和 package.json，表明是标准的依赖管理。存在 `npm install` 暗示锁定文件很可能已管理。",{"category":65,"check":66,"severity":67,"summary":68},"Security","Secret Management","warning","README 和安装说明提到了 `LINEAR_API_KEY` 并建议将其添加到 shell 配置文件。`hooks/post-edit.sh` 脚本也引用了此密钥。虽然它建议用户配置，但没有明确说明它是通过 `userConfig` 和 `sensitive: true` 来处理的，这不符合安全最佳实践。",{"category":65,"check":70,"severity":23,"summary":71},"Injection","脚本似乎将文件内容视为数据，并且没有迹象表明会执行从加载的第三方数据中任意指令。",{"category":65,"check":73,"severity":23,"summary":74},"Transitive Supply-Chain Grenades","该扩展通过 `npm install` 和 `npm run build` 在本地捆绑其代码和依赖项，没有从远程 URL 运行时获取代码或脚本。",{"category":65,"check":76,"severity":23,"summary":77},"Sandbox Isolation","脚本在项目目录内运行，并使用标准的 Node.js/bash 操作。没有迹象表明试图修改项目范围之外的文件。",{"category":65,"check":79,"severity":23,"summary":80},"Sandbox escape primitives","在提供的脚本中未观察到分离的进程生成或拒绝重试循环。",{"category":65,"check":82,"severity":23,"summary":83},"Data Exfiltration","该扩展的主要功能是与 Linear API 交互。它需要用户提供的 API 密钥，但似乎没有泄露机密数据或进行未经记录的出站调用。",{"category":65,"check":85,"severity":23,"summary":86},"Hidden Text Tricks","捆绑的内容和 README 不包含隐藏的操纵技巧、不可见字符或其他混淆方法。",{"category":88,"check":89,"severity":23,"summary":90},"Hooks","Opaque code execution","`hooks/post-edit.sh` 脚本是纯 bash 脚本且可读。构建过程将 TS 预编译为 JS，这是标准做法，在此上下文中不被视为不透明执行。",{"category":92,"check":93,"severity":23,"summary":94},"Portability","Structural Assumption","该扩展假定标准的 Node.js 项目结构并使用相对路径。`~/.claude/skills/linear` 路径用于安装是 Claude Code 处理的约定。",{"category":96,"check":97,"severity":23,"summary":98},"Trust","Issues Attention","在过去 90 天内有 0 个打开的问题和 1 个已关闭的问题，表明维护者响应良好。",{"category":100,"check":101,"severity":23,"summary":102},"Versioning","Release Management","该扩展在 `plugin.json` 中有一个版本（`2.3.1`）和一个 `CHANGELOG.md` 文件，表明其发布管理清晰。",{"category":104,"check":105,"severity":67,"summary":106},"Code Execution","Validation","虽然脚本是用 TypeScript 编写的，很可能使用了基本验证，但 bash 脚本（`hooks/post-edit.sh`）依赖 `grep` 和 `jq` 进行输入解析，而没有显式模式验证，这给格式错误的输入带来了风险。",{"category":65,"check":108,"severity":23,"summary":109},"Unguarded Destructive Operations","主要操作与 Linear API 交互，该 API 本身具有保护措施。`npm run ops` 命令本质上是事务性的，并且似乎不会在没有用户交互的情况下执行破坏性文件操作。",{"category":104,"check":111,"severity":23,"summary":112},"Error Handling","在 bash hook 中使用 `set -e` 以及标准的 Node.js 错误处理实践（如 TypeScript 用法所暗示的）表明错误很可能被捕获和报告。",{"category":104,"check":114,"severity":23,"summary":115},"Logging","`hooks/post-edit.sh` 脚本将上下文打印到 stdout，Claude Code 会捕获这些信息。这是一种 hook 执行的审计日志形式。README 还暗示了同步验证的选项。",{"category":117,"check":118,"severity":119,"summary":120},"Compliance","GDPR","not_applicable","该扩展主要与 Linear API 数据交互，并且似乎不处理除问题管理所需的个人数据之外的数据，用户提供的 API 密钥通过配置进行处理。",{"category":117,"check":122,"severity":23,"summary":123},"Target market","该扩展的功能与 Linear 平台相关联，没有表现出任何地域或司法管辖区的限制，因此它是全球性的。",{"category":92,"check":125,"severity":23,"summary":126},"Runtime stability","该扩展是使用 Node.js 和标准的 bash 脚本构建的，使其在符合 POSIX 的系统上具有广泛的兼容性。可选的 `lin` CLI 被妥善处理。",{"category":43,"check":128,"severity":23,"summary":129},"README","README 内容全面，清楚地说明了扩展的目的、功能、安装和用法示例。",{"category":32,"check":131,"severity":23,"summary":132},"Tool surface size","该扩展公开了数量可控的命令（例如，`create-initiative`、`create-project`、`status`、`labels taxonomy`、`sync`）和 SDK 模式，适合目标范围。",{"category":39,"check":134,"severity":23,"summary":135},"Overlapping near-synonym tools","工具名称涵盖了不同的操作，避免了近义词，以实现清晰和精确的代理调用。",{"category":43,"check":137,"severity":23,"summary":138},"Phantom features","README 中提到的所有功能，例如图像上传、批量同步和标签管理，都有相应的实现或文档记录的使用模式。",{"category":140,"check":141,"severity":23,"summary":142},"Install","Installation instruction","README 提供了清晰、可复制的安装说明、API 密钥设置指南以及核心命令的调用示例。",{"category":144,"check":145,"severity":23,"summary":146},"Errors","Actionable error messages","`setup.ts` 脚本旨在为缺失的配置提供可操作的指导，并且一般错误处理似乎很健壮。",{"category":148,"check":149,"severity":23,"summary":150},"Execution","Pinned dependencies","该项目使用 `npm install` 和 `npm ci`，当与 `package-lock.json`（由 `npm install` 和 `package.json` 暗示）一起使用时，可以有效地固定依赖项。",{"category":32,"check":152,"severity":45,"summary":153},"Dry-run preview","虽然该扩展提供了广泛的 Linear API 交互，但没有明确提到用于状态更改操作（如创建问题或项目）的 `--dry-run` 标志。",{"category":155,"check":156,"severity":45,"summary":157},"Protocol","Idempotent retry & timeouts","Linear API 本身很可能处理其操作的幂等性和超时。扩展代码没有明确详细说明其 API 调用的自定义重试逻辑或硬超时。",{"category":117,"check":159,"severity":23,"summary":160},"Telemetry opt-in","该扩展似乎不收集或传输遥测数据，遵循选择加入原则。",{"category":39,"check":162,"severity":23,"summary":163},"Name collisions","捆绑的工具和命令是不同的，并且特定于 Linear 领域，避免了与 Claude Code 内置命令或其他潜在技能名称的冲突。",{"category":39,"check":165,"severity":119,"summary":166},"Hooks-off mechanism","该插件似乎没有使用 hook 机制，因此不需要单独的“hooks-off”切换。",{"category":39,"check":168,"severity":23,"summary":169},"Hook matcher tightness","`hooks/post-edit.sh` 脚本具有文件扩展名的严格匹配器，并跳过 `node_modules` 和 `dist/` 等常见目录。",{"category":65,"check":171,"severity":23,"summary":172},"Hook security","`post-edit.sh` hook 主要用于日志记录和建议，不执行破坏性操作或网络调用，并且受到特定文件路径检查的限制。",{"category":88,"check":174,"severity":23,"summary":175},"Silent prompt rewriting","`post-edit.sh` hook 将上下文输出到 stdout，Claude Code 会捕获这些信息，从而使任何提示修改都可见。",{"category":65,"check":177,"severity":119,"summary":178},"Permission Hook","该插件似乎没有实现任何 `PermissionRequest` hook。",{"category":117,"check":180,"severity":23,"summary":181},"Hook privacy","hook 仅在本地记录到 stdout，并且不通过网络发送任何数据。",{"category":104,"check":183,"severity":23,"summary":184},"Hook dependency","`post-edit.sh` hook 是一个简短、可读的 bash 脚本，位于存储库中。",{"category":43,"check":186,"severity":23,"summary":187},"Feature Transparency","README 详细描述了功能，包括 `post-edit.sh` hook 及其配置。",{"category":189,"check":190,"severity":23,"summary":191},"Convention","Layout convention adherence","存在 `.claude-plugin/plugin.json` 并已正确配置。未使用 `bin/` 目录，并且 hook 脚本在 README 中进行了记录。",{"category":189,"check":193,"severity":23,"summary":194},"Plugin state","该插件似乎不管理需要 `${CLAUDE_PLUGIN_DATA}` 的持久状态。",{"category":65,"check":196,"severity":67,"summary":197},"Keychain-stored secrets","期望 `LINEAR_API_KEY` 设置为环境变量。它没有通过 `sensitive: true` 的 `userConfig` 显式处理，这意味着它可能以纯文本形式存储在 settings.json 中。",{"category":199,"check":200,"severity":23,"summary":201},"Dependencies","Tagged release sourcing","该扩展列出了一个官方的 Linear MCP 服务器端点，这意味着使用了稳定、文档齐全的服务，而不是社区分支或未标记的版本。",{"category":203,"check":204,"severity":23,"summary":205},"Installation","Clean uninstall","安装涉及克隆一个目录并运行 `npm install`，这些都是会话范围的，并且不会留下后台守护进程或持久性系统代理，这些代理会在卸载后仍然存在。",1778698984039,"该插件提供了一组 CLI 命令和 SDK 模式来管理 Linear 的问题、项目和团队。它支持高级操作、子问题管理、标签分类法、批量同步、图像上传以及直接的 GraphQL API 访问，并可选集成 `lin` CLI 和官方 Linear MCP 服务器。",[209,210,211,212,213],"全面的 Linear 问题和项目管理","SDK 自动化和 GraphQL API 访问","代码更改与 Linear 的批量同步","图像上传和管理","自动配置验证和设置检查",[215,216,217],"管理 Linear 之外的问题","完全取代 Linear 应用程序","提供与 Linear 无关的通用项目管理功能","3.0.0","4.4.0","使用户能够直接从 Claude Code 高效地管理 Linear 工作流的所有方面，从问题跟踪到项目状态更新和团队协调。","已标记了机密管理和验证检查，但总体质量很高。",75,"一个强大且文档齐全的插件，可实现全面的 Linear 项目和问题管理。",[12,225,226,227,228,229],"project-management","issue-tracking","automation","cli","sdk","community",[232,233,234,235],"创建和管理复杂的问题层级（父子关系）","自动化项目状态更新和报告","将开发进度与问题跟踪同步","应用标准化标签以进行一致的分类",{"codeQuality":237,"collectedAt":239,"documentation":240,"maintenance":243,"popularity":249,"security":251,"testCoverage":254},{"hasLockfile":238},true,1778698959937,{"descriptionLength":241,"readmeSize":242},127,12870,{"closedIssues90d":244,"forks":245,"hasChangelog":238,"manifestVersion":246,"openIssues90d":8,"pushedAt":247,"stars":248},1,12,"2.3.1",1776631663000,101,{"npmDownloads":250},46,{"hasNpmPackage":238,"license":252,"smitheryVerified":253},"MIT",false,{"hasCi":238,"hasTests":238},{"updatedAt":256},1778699006177,{"basePath":258,"githubOwner":259,"githubRepo":260,"locale":17,"slug":260,"type":261},"","wrsmith108","linear-claude-skill","plugin",null,{"evaluate":264,"extract":267},{"promptVersionExtension":218,"promptVersionScoring":219,"score":222,"tags":265,"targetMarket":266,"tier":230},[12,225,226,227,228,229],"global",{"commitSha":268,"license":252},"HEAD",{"repoId":270,"translatedFrom":271},"kd78a5nrs9mk5afrg9kybb93px86mmdz","k1703fv25nqbsq3vxrhj2vb4s586mf1c",{"_creationTime":273,"_id":270,"identity":274,"providers":275,"workflow":308},1778698951344.7036,{"githubOwner":259,"githubRepo":260,"sourceUrl":13},{"classify":276,"discover":295,"extract":298,"github":300,"npm":307},{"commitSha":268,"extensions":277},[278],{"basePath":258,"description":279,"displayName":12,"installMethods":280,"license":252,"rationale":281,"selectedPaths":282,"source":293,"sourceLanguage":294,"type":261},"Managing Linear issues, projects, and teams for issue tracking, status updates, querying projects, and managing team workflows.",{"claudeCode":12},"plugin manifest at .claude-plugin/plugin.json",[283,286,288,291],{"path":284,"priority":285},".claude-plugin/plugin.json","mandatory",{"path":287,"priority":285},"README.md",{"path":289,"priority":290},"LICENSE","high",{"path":292,"priority":290},"hooks/post-edit.sh","rule","en",{"sources":296},[297],"manual",{"npmPackage":299},"claude-plugin-linear",{"closedIssues90d":244,"description":301,"forks":245,"license":252,"openIssues90d":8,"pushedAt":247,"readmeSize":242,"stars":248,"topics":302},"Agent skill for managing Linear issues, projects, and teams. MCP tools, SDK automation, GraphQL API patterns.",[303,304,305,12,225,306],"claude-code","claude-code-skills","claude-skills","claude-skill",{"downloads":250},{"classifiedAt":309,"discoverAt":310,"extractAt":311,"githubAt":311,"npmAt":312,"updatedAt":309},1778698957999,1778698951344,1778698954010,1778698956021,[227,228,226,12,225,229],{"evaluatedAt":315,"extractAt":316,"updatedAt":256},1778698984156,1778698958253,[],[319,349,373,404],{"_creationTime":320,"_id":321,"community":322,"display":323,"identity":328,"providers":332,"relations":342,"tags":345,"workflow":346},1778685949178.778,"k17bj5k6q8nja3rmmrqkzrkhe986nps4",{"reviewCount":8},{"description":324,"installMethods":325,"name":326,"sourceUrl":327},"Commands for loading context and priming Claude for specific tasks",{"claudeCode":326},"commands-context-loading-priming","https://github.com/davepoon/buildwithclaude",{"basePath":329,"githubOwner":330,"githubRepo":331,"locale":294,"slug":326,"type":261},"plugins/commands-context-loading-priming","davepoon","buildwithclaude",{"evaluate":333,"extract":341},{"promptVersionExtension":218,"promptVersionScoring":219,"score":334,"tags":335,"targetMarket":266,"tier":340},100,[336,337,338,339,225],"context","ai-assisted-development","documentation","commands","verified",{"commitSha":268,"license":252},{"parentExtensionId":343,"repoId":344},"k17dg0d5d8g0a5nhm59gm0tkwx86nbt4","kd719kw54vhmcscq7ckdp59fg586mnt6",[337,339,336,338,225],{"evaluatedAt":347,"extractAt":348,"updatedAt":347},1778686378790,1778685949178,{"_creationTime":350,"_id":351,"community":352,"display":353,"identity":357,"providers":359,"relations":369,"tags":370,"workflow":371},1778685949178.7793,"k17c3jcn579adn2htt11vpsa9n86mk6q",{"reviewCount":8},{"description":354,"installMethods":355,"name":356,"sourceUrl":327},"Commands for integrating with external services and syncing data",{"claudeCode":356},"commands-integration-sync",{"basePath":358,"githubOwner":330,"githubRepo":331,"locale":294,"slug":356,"type":261},"plugins/commands-integration-sync",{"evaluate":360,"extract":368},{"promptVersionExtension":218,"promptVersionScoring":219,"score":361,"tags":362,"targetMarket":266,"tier":340},99,[363,364,365,12,227,366,367],"integration","synchronization","github","workflow","command",{"commitSha":268,"license":252},{"parentExtensionId":343,"repoId":344},[227,367,365,363,12,364,366],{"evaluatedAt":372,"extractAt":348,"updatedAt":372},1778686487011,{"_creationTime":374,"_id":375,"community":376,"display":377,"identity":382,"providers":385,"relations":395,"tags":399,"workflow":400},1778687414160.7932,"k17fr006cgypvnrjrs5wfdwhzs86ndtv",{"reviewCount":8},{"description":378,"installMethods":379,"name":380,"sourceUrl":381},"AI supervised 的 coding workflows 的 issue tracker。使用简单的 CLI 命令管理任务，发现工作，并保持上下文。",{"claudeCode":380},"beads","https://github.com/gastownhall/beads",{"basePath":383,"githubOwner":384,"githubRepo":380,"locale":17,"slug":380,"type":261},"plugins/beads","gastownhall",{"evaluate":386,"extract":392},{"promptVersionExtension":218,"promptVersionScoring":219,"score":387,"tags":388,"targetMarket":266,"tier":340},93,[226,389,390,391,228],"task-management","ai-workflow","agent-memory",{"commitSha":268,"license":252,"plugin":393},{"mcpCount":8,"provider":394,"skillCount":244},"classify",{"parentExtensionId":396,"repoId":397,"translatedFrom":398},"k1721bhcs2nn4r096p6g9fs9m186m5gz","kd7a6ybfkhncqe1anf5apcya0186nzp5","k17451dagmv6yj99gz9rsr89nd86ma27",[391,390,228,226,389],{"evaluatedAt":401,"extractAt":402,"updatedAt":403},1778687272081,1778687211290,1778687414160,{"_creationTime":405,"_id":406,"community":407,"display":408,"identity":413,"providers":415,"relations":422,"tags":426,"workflow":427},1778698404891.8135,"k1715bpzv03cyv8g5xhsvxd6cs86n6eh",{"reviewCount":8},{"description":409,"installMethods":410,"name":12,"sourceUrl":412},"通过 CLI 使用 Linear 问题、团队、项目和用户",{"claudeCode":411},"linear-cli-skill","https://github.com/Valian/linear-cli-skill",{"basePath":258,"githubOwner":414,"githubRepo":411,"locale":17,"slug":411,"type":261},"Valian",{"evaluate":416,"extract":421},{"promptVersionExtension":218,"promptVersionScoring":219,"score":417,"tags":418,"targetMarket":266,"tier":230},86,[12,228,419,225,420],"developer-tools","api-client",{"commitSha":268},{"parentExtensionId":423,"repoId":424,"translatedFrom":425},"k174552b98hc4bznbsmfheh3s986my0n","kd73g74veb0bb1m3x0pe77z0fx86mxr2","k172xer9cxmwv2xx0nn63p672h86nyh8",[420,228,419,12,225],{"evaluatedAt":428,"extractAt":429,"updatedAt":430},1778698369946,1778698324385,1778698404891]