[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-plugin-Valian-linear-cli-skill-en":3,"guides-for-Valian-linear-cli-skill":355,"similar-k172xer9cxmwv2xx0nn63p672h86nyh8-en":356},{"_creationTime":4,"_id":5,"children":6,"community":44,"display":45,"evaluation":48,"identity":277,"isFallback":270,"parentExtension":280,"providers":307,"relations":312,"repo":313,"tags":352,"workflow":353},1778698324385.7559,"k172xer9cxmwv2xx0nn63p672h86nyh8",[7],{"_creationTime":8,"_id":9,"community":10,"display":12,"identity":18,"providers":23,"relations":37,"tags":39,"workflow":40},1778698324385.756,"k178s738a4pedaht0fhjjy320d86mrv5",{"reviewCount":11},0,{"description":13,"installMethods":14,"name":16,"sourceUrl":17},"Work with Linear issues via CLI - use this skill whenever the user asks about Linear issues, creating, updating, commenting on, or deleting issues, or checking issue status and details",{"claudeCode":15},"Valian/linear-cli-skill","linear","https://github.com/Valian/linear-cli-skill",{"basePath":16,"githubOwner":19,"githubRepo":20,"locale":21,"slug":16,"type":22},"Valian","linear-cli-skill","en","skill",{"evaluate":24,"extract":35},{"promptVersionExtension":25,"promptVersionScoring":26,"score":27,"tags":28,"targetMarket":33,"tier":34},"3.0.0","4.4.0",98,[16,29,30,31,32],"cli","issue-tracking","api","javascript","global","verified",{"commitSha":36},"HEAD",{"parentExtensionId":5,"repoId":38},"kd73g74veb0bb1m3x0pe77z0fx86mxr2",[31,29,30,32,16],{"evaluatedAt":41,"extractAt":42,"updatedAt":43},1778698385501,1778698324385,1778698414433,{"reviewCount":11},{"description":46,"installMethods":47,"name":16,"sourceUrl":17},"Work with Linear issues, teams, projects, and users via CLI",{"claudeCode":20},{"_creationTime":49,"_id":50,"extensionId":5,"locale":21,"result":51,"trustSignals":261,"workflow":275},1778698369946.1604,"kn79trrtp4gd1fvdmz2t3qed7x86n0n6",{"checks":52,"evaluatedAt":235,"extensionSummary":236,"features":237,"nonGoals":243,"promptVersionExtension":25,"promptVersionScoring":26,"purpose":247,"rationale":248,"score":249,"summary":250,"tags":251,"targetMarket":33,"tier":255,"useCases":256},[53,58,61,64,68,71,75,79,82,85,89,93,96,100,103,106,109,112,115,118,122,126,130,135,139,142,146,150,154,157,160,163,166,169,172,176,180,183,186,190,193,196,199,202,205,208,211,214,217,220,224,227,231],{"category":54,"check":55,"severity":56,"summary":57},"Practical Utility","Problem relevance","pass","The description clearly states the problem of managing Linear issues, teams, projects, and users via CLI.",{"category":54,"check":59,"severity":56,"summary":60},"Unique selling proposition","The skill provides a dedicated CLI for Linear, offering a more integrated and potentially efficient workflow than generic API calls or a broader CLI tool.",{"category":54,"check":62,"severity":56,"summary":63},"Production readiness","The plugin includes a functional CLI with setup, usage, and error handling documented, covering the lifecycle for common Linear operations.",{"category":65,"check":66,"severity":56,"summary":67},"Scope","Single responsibility principle","The plugin focuses solely on interacting with Linear resources (issues, teams, projects, users) via a CLI interface, maintaining a coherent domain.",{"category":65,"check":69,"severity":56,"summary":70},"Description quality","The displayed description accurately reflects the plugin's capability to manage Linear entities via CLI.",{"category":72,"check":73,"severity":56,"summary":74},"Invocation","Scoped tools","The CLI exposes narrow verb-noun tools for specific Linear resources and actions (e.g., `issue create`, `team list`), avoiding a single generalist execution tool.",{"category":76,"check":77,"severity":56,"summary":78},"Documentation","Configuration & parameter reference","All CLI arguments, options, and their purposes are documented in the README, including usage from environment variables and a `.env` file.",{"category":65,"check":80,"severity":56,"summary":81},"Tool naming","Tool names like `issue list`, `team create` are descriptive, kebab-case, and relevant to the Linear domain.",{"category":65,"check":83,"severity":56,"summary":84},"Minimal I/O surface","Input parameters are typed flags or structured via file/stdin, and outputs are either tab-separated or JSON, returning only promised payloads.",{"category":86,"check":87,"severity":56,"summary":88},"License","License usability","The MIT license is declared in the README and likely implied by the `npm install` dependency, suggesting permissive usage.",{"category":90,"check":91,"severity":56,"summary":92},"Maintenance","Commit recency","The last commit was on 2025-10-26, which is within the last 12 months.",{"category":90,"check":94,"severity":56,"summary":95},"Dependency Management","The project uses npm, indicating standard dependency management. Manual installation includes `npm install`.",{"category":97,"check":98,"severity":56,"summary":99},"Security","Secret Management","The API key is handled via environment variable or a `.env` file, with clear instructions not to commit it, indicating proper handling.",{"category":97,"check":101,"severity":56,"summary":102},"Injection","The CLI operates on structured inputs and interacts with the Linear API, with no indication of executing untrusted external data or instructions.",{"category":97,"check":104,"severity":56,"summary":105},"Transitive Supply-Chain Grenades","Dependencies are managed via npm, and runtime scripts are not observed to fetch or execute external code not included in the bundle.",{"category":97,"check":107,"severity":56,"summary":108},"Sandbox Isolation","The CLI operates within its defined scope, interacting with the Linear API and local `.env` files, without attempting to modify arbitrary external paths.",{"category":97,"check":110,"severity":56,"summary":111},"Sandbox escape primitives","No detached processes or retry loops around denied calls are apparent in the provided script snippets.",{"category":97,"check":113,"severity":56,"summary":114},"Data Exfiltration","The tool requires a user API key for authentication but does not appear to exfiltrate any confidential data to third parties.",{"category":97,"check":116,"severity":56,"summary":117},"Hidden Text Tricks","The README content is clean and does not contain hidden steering characters or obfuscation techniques.",{"category":119,"check":120,"severity":56,"summary":121},"Hooks","Opaque code execution","The script is plain JavaScript and not obfuscated, base64-encoded, or dynamically fetched.",{"category":123,"check":124,"severity":56,"summary":125},"Portability","Structural Assumption","The skill assumes a `.env` file can be placed adjacent to the executable, which is a reasonable convention and not overly restrictive.",{"category":127,"check":128,"severity":56,"summary":129},"Trust","Issues Attention","There are 0 open and 0 closed issues in the last 90 days, indicating a very low or no current issue load.",{"category":131,"check":132,"severity":133,"summary":134},"Versioning","Release Management","info","There is no explicit versioning declared in the README or manifest; installation via `Valian/linear-cli-skill` suggests installation from the main branch.",{"category":136,"check":137,"severity":56,"summary":138},"Execution","Validation","Input arguments and CLI commands are parsed and validated, with specific help messages provided for invalid inputs or missing arguments.",{"category":97,"check":140,"severity":56,"summary":141},"Unguarded Destructive Operations","The `delete issue` command is the primary destructive operation, and it requires explicit invocation and confirmation via the CLI.",{"category":143,"check":144,"severity":56,"summary":145},"Code Execution","Error Handling","The CLI provides clear error messages for missing API keys, invalid commands, and API errors, with exit codes indicating success or failure.",{"category":143,"check":147,"severity":148,"summary":149},"Logging","not_applicable","The extension does not perform destructive actions or outbound calls that necessitate a local audit log.",{"category":151,"check":152,"severity":148,"summary":153},"Compliance","GDPR","The extension primarily interacts with Linear API data and does not appear to handle personal data beyond what's necessary for task management.",{"category":151,"check":155,"severity":56,"summary":156},"Target market","The extension is global in scope, interacting with the Linear API which is accessible worldwide, and has no regional limitations.",{"category":123,"check":158,"severity":56,"summary":159},"Runtime stability","The script is written in JavaScript and relies on standard Node.js/npm, making it portable across POSIX and Windows systems.",{"category":76,"check":161,"severity":56,"summary":162},"README","The README file is comprehensive, detailing installation, setup, usage, and examples.",{"category":65,"check":164,"severity":56,"summary":165},"Tool surface size","The plugin exposes a reasonable number of tools (issue, user, team, project) for interacting with Linear.",{"category":72,"check":167,"severity":56,"summary":168},"Overlapping near-synonym tools","Each tool name (issue, user, team, project) covers a distinct resource, and actions within those resources are specific (list, view, create, update, delete).",{"category":76,"check":170,"severity":56,"summary":171},"Phantom features","All features described in the README, such as issue creation with various options and comment updates, correspond to implemented CLI commands.",{"category":173,"check":174,"severity":56,"summary":175},"Install","Installation instruction","The README provides clear installation instructions for Claude Code and manual npm installation, along with setup for API keys and copy-paste invocation examples.",{"category":177,"check":178,"severity":56,"summary":179},"Errors","Actionable error messages","Errors are descriptive, naming the failed operation and providing remediation steps, such as setting the API key or showing command help.",{"category":136,"check":181,"severity":133,"summary":182},"Pinned dependencies","Dependencies are managed via npm, but there is no explicit lockfile or shebang/header declaring interpreter and side effects for the script.",{"category":65,"check":184,"severity":148,"summary":185},"Dry-run preview","The 'delete issue' command is destructive, but no `--dry-run` option is explicitly mentioned or implemented.",{"category":187,"check":188,"severity":148,"summary":189},"Protocol","Idempotent retry & timeouts","The CLI interacts with the Linear API, but there is no explicit mention of per-call timeouts or idempotent retry mechanisms for API calls within the client.",{"category":151,"check":191,"severity":56,"summary":192},"Telemetry opt-in","No telemetry is mentioned or implemented in the README or code, satisfying the opt-in requirement by omission.",{"category":72,"check":194,"severity":56,"summary":195},"Name collisions","The plugin's main command is `linear`, which does not appear to collide with Claude Code built-ins or other bundled extensions.",{"category":72,"check":197,"severity":148,"summary":198},"Hooks-off mechanism","This plugin does not appear to utilize hooks, so a hooks-off mechanism is not applicable.",{"category":72,"check":200,"severity":148,"summary":201},"Hook matcher tightness","The plugin does not use hooks, so this check is not applicable.",{"category":97,"check":203,"severity":148,"summary":204},"Hook security","The plugin does not utilize hooks, so there is no risk of insecure hook behavior.",{"category":119,"check":206,"severity":148,"summary":207},"Silent prompt rewriting","The plugin does not have any `UserPromptSubmit` hooks.",{"category":97,"check":209,"severity":148,"summary":210},"Permission Hook","The plugin does not utilize any `PermissionRequest` hooks.",{"category":151,"check":212,"severity":148,"summary":213},"Hook privacy","The plugin does not use hooks for logging or telemetry.",{"category":143,"check":215,"severity":148,"summary":216},"Hook dependency","The plugin does not use hooks.",{"category":76,"check":218,"severity":56,"summary":219},"Feature Transparency","All declared functionality is described in the README, and there are no hooks declared in `plugin.json` that are not explained.",{"category":221,"check":222,"severity":56,"summary":223},"Convention","Layout convention adherence","The plugin structure follows conventions: `linear/SKILL.md` and `linear/` contains the CLI executable, with installation instructions in the README.",{"category":221,"check":225,"severity":148,"summary":226},"Plugin state","The plugin does not appear to maintain persistent state beyond potentially the `.env` file, which is user-managed.",{"category":97,"check":228,"severity":229,"summary":230},"Keychain-stored secrets","warning","The Linear API key is stored in a `.env` file or as an environment variable, which is not routed through `userConfig` for keychain storage.",{"category":232,"check":233,"severity":56,"summary":234},"Installation","Clean uninstall","The plugin does not spawn background daemons or install system-level services, ensuring a clean uninstall.",1778698367786,"This plugin provides a JavaScript-based Command Line Interface (CLI) for interacting with Linear, allowing users to list, view, create, update, and delete issues, as well as manage users, teams, and projects. It requires a Linear API key for authentication and supports reading input from files or stdin.",[238,239,240,241,242],"Manage Linear issues (list, view, create, update, delete, comment)","Manage Linear users, teams, and projects","Configure Linear API key via environment variable or .env file","Support for reading issue bodies from files or stdin","JSON output for machine readability",[244,245,246],"Providing a GUI interface for Linear","Managing Linear beyond issues, users, teams, and projects","Replacing the official Linear client for all advanced features","To enable users to efficiently manage Linear tasks, issues, and project details directly from their terminal within Claude.","The plugin is well-documented, secure, and focused on a single responsibility. The only notable finding is the lack of keychain storage for the API key and the absence of explicit dependency pinning.",86,"A well-implemented and documented CLI tool for managing Linear issues.",[16,29,252,253,254],"developer-tools","project-management","api-client","community",[257,258,259,260],"Quickly listing and viewing Linear issues without leaving the terminal","Creating new Linear issues with detailed descriptions, labels, and assignments","Updating issue status, assignee, or other fields programmatically","Automating Linear task management as part of development workflows",{"codeQuality":262,"collectedAt":264,"documentation":265,"maintenance":268,"security":273,"testCoverage":274},{"hasLockfile":263},true,1778698339367,{"descriptionLength":266,"readmeSize":267},59,8368,{"closedIssues90d":11,"forks":269,"hasChangelog":270,"openIssues90d":11,"pushedAt":271,"stars":272},2,false,1761516320000,13,{"hasNpmPackage":270,"smitheryVerified":270},{"hasCi":270,"hasTests":270},{"updatedAt":276},1778698369946,{"basePath":278,"githubOwner":19,"githubRepo":20,"locale":21,"slug":20,"type":279},"","plugin",{"_creationTime":281,"_id":282,"community":283,"display":284,"identity":287,"parentExtension":289,"providers":290,"relations":302,"tags":303,"workflow":304},1778698324385.7556,"k174552b98hc4bznbsmfheh3s986my0n",{"reviewCount":11},{"description":285,"installMethods":286,"name":20,"sourceUrl":17},"Lightweight CLI for working with Linear issues using the official Linear TypeScript SDK",{"claudeCode":15},{"basePath":278,"githubOwner":19,"githubRepo":20,"locale":21,"slug":20,"type":288},"marketplace",null,{"evaluate":291,"extract":297},{"promptVersionExtension":292,"promptVersionScoring":26,"score":293,"tags":294,"targetMarket":33,"tier":255},"3.1.0",79,[29,16,295,296,252],"typescript","sdk",{"commitSha":36,"marketplace":298,"plugin":300},{"name":20,"pluginCount":299},1,{"mcpCount":11,"provider":301,"skillCount":11},"classify",{"repoId":38},[29,252,16,296,295],{"evaluatedAt":305,"extractAt":42,"updatedAt":306},1778698339028,1778698413882,{"evaluate":308,"extract":310},{"promptVersionExtension":25,"promptVersionScoring":26,"score":249,"tags":309,"targetMarket":33,"tier":255},[16,29,252,253,254],{"commitSha":36,"plugin":311},{"mcpCount":11,"provider":301,"skillCount":299},{"parentExtensionId":282,"repoId":38},{"_creationTime":314,"_id":38,"identity":315,"providers":316,"workflow":348},1778698319869.1047,{"githubOwner":19,"githubRepo":20,"sourceUrl":17},{"classify":317,"discover":343,"github":346},{"commitSha":36,"extensions":318},[319,329,334],{"basePath":278,"description":285,"displayName":20,"installMethods":320,"rationale":321,"selectedPaths":322,"source":328,"sourceLanguage":21,"type":288},{"claudeCode":15},"marketplace.json at .claude-plugin/marketplace.json",[323,326],{"path":324,"priority":325},".claude-plugin/marketplace.json","mandatory",{"path":327,"priority":325},"README.md","rule",{"basePath":278,"description":46,"displayName":16,"installMethods":330,"rationale":331,"selectedPaths":332,"source":328,"sourceLanguage":21,"type":279},{"claudeCode":20},"inline plugin source from marketplace.json at /",[333],{"path":327,"priority":325},{"basePath":16,"description":13,"displayName":16,"installMethods":335,"rationale":336,"selectedPaths":337,"source":328,"sourceLanguage":21,"type":22},{"claudeCode":15},"SKILL.md frontmatter at linear/SKILL.md",[338,340],{"path":339,"priority":325},"SKILL.md",{"path":341,"priority":342},"scripts/linear-cli.js","low",{"sources":344},[345],"manual",{"closedIssues90d":11,"description":278,"forks":269,"openIssues90d":11,"pushedAt":271,"readmeSize":267,"stars":272,"topics":347},[],{"classifiedAt":349,"discoverAt":350,"extractAt":351,"githubAt":351,"updatedAt":349},1778698324209,1778698319869,1778698322274,[254,29,252,16,253],{"evaluatedAt":276,"extractAt":42,"updatedAt":354},1778698414233,[],[357,386,414,439,467],{"_creationTime":358,"_id":359,"community":360,"display":361,"identity":366,"providers":370,"relations":378,"tags":381,"workflow":382},1778698235845.4077,"k17f8b1e3611rh6d9e6peh43b186m55k",{"reviewCount":11},{"description":362,"installMethods":363,"name":364,"sourceUrl":365},"Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.",{"claudeCode":364},"context7-plugin","https://github.com/upstash/context7",{"basePath":367,"githubOwner":368,"githubRepo":369,"locale":21,"slug":369,"type":279},"plugins/claude/context7","upstash","context7",{"evaluate":371,"extract":377},{"promptVersionExtension":25,"promptVersionScoring":26,"score":372,"tags":373,"targetMarket":33,"tier":34},100,[374,252,375,376],"documentation","code-examples","mcp-server",{"commitSha":36},{"parentExtensionId":379,"repoId":380},"k17c6qmv4dnjycsp8aa4wyfbgh86n3jd","kd7955sg5wbf89gw527wdep66n86na9w",[375,252,374,376],{"evaluatedAt":383,"extractAt":384,"updatedAt":385},1778698268645,1778698235845,1778698495329,{"_creationTime":387,"_id":388,"community":389,"display":390,"identity":395,"providers":399,"relations":407,"tags":410,"workflow":411},1778685949178.778,"k17bj5k6q8nja3rmmrqkzrkhe986nps4",{"reviewCount":11},{"description":391,"installMethods":392,"name":393,"sourceUrl":394},"Commands for loading context and priming Claude for specific tasks",{"claudeCode":393},"commands-context-loading-priming","https://github.com/davepoon/buildwithclaude",{"basePath":396,"githubOwner":397,"githubRepo":398,"locale":21,"slug":393,"type":279},"plugins/commands-context-loading-priming","davepoon","buildwithclaude",{"evaluate":400,"extract":405},{"promptVersionExtension":25,"promptVersionScoring":26,"score":372,"tags":401,"targetMarket":33,"tier":34},[402,403,374,404,253],"context","ai-assisted-development","commands",{"commitSha":36,"license":406},"MIT",{"parentExtensionId":408,"repoId":409},"k17dg0d5d8g0a5nhm59gm0tkwx86nbt4","kd719kw54vhmcscq7ckdp59fg586mnt6",[403,404,402,374,253],{"evaluatedAt":412,"extractAt":413,"updatedAt":412},1778686378790,1778685949178,{"_creationTime":415,"_id":416,"community":417,"display":418,"identity":422,"providers":424,"relations":435,"tags":436,"workflow":437},1778685949178.7793,"k17c3jcn579adn2htt11vpsa9n86mk6q",{"reviewCount":11},{"description":419,"installMethods":420,"name":421,"sourceUrl":394},"Commands for integrating with external services and syncing data",{"claudeCode":421},"commands-integration-sync",{"basePath":423,"githubOwner":397,"githubRepo":398,"locale":21,"slug":421,"type":279},"plugins/commands-integration-sync",{"evaluate":425,"extract":434},{"promptVersionExtension":25,"promptVersionScoring":26,"score":426,"tags":427,"targetMarket":33,"tier":34},99,[428,429,430,16,431,432,433],"integration","synchronization","github","automation","workflow","command",{"commitSha":36,"license":406},{"parentExtensionId":408,"repoId":409},[431,433,430,428,16,429,432],{"evaluatedAt":438,"extractAt":413,"updatedAt":438},1778686487011,{"_creationTime":440,"_id":441,"community":442,"display":443,"identity":448,"providers":451,"relations":460,"tags":463,"workflow":464},1778687331538.1177,"k178kwbfyfg1skt7gxj7js8avd86mf65",{"reviewCount":11},{"description":444,"installMethods":445,"name":446,"sourceUrl":447},"Sentry error tracking and performance monitoring via MCP",{"claudeCode":446},"sentry-mcp","https://github.com/getsentry/sentry-mcp",{"basePath":449,"githubOwner":450,"githubRepo":446,"locale":21,"slug":446,"type":279},"plugins/sentry-mcp","getsentry",{"evaluate":452,"extract":459},{"promptVersionExtension":25,"promptVersionScoring":26,"score":453,"tags":454,"targetMarket":33,"tier":34},96,[455,456,457,458,254],"sentry","mcp","error-tracking","performance-monitoring",{"commitSha":36},{"parentExtensionId":461,"repoId":462},"k17fvvcgk3nn01wa6bz2g5zszx86nscd","kd7frmsrp1bfgvw27w2cfny9x186nas0",[254,457,456,458,455],{"evaluatedAt":465,"extractAt":466,"updatedAt":465},1778687371505,1778687331538,{"_creationTime":468,"_id":469,"community":470,"display":471,"identity":475,"providers":478,"relations":483,"tags":485,"workflow":486},1778698958253.3062,"k1703fv25nqbsq3vxrhj2vb4s586mf1c",{"reviewCount":11},{"description":472,"installMethods":473,"name":16,"sourceUrl":474},"Managing Linear issues, projects, and teams for issue tracking, status updates, querying projects, and managing team workflows.",{"claudeCode":16},"https://github.com/wrsmith108/linear-claude-skill",{"basePath":278,"githubOwner":476,"githubRepo":477,"locale":21,"slug":477,"type":279},"wrsmith108","linear-claude-skill",{"evaluate":479,"extract":482},{"promptVersionExtension":25,"promptVersionScoring":26,"score":480,"tags":481,"targetMarket":33,"tier":255},75,[16,253,30,431,29,296],{"commitSha":36,"license":406},{"repoId":484},"kd78a5nrs9mk5afrg9kybb93px86mmdz",[431,29,30,16,253,296],{"evaluatedAt":487,"extractAt":488,"updatedAt":489},1778698984156,1778698958253,1778699006562]