[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-plugin-wrsmith108-linear-claude-skill-en":3,"guides-for-wrsmith108-linear-claude-skill":314,"similar-k1703fv25nqbsq3vxrhj2vb4s586mf1c-en":315},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":14,"identity":258,"isFallback":254,"parentExtension":263,"providers":264,"relations":269,"repo":271,"tags":310,"workflow":311},1778698958253.3062,"k1703fv25nqbsq3vxrhj2vb4s586mf1c",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":12,"sourceUrl":13},"Managing Linear issues, projects, and teams for issue tracking, status updates, querying projects, and managing team workflows.",{"claudeCode":12},"linear","https://github.com/wrsmith108/linear-claude-skill",{"_creationTime":15,"_id":16,"extensionId":5,"locale":17,"result":18,"trustSignals":237,"workflow":256},1778698984155.9211,"kn749zzv4nyvva4wc70sbbdpgh86m957","en",{"checks":19,"evaluatedAt":206,"extensionSummary":207,"features":208,"nonGoals":214,"promptVersionExtension":218,"promptVersionScoring":219,"purpose":220,"rationale":221,"score":222,"summary":223,"tags":224,"targetMarket":230,"tier":231,"useCases":232},[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","The description clearly names the user problem of managing Linear issues, projects, and teams.",{"category":21,"check":26,"severity":23,"summary":27},"Unique selling proposition","The extension offers significant value beyond a simple API wrapper by providing SDK automation, GraphQL access, and structured workflows for project management, which is more than default LLM behavior.",{"category":21,"check":29,"severity":23,"summary":30},"Production readiness","The extension covers the complete lifecycle of managing Linear items, including creation, updates, bulk operations, and image uploads, indicating readiness for real-world workflows.",{"category":32,"check":33,"severity":23,"summary":34},"Scope","Single responsibility principle","The plugin focuses coherently on managing Linear issues, projects, and teams, avoiding unrelated adjacent domains.",{"category":32,"check":36,"severity":23,"summary":37},"Description quality","The displayed description accurately reflects the extension's capabilities for managing Linear items.",{"category":39,"check":40,"severity":23,"summary":41},"Invocation","Scoped tools","Tools are narrowly scoped verb-noun specialists (e.g., `create-initiative`, `status`, `labels taxonomy`), facilitating agent selection.",{"category":43,"check":44,"severity":45,"summary":46},"Documentation","Configuration & parameter reference","info","While parameters and options are largely documented, the README implies an optional `lin` CLI integration and official Linear MCP server setup without explicitly detailing default configurations or precedence for these optional components.",{"category":32,"check":48,"severity":23,"summary":49},"Tool naming","Tool names like `create-initiative`, `create-project`, `status`, and `labels taxonomy` are descriptive and adhere to the domain.",{"category":32,"check":51,"severity":23,"summary":52},"Minimal I/O surface","Inputs are well-defined command-line arguments or structured JSON, and outputs appear to be focused on the promised payload without extraneous data.",{"category":54,"check":55,"severity":23,"summary":56},"License","License usability","The extension is licensed under MIT, as indicated by the LICENSE file and the trust signals.",{"category":58,"check":59,"severity":23,"summary":60},"Maintenance","Commit recency","The last commit was on April 19, 2026, which is within the last 3 months.",{"category":58,"check":62,"severity":23,"summary":63},"Dependency Management","The project uses npm install and has a `package.json`, suggesting standard dependency management. The presence of `npm install` implies lockfiles are likely managed.",{"category":65,"check":66,"severity":67,"summary":68},"Security","Secret Management","warning","The README and install instructions mention `LINEAR_API_KEY` and suggest adding it to the shell profile. The `hooks/post-edit.sh` script also references this key. While it suggests user configuration, it doesn't explicitly state it's handled via `userConfig` with `sensitive: true` as per security best practices.",{"category":65,"check":70,"severity":23,"summary":71},"Injection","The scripts appear to treat file content as data, and there are no indications of executing arbitrary instructions from loaded third-party data.",{"category":65,"check":73,"severity":23,"summary":74},"Transitive Supply-Chain Grenades","The extension bundles its code and dependencies locally via `npm install` and `npm run build`, with no runtime fetching of code or scripts from remote URLs.",{"category":65,"check":76,"severity":23,"summary":77},"Sandbox Isolation","The scripts operate within the project's directory and use standard Node.js/bash operations. There are no indications of attempting to modify files outside the project scope.",{"category":65,"check":79,"severity":23,"summary":80},"Sandbox escape primitives","No detached process spawns or deny-retry loops were observed in the provided scripts.",{"category":65,"check":82,"severity":23,"summary":83},"Data Exfiltration","The extension's primary function is interacting with the Linear API. It requires a user-provided API key but does not appear to exfiltrate confidential data or make undocumented outbound calls.",{"category":65,"check":85,"severity":23,"summary":86},"Hidden Text Tricks","The bundled content and README do not contain hidden steering tricks, invisible characters, or other obfuscation methods.",{"category":88,"check":89,"severity":23,"summary":90},"Hooks","Opaque code execution","The `hooks/post-edit.sh` script is plain bash and readable. The build process pre-compiles TS to JS, which is standard and not considered opaque execution in this context.",{"category":92,"check":93,"severity":23,"summary":94},"Portability","Structural Assumption","The extension assumes standard Node.js project structure and uses relative paths. The `~/.claude/skills/linear` path for installation is a convention that Claude Code handles.",{"category":96,"check":97,"severity":23,"summary":98},"Trust","Issues Attention","There are 0 open issues and 1 closed issue in the last 90 days, indicating good maintainer responsiveness.",{"category":100,"check":101,"severity":23,"summary":102},"Versioning","Release Management","The extension has a version (`2.3.1`) in `plugin.json` and a `CHANGELOG.md` file, indicating clear release management.",{"category":104,"check":105,"severity":67,"summary":106},"Code Execution","Validation","While the scripts are written in TypeScript and likely use basic validation, the presence of a bash script (`hooks/post-edit.sh`) that relies on `grep` and `jq` for parsing input, without explicit schema validation, poses a risk for malformed inputs.",{"category":65,"check":108,"severity":23,"summary":109},"Unguarded Destructive Operations","The primary operations interact with the Linear API, which has its own safeguards. The `npm run ops` commands are transactional in nature and do not appear to perform destructive file operations without user interaction.",{"category":104,"check":111,"severity":23,"summary":112},"Error Handling","The use of `set -e` in the bash hook and standard Node.js error handling practices (as implied by TypeScript usage) suggest that errors are likely caught and reported.",{"category":104,"check":114,"severity":23,"summary":115},"Logging","The `hooks/post-edit.sh` script prints context to stdout, which Claude Code captures. This serves as a form of audit logging for hook execution. The README also implies options for sync verification.",{"category":117,"check":118,"severity":119,"summary":120},"Compliance","GDPR","not_applicable","The extension primarily interacts with Linear API data and does not appear to process personal data beyond what is necessary for issue management, with user-provided API keys handled via configuration.",{"category":117,"check":122,"severity":23,"summary":123},"Target market","The extension's functionality is tied to the Linear platform and does not exhibit any geographical or jurisdictional limitations, thus it's global.",{"category":92,"check":125,"severity":23,"summary":126},"Runtime stability","The extension is built with Node.js and standard bash scripts, making it broadly compatible across POSIX-compliant systems. The optional `lin` CLI is handled gracefully.",{"category":43,"check":128,"severity":23,"summary":129},"README","The README is comprehensive, clearly stating the extension's purpose, features, installation, and usage examples.",{"category":32,"check":131,"severity":23,"summary":132},"Tool surface size","The extension exposes a manageable number of commands (e.g., `create-initiative`, `create-project`, `status`, `labels taxonomy`, `sync`) and SDK patterns, fitting within the target range.",{"category":39,"check":134,"severity":23,"summary":135},"Overlapping near-synonym tools","Tool names cover distinct actions, avoiding near-synonyms for clarity and precise agent invocation.",{"category":43,"check":137,"severity":23,"summary":138},"Phantom features","All features mentioned in the README, such as image uploads, bulk sync, and label management, have corresponding implementations or documented usage patterns.",{"category":140,"check":141,"severity":23,"summary":142},"Install","Installation instruction","The README provides clear, copy-pasteable installation instructions, API key setup guidance, and invocation examples for core commands.",{"category":144,"check":145,"severity":23,"summary":146},"Errors","Actionable error messages","The `setup.ts` script is designed to provide actionable guidance for missing configurations, and the general error handling appears robust.",{"category":148,"check":149,"severity":23,"summary":150},"Execution","Pinned dependencies","The project uses `npm install` and `npm ci`, which, when used with a `package-lock.json` (implied by `npm install` and `package.json`), effectively pins dependencies.",{"category":32,"check":152,"severity":45,"summary":153},"Dry-run preview","While the extension offers extensive Linear API interaction, there's no explicit `--dry-run` flag mentioned for state-changing operations like creating issues or projects.",{"category":155,"check":156,"severity":45,"summary":157},"Protocol","Idempotent retry & timeouts","The Linear API itself likely handles idempotency and timeouts for its operations. The extension code does not explicitly detail custom retry logic or hard timeouts for its API calls.",{"category":117,"check":159,"severity":23,"summary":160},"Telemetry opt-in","The extension does not appear to collect or transmit telemetry data, adhering to opt-in principles.",{"category":39,"check":162,"severity":23,"summary":163},"Name collisions","The bundled tools and commands are distinct and specific to the Linear domain, avoiding collisions with built-in Claude Code commands or other potential skill names.",{"category":39,"check":165,"severity":119,"summary":166},"Hooks-off mechanism","The plugin does not appear to use the hooks mechanism in a way that would necessitate a separate 'hooks-off' toggle.",{"category":39,"check":168,"severity":23,"summary":169},"Hook matcher tightness","The `hooks/post-edit.sh` script has a tight matcher for file extensions and skips common directories like `node_modules` and `dist/`.",{"category":65,"check":171,"severity":23,"summary":172},"Hook security","The `post-edit.sh` hook is primarily for logging and suggestion, not destructive operations or network calls, and is gated by specific file path checks.",{"category":88,"check":174,"severity":23,"summary":175},"Silent prompt rewriting","The `post-edit.sh` hook outputs context to stdout, which Claude Code captures, making any prompt modifications visible.",{"category":65,"check":177,"severity":119,"summary":178},"Permission Hook","The plugin does not appear to implement any `PermissionRequest` hooks.",{"category":117,"check":180,"severity":23,"summary":181},"Hook privacy","The hook only logs locally to stdout and does not send any data over the network.",{"category":104,"check":183,"severity":23,"summary":184},"Hook dependency","The `post-edit.sh` hook is a short, readable bash script residing within the repository.",{"category":43,"check":186,"severity":23,"summary":187},"Feature Transparency","The README thoroughly describes the features, including the `post-edit.sh` hook and its configuration.",{"category":189,"check":190,"severity":23,"summary":191},"Convention","Layout convention adherence","The `.claude-plugin/plugin.json` is present and correctly configured. The `bin/` directory is not used, and the hook script is documented in the README.",{"category":189,"check":193,"severity":23,"summary":194},"Plugin state","The plugin does not appear to manage persistent state that would require `${CLAUDE_PLUGIN_DATA}`.",{"category":65,"check":196,"severity":67,"summary":197},"Keychain-stored secrets","The `LINEAR_API_KEY` is expected to be set as an environment variable. It is not explicitly handled via `userConfig` with `sensitive: true`, meaning it might be stored in plain text in settings.json.",{"category":199,"check":200,"severity":23,"summary":201},"Dependencies","Tagged release sourcing","The extension lists an official Linear MCP server endpoint, implying the use of a stable, documented service rather than a community fork or un-tagged release.",{"category":203,"check":204,"severity":23,"summary":205},"Installation","Clean uninstall","The installation involves cloning a directory and running `npm install`, which are session-scoped and do not leave background daemons or persistent system agents that would survive an uninstall.",1778698984039,"This plugin provides a set of CLI commands and SDK patterns to manage Linear issues, projects, and teams. It supports high-level operations, sub-issue management, label taxonomy, bulk synchronization, image uploads, and direct GraphQL API access, with optional integration for the `lin` CLI and official Linear MCP server.",[209,210,211,212,213],"Comprehensive Linear issue and project management","SDK automation and GraphQL API access","Bulk synchronization of code changes with Linear","Image upload and management","Automated configuration validation and setup checks",[215,216,217],"Managing issues outside of Linear","Replacing the Linear application entirely","Providing generic project management capabilities unrelated to Linear","3.0.0","4.4.0","To empower users to efficiently manage all aspects of their Linear workflow, from issue tracking to project status updates and team coordination, directly from Claude Code.","Secret management and validation checks were flagged, but overall quality is high.",75,"A robust and well-documented plugin for comprehensive Linear project and issue management.",[12,225,226,227,228,229],"project-management","issue-tracking","automation","cli","sdk","global","community",[233,234,235,236],"Creating and managing complex issue hierarchies (parent-child relationships)","Automating project status updates and reporting","Synchronizing development progress with issue tracking","Applying standardized labels for consistent categorization",{"codeQuality":238,"collectedAt":240,"documentation":241,"maintenance":244,"popularity":250,"security":252,"testCoverage":255},{"hasLockfile":239},true,1778698959937,{"descriptionLength":242,"readmeSize":243},127,12870,{"closedIssues90d":245,"forks":246,"hasChangelog":239,"manifestVersion":247,"openIssues90d":8,"pushedAt":248,"stars":249},1,12,"2.3.1",1776631663000,101,{"npmDownloads":251},46,{"hasNpmPackage":239,"license":253,"smitheryVerified":254},"MIT",false,{"hasCi":239,"hasTests":239},{"updatedAt":257},1778698984156,{"basePath":259,"githubOwner":260,"githubRepo":261,"locale":17,"slug":261,"type":262},"","wrsmith108","linear-claude-skill","plugin",null,{"evaluate":265,"extract":267},{"promptVersionExtension":218,"promptVersionScoring":219,"score":222,"tags":266,"targetMarket":230,"tier":231},[12,225,226,227,228,229],{"commitSha":268,"license":253},"HEAD",{"repoId":270},"kd78a5nrs9mk5afrg9kybb93px86mmdz",{"_creationTime":272,"_id":270,"identity":273,"providers":274,"workflow":305},1778698951344.7036,{"githubOwner":260,"githubRepo":261,"sourceUrl":13},{"classify":275,"discover":292,"extract":295,"github":297,"npm":304},{"commitSha":268,"extensions":276},[277],{"basePath":259,"description":10,"displayName":12,"installMethods":278,"license":253,"rationale":279,"selectedPaths":280,"source":291,"sourceLanguage":17,"type":262},{"claudeCode":12},"plugin manifest at .claude-plugin/plugin.json",[281,284,286,289],{"path":282,"priority":283},".claude-plugin/plugin.json","mandatory",{"path":285,"priority":283},"README.md",{"path":287,"priority":288},"LICENSE","high",{"path":290,"priority":288},"hooks/post-edit.sh","rule",{"sources":293},[294],"manual",{"npmPackage":296},"claude-plugin-linear",{"closedIssues90d":245,"description":298,"forks":246,"license":253,"openIssues90d":8,"pushedAt":248,"readmeSize":243,"stars":249,"topics":299},"Agent skill for managing Linear issues, projects, and teams. MCP tools, SDK automation, GraphQL API patterns.",[300,301,302,12,225,303],"claude-code","claude-code-skills","claude-skills","claude-skill",{"downloads":251},{"classifiedAt":306,"discoverAt":307,"extractAt":308,"githubAt":308,"npmAt":309,"updatedAt":306},1778698957999,1778698951344,1778698954010,1778698956021,[227,228,226,12,225,229],{"evaluatedAt":257,"extractAt":312,"updatedAt":313},1778698958253,1778699006562,[],[316,346,370,400],{"_creationTime":317,"_id":318,"community":319,"display":320,"identity":325,"providers":329,"relations":339,"tags":342,"workflow":343},1778685949178.778,"k17bj5k6q8nja3rmmrqkzrkhe986nps4",{"reviewCount":8},{"description":321,"installMethods":322,"name":323,"sourceUrl":324},"Commands for loading context and priming Claude for specific tasks",{"claudeCode":323},"commands-context-loading-priming","https://github.com/davepoon/buildwithclaude",{"basePath":326,"githubOwner":327,"githubRepo":328,"locale":17,"slug":323,"type":262},"plugins/commands-context-loading-priming","davepoon","buildwithclaude",{"evaluate":330,"extract":338},{"promptVersionExtension":218,"promptVersionScoring":219,"score":331,"tags":332,"targetMarket":230,"tier":337},100,[333,334,335,336,225],"context","ai-assisted-development","documentation","commands","verified",{"commitSha":268,"license":253},{"parentExtensionId":340,"repoId":341},"k17dg0d5d8g0a5nhm59gm0tkwx86nbt4","kd719kw54vhmcscq7ckdp59fg586mnt6",[334,336,333,335,225],{"evaluatedAt":344,"extractAt":345,"updatedAt":344},1778686378790,1778685949178,{"_creationTime":347,"_id":348,"community":349,"display":350,"identity":354,"providers":356,"relations":366,"tags":367,"workflow":368},1778685949178.7793,"k17c3jcn579adn2htt11vpsa9n86mk6q",{"reviewCount":8},{"description":351,"installMethods":352,"name":353,"sourceUrl":324},"Commands for integrating with external services and syncing data",{"claudeCode":353},"commands-integration-sync",{"basePath":355,"githubOwner":327,"githubRepo":328,"locale":17,"slug":353,"type":262},"plugins/commands-integration-sync",{"evaluate":357,"extract":365},{"promptVersionExtension":218,"promptVersionScoring":219,"score":358,"tags":359,"targetMarket":230,"tier":337},99,[360,361,362,12,227,363,364],"integration","synchronization","github","workflow","command",{"commitSha":268,"license":253},{"parentExtensionId":340,"repoId":341},[227,364,362,360,12,361,363],{"evaluatedAt":369,"extractAt":345,"updatedAt":369},1778686487011,{"_creationTime":371,"_id":372,"community":373,"display":374,"identity":379,"providers":382,"relations":392,"tags":395,"workflow":396},1778687211290.4128,"k17451dagmv6yj99gz9rsr89nd86ma27",{"reviewCount":8},{"description":375,"installMethods":376,"name":377,"sourceUrl":378},"AI-supervised issue tracker for coding workflows. Manage tasks, discover work, and maintain context with simple CLI commands.",{"claudeCode":377},"beads","https://github.com/gastownhall/beads",{"basePath":380,"githubOwner":381,"githubRepo":377,"locale":17,"slug":377,"type":262},"plugins/beads","gastownhall",{"evaluate":383,"extract":389},{"promptVersionExtension":218,"promptVersionScoring":219,"score":384,"tags":385,"targetMarket":230,"tier":337},93,[226,386,387,388,228],"task-management","ai-workflow","agent-memory",{"commitSha":268,"license":253,"plugin":390},{"mcpCount":8,"provider":391,"skillCount":245},"classify",{"parentExtensionId":393,"repoId":394},"k1721bhcs2nn4r096p6g9fs9m186m5gz","kd7a6ybfkhncqe1anf5apcya0186nzp5",[388,387,228,226,386],{"evaluatedAt":397,"extractAt":398,"updatedAt":399},1778687272081,1778687211290,1778687516540,{"_creationTime":401,"_id":402,"community":403,"display":404,"identity":409,"providers":411,"relations":419,"tags":422,"workflow":423},1778698324385.7559,"k172xer9cxmwv2xx0nn63p672h86nyh8",{"reviewCount":8},{"description":405,"installMethods":406,"name":12,"sourceUrl":408},"Work with Linear issues, teams, projects, and users via CLI",{"claudeCode":407},"linear-cli-skill","https://github.com/Valian/linear-cli-skill",{"basePath":259,"githubOwner":410,"githubRepo":407,"locale":17,"slug":407,"type":262},"Valian",{"evaluate":412,"extract":417},{"promptVersionExtension":218,"promptVersionScoring":219,"score":413,"tags":414,"targetMarket":230,"tier":231},86,[12,228,415,225,416],"developer-tools","api-client",{"commitSha":268,"plugin":418},{"mcpCount":8,"provider":391,"skillCount":245},{"parentExtensionId":420,"repoId":421},"k174552b98hc4bznbsmfheh3s986my0n","kd73g74veb0bb1m3x0pe77z0fx86mxr2",[416,228,415,12,225],{"evaluatedAt":424,"extractAt":425,"updatedAt":426},1778698369946,1778698324385,1778698414233]