[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-Valian-linear-en":3,"guides-for-Valian-linear":345,"similar-k178s738a4pedaht0fhjjy320d86mrv5-en":346},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":240,"isFallback":232,"parentExtension":244,"providers":298,"relations":302,"repo":303,"tags":342,"workflow":343},1778698324385.756,"k178s738a4pedaht0fhjjy320d86mrv5",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"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":12},"Valian/linear-cli-skill","linear","https://github.com/Valian/linear-cli-skill",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":223,"workflow":238},1778698385501.137,"kn7f8n1pp63fbdc3d5q4z62b2n86n9b2","en",{"checks":20,"evaluatedAt":193,"extensionSummary":194,"features":195,"nonGoals":201,"promptVersionExtension":205,"promptVersionScoring":206,"purpose":207,"rationale":208,"score":209,"summary":210,"tags":211,"targetMarket":216,"tier":217,"useCases":218},[21,26,29,32,36,39,43,47,50,53,57,61,64,68,71,74,77,80,83,86,90,94,98,102,107,110,114,118,122,125,128,131,134,137,140,144,148,151,154,158,161,164,167,170,174,177,180,183,186,190],{"category":22,"check":23,"severity":24,"summary":25},"Practical Utility","Problem relevance","pass","The description clearly states the problem of working with Linear issues and the skill's purpose to facilitate this via CLI.",{"category":22,"check":27,"severity":24,"summary":28},"Unique selling proposition","The skill offers a dedicated CLI interface for Linear issues, which provides a more structured and scriptable way to interact with Linear than general-purpose prompting.",{"category":22,"check":30,"severity":24,"summary":31},"Production readiness","The skill provides a complete lifecycle for managing Linear issues, including creation, updates, deletion, and commenting, with clear setup and usage instructions.",{"category":33,"check":34,"severity":24,"summary":35},"Scope","Single responsibility principle","The extension focuses solely on interacting with Linear issues and related entities (users, teams, projects) via its CLI, adhering to a single domain.",{"category":33,"check":37,"severity":24,"summary":38},"Description quality","The description accurately reflects the skill's functionality, clearly outlining its purpose and scope for managing Linear issues via CLI.",{"category":40,"check":41,"severity":24,"summary":42},"Invocation","Scoped tools","The CLI exposes narrow, verb-noun scoped tools for interacting with Linear resources (e.g., `issue create`, `user list`).",{"category":44,"check":45,"severity":24,"summary":46},"Documentation","Configuration & parameter reference","All commands, arguments, and options are documented with clear examples, including required parameters and their purpose.",{"category":33,"check":48,"severity":24,"summary":49},"Tool naming","Tool names are descriptive and follow a consistent resource-action pattern (e.g., `issue list`, `user list`).",{"category":33,"check":51,"severity":24,"summary":52},"Minimal I/O surface","Input parameters are well-defined via flags and arguments, and output formats are structured (TSV or JSON) without extraneous data.",{"category":54,"check":55,"severity":24,"summary":56},"License","License usability","The extension is licensed under the MIT license, which is a permissive open-source license.",{"category":58,"check":59,"severity":24,"summary":60},"Maintenance","Commit recency","The last commit was on 2025-10-26, which is within the last 90 days.",{"category":58,"check":62,"severity":24,"summary":63},"Dependency Management","The project uses npm for dependency management and has a `package.json` with dependencies listed.",{"category":65,"check":66,"severity":24,"summary":67},"Security","Secret Management","The API key is handled via environment variables or a `.env` file, and the script correctly instructs users on how to set it up without hardcoding.",{"category":65,"check":69,"severity":24,"summary":70},"Injection","The script does not appear to load or execute arbitrary third-party data or code at runtime.",{"category":65,"check":72,"severity":24,"summary":73},"Transitive Supply-Chain Grenades","The extension does not fetch external content at runtime or execute arbitrary code, and all dependencies are managed via npm.",{"category":65,"check":75,"severity":24,"summary":76},"Sandbox Isolation","The script operates within its defined directory and uses standard Node.js APIs, with no evidence of attempting to write outside its scope.",{"category":65,"check":78,"severity":24,"summary":79},"Sandbox escape primitives","No detached process spawns or retry loops around denied tool calls were detected in the script.",{"category":65,"check":81,"severity":24,"summary":82},"Data Exfiltration","The script handles API keys securely and does not exfiltrate any user data or confidential information.",{"category":65,"check":84,"severity":24,"summary":85},"Hidden Text Tricks","The bundled content appears to be free of hidden-steering tricks, with clean printable ASCII and expected Unicode.",{"category":87,"check":88,"severity":24,"summary":89},"Hooks","Opaque code execution","The JavaScript code is readable and not obfuscated, base64-encoded, or dynamically fetched.",{"category":91,"check":92,"severity":24,"summary":93},"Portability","Structural Assumption","The script correctly uses `path.join` and `fileURLToPath` to handle paths relative to the executable, avoiding hardcoded system paths.",{"category":95,"check":96,"severity":24,"summary":97},"Trust","Issues Attention","There are 0 open and 0 closed issues in the last 90 days, indicating a new or inactive issue tracker, consistent with a pass.",{"category":99,"check":100,"severity":24,"summary":101},"Versioning","Release Management","The skill has a `version` field in its frontmatter (`0.1.0`), indicating versioning is in place.",{"category":103,"check":104,"severity":105,"summary":106},"Execution","Validation","info","Input parameters are parsed but not explicitly validated against a schema library, beyond basic argument checking for required fields.",{"category":65,"check":108,"severity":24,"summary":109},"Unguarded Destructive Operations","The delete operation is a soft delete (moves to trash), and the script provides clear error messages and help text, implying user awareness is intended.",{"category":111,"check":112,"severity":24,"summary":113},"Code Execution","Error Handling","The script includes explicit error handling for API key issues, file reading, and command-specific errors, exiting with non-zero codes.",{"category":111,"check":115,"severity":116,"summary":117},"Logging","not_applicable","The skill is primarily a CLI tool that prints output to stdout/stderr. It does not perform destructive actions or outbound calls that would necessitate a local audit log.",{"category":119,"check":120,"severity":116,"summary":121},"Compliance","GDPR","The skill interacts with Linear API keys and issue data, but does not appear to handle personal data beyond what's necessary for issue management.",{"category":119,"check":123,"severity":24,"summary":124},"Target market","The extension operates globally via the Linear API and does not have any regional or jurisdictional limitations.",{"category":91,"check":126,"severity":24,"summary":127},"Runtime stability","The script uses standard Node.js modules and should be portable across POSIX-compatible systems with Node.js installed.",{"category":44,"check":129,"severity":24,"summary":130},"README","A comprehensive README file is present, detailing installation, setup, usage, and advanced features.",{"category":33,"check":132,"severity":24,"summary":133},"Tool surface size","The extension exposes a manageable number of tools (issue, user, team, project with their respective actions), fitting within the target range.",{"category":40,"check":135,"severity":24,"summary":136},"Overlapping near-synonym tools","Tool names are distinct and follow a clear resource-action pattern, avoiding near-synonyms for similar operations.",{"category":44,"check":138,"severity":24,"summary":139},"Phantom features","All advertised features and commands in the README and SKILL.md have corresponding implementations in the CLI script.",{"category":141,"check":142,"severity":24,"summary":143},"Install","Installation instruction","The README provides clear, copy-pasteable installation instructions for Claude Code and manual setup, including API key configuration.",{"category":145,"check":146,"severity":24,"summary":147},"Errors","Actionable error messages","The script provides actionable error messages for missing API keys, invalid commands, and missing arguments, guiding the user on how to resolve them.",{"category":103,"check":149,"severity":24,"summary":150},"Pinned dependencies","Dependencies are managed via npm, and the `package.json` lists them. The script includes a shebang for Node.js execution.",{"category":33,"check":152,"severity":116,"summary":153},"Dry-run preview","The 'delete' operation is a soft delete (moves to trash), and other operations are primarily read-only or create/update actions where a dry-run is not directly applicable or necessary for preview.",{"category":155,"check":156,"severity":116,"summary":157},"Protocol","Idempotent retry & timeouts","The CLI tool itself does not perform network calls directly; it relies on the `@linear/sdk` which handles its own timeouts and retries. Operations like creating or updating issues are generally idempotent by nature when referencing existing issue IDs.",{"category":119,"check":159,"severity":24,"summary":160},"Telemetry opt-in","The extension does not emit any telemetry.",{"category":40,"check":162,"severity":24,"summary":163},"Precise Purpose","The description clearly states the purpose (work with Linear issues via CLI) and when to use it (whenever the user asks about Linear issues, creating, updating, etc.).",{"category":40,"check":165,"severity":24,"summary":166},"Concise Frontmatter","The frontmatter is concise and effectively summarizes the skill's core capability and trigger phrases.",{"category":44,"check":168,"severity":24,"summary":169},"Concise Body","The SKILL.md is reasonably concise, detailing commands and setup without excessive length.",{"category":171,"check":172,"severity":116,"summary":173},"Context","Progressive Disclosure","The skill is a CLI tool with straightforward commands and does not require progressive disclosure of complex procedures.",{"category":171,"check":175,"severity":116,"summary":176},"Forked exploration","This skill is a direct CLI tool and does not involve deep exploration or code review that would require forking context.",{"category":22,"check":178,"severity":24,"summary":179},"Usage examples","Multiple clear, ready-to-use examples are provided for various commands, demonstrating input, invocation, and expected outcomes.",{"category":22,"check":181,"severity":24,"summary":182},"Edge cases","The skill handles edge cases such as missing API keys, invalid commands, and API errors with informative messages and recovery steps.",{"category":111,"check":184,"severity":116,"summary":185},"Tool Fallback","The skill does not rely on external MCP servers or other tools; it's a self-contained Node.js script.",{"category":187,"check":188,"severity":24,"summary":189},"Safety","Halt on unexpected state","The script halts execution and reports errors for unexpected states like missing API keys or invalid commands.",{"category":91,"check":191,"severity":24,"summary":192},"Cross-skill coupling","The skill is self-contained and does not implicitly rely on other skills; its functionality is standalone.",1778698385390,"This skill provides a Node.js-based command-line interface for interacting with Linear issues, allowing users to list, view, create, update, delete, and comment on issues, as well as manage users, teams, and projects. It uses the `@linear/sdk` and `dotenv` for configuration, supporting API key setup via environment variables or a `.env` file.",[196,197,198,199,200],"Create, view, update, and delete Linear issues","Add comments to Linear issues","List users, teams, and projects","Filter issues by team, assignee, and status","Read issue descriptions from files or stdin",[202,203,204],"Managing Linear projects beyond listing them.","Interacting with Linear beyond issue tracking functionalities.","Providing a full-fledged Linear client; focuses on core issue management via CLI.","3.0.0","4.4.0","To enable users to efficiently manage Linear issues directly from their command line interface within the Claude environment.","The extension is well-documented, production-ready, and has a clear scope with no significant issues found.",98,"A robust and well-documented CLI skill for managing Linear issues, offering comprehensive functionality with clear instructions.",[13,212,213,214,215],"cli","issue-tracking","api","javascript","global","verified",[219,220,221,222],"Creating bug reports or feature requests in Linear from the command line.","Quickly updating the status or assignee of an issue.","Viewing detailed information about an issue without leaving the terminal.","Automating issue management tasks through scripting.",{"codeQuality":224,"collectedAt":226,"documentation":227,"maintenance":230,"security":236,"testCoverage":237},{"hasLockfile":225},true,1778698370245,{"descriptionLength":228,"readmeSize":229},184,8368,{"closedIssues90d":8,"forks":231,"hasChangelog":232,"manifestVersion":233,"openIssues90d":8,"pushedAt":234,"stars":235},2,false,"0.1.0",1761516320000,13,{"hasNpmPackage":232,"smitheryVerified":232},{"hasCi":232,"hasTests":232},{"updatedAt":239},1778698385501,{"basePath":13,"githubOwner":241,"githubRepo":242,"locale":18,"slug":13,"type":243},"Valian","linear-cli-skill","skill",{"_creationTime":245,"_id":246,"community":247,"display":248,"identity":251,"parentExtension":254,"providers":285,"relations":293,"tags":294,"workflow":295},1778698324385.7559,"k172xer9cxmwv2xx0nn63p672h86nyh8",{"reviewCount":8},{"description":249,"installMethods":250,"name":13,"sourceUrl":14},"Work with Linear issues, teams, projects, and users via CLI",{"claudeCode":242},{"basePath":252,"githubOwner":241,"githubRepo":242,"locale":18,"slug":242,"type":253},"","plugin",{"_creationTime":255,"_id":256,"community":257,"display":258,"identity":261,"providers":263,"relations":278,"tags":280,"workflow":281},1778698324385.7556,"k174552b98hc4bznbsmfheh3s986my0n",{"reviewCount":8},{"description":259,"installMethods":260,"name":242,"sourceUrl":14},"Lightweight CLI for working with Linear issues using the official Linear TypeScript SDK",{"claudeCode":12},{"basePath":252,"githubOwner":241,"githubRepo":242,"locale":18,"slug":242,"type":262},"marketplace",{"evaluate":264,"extract":272},{"promptVersionExtension":265,"promptVersionScoring":206,"score":266,"tags":267,"targetMarket":216,"tier":271},"3.1.0",79,[212,13,268,269,270],"typescript","sdk","developer-tools","community",{"commitSha":273,"marketplace":274,"plugin":276},"HEAD",{"name":242,"pluginCount":275},1,{"mcpCount":8,"provider":277,"skillCount":8},"classify",{"repoId":279},"kd73g74veb0bb1m3x0pe77z0fx86mxr2",[212,270,13,269,268],{"evaluatedAt":282,"extractAt":283,"updatedAt":284},1778698339028,1778698324385,1778698413882,{"evaluate":286,"extract":291},{"promptVersionExtension":205,"promptVersionScoring":206,"score":287,"tags":288,"targetMarket":216,"tier":271},86,[13,212,270,289,290],"project-management","api-client",{"commitSha":273,"plugin":292},{"mcpCount":8,"provider":277,"skillCount":275},{"parentExtensionId":256,"repoId":279},[290,212,270,13,289],{"evaluatedAt":296,"extractAt":283,"updatedAt":297},1778698369946,1778698414233,{"evaluate":299,"extract":301},{"promptVersionExtension":205,"promptVersionScoring":206,"score":209,"tags":300,"targetMarket":216,"tier":217},[13,212,213,214,215],{"commitSha":273},{"parentExtensionId":246,"repoId":279},{"_creationTime":304,"_id":279,"identity":305,"providers":306,"workflow":338},1778698319869.1047,{"githubOwner":241,"githubRepo":242,"sourceUrl":14},{"classify":307,"discover":333,"github":336},{"commitSha":273,"extensions":308},[309,319,324],{"basePath":252,"description":259,"displayName":242,"installMethods":310,"rationale":311,"selectedPaths":312,"source":318,"sourceLanguage":18,"type":262},{"claudeCode":12},"marketplace.json at .claude-plugin/marketplace.json",[313,316],{"path":314,"priority":315},".claude-plugin/marketplace.json","mandatory",{"path":317,"priority":315},"README.md","rule",{"basePath":252,"description":249,"displayName":13,"installMethods":320,"rationale":321,"selectedPaths":322,"source":318,"sourceLanguage":18,"type":253},{"claudeCode":242},"inline plugin source from marketplace.json at /",[323],{"path":317,"priority":315},{"basePath":13,"description":10,"displayName":13,"installMethods":325,"rationale":326,"selectedPaths":327,"source":318,"sourceLanguage":18,"type":243},{"claudeCode":12},"SKILL.md frontmatter at linear/SKILL.md",[328,330],{"path":329,"priority":315},"SKILL.md",{"path":331,"priority":332},"scripts/linear-cli.js","low",{"sources":334},[335],"manual",{"closedIssues90d":8,"description":252,"forks":231,"openIssues90d":8,"pushedAt":234,"readmeSize":229,"stars":235,"topics":337},[],{"classifiedAt":339,"discoverAt":340,"extractAt":341,"githubAt":341,"updatedAt":339},1778698324209,1778698319869,1778698322274,[214,212,213,215,13],{"evaluatedAt":239,"extractAt":283,"updatedAt":344},1778698414433,[],[347,373,401,432,456,485],{"_creationTime":348,"_id":349,"community":350,"display":351,"identity":357,"providers":361,"relations":367,"tags":369,"workflow":370},1778697652123.8928,"k171pew5empzzrfghyg9nqrk6n86nqa9",{"reviewCount":8},{"description":352,"installMethods":353,"name":355,"sourceUrl":356},"Use gh for GitHub issues, PR status, CI/logs, comments, reviews, releases, and API queries.",{"claudeCode":354},"steipete/clawdis","github","https://github.com/steipete/clawdis",{"basePath":358,"githubOwner":359,"githubRepo":360,"locale":18,"slug":355,"type":243},"skills/github","steipete","clawdis",{"evaluate":362,"extract":366},{"promptVersionExtension":205,"promptVersionScoring":206,"score":363,"tags":364,"targetMarket":216,"tier":217},100,[355,212,214,270,365],"automation",{"commitSha":273},{"repoId":368},"kd738npxg9yh3xf3vddzy9fyfh86nhng",[214,365,212,270,355],{"evaluatedAt":371,"extractAt":372,"updatedAt":371},1778698569289,1778697652123,{"_creationTime":374,"_id":375,"community":376,"display":377,"identity":383,"providers":387,"relations":393,"tags":396,"workflow":397},1778694599571.3774,"k17f1596a2t00btq1hfksssg0s86n6ej",{"reviewCount":8},{"description":378,"installMethods":379,"name":381,"sourceUrl":382},"Use when the task involves authentication, user signups, logins, password recovery, OAuth providers, role-based access control, or protecting routes and functions. Always use `@netlify/identity`. Never use `netlify-identity-widget` or `gotrue-js` — they are deprecated.",{"claudeCode":380},"netlify/context-and-tools","netlify-identity","https://github.com/netlify/context-and-tools",{"basePath":384,"githubOwner":385,"githubRepo":386,"locale":18,"slug":381,"type":243},"skills/netlify-identity","netlify","context-and-tools",{"evaluate":388,"extract":392},{"promptVersionExtension":205,"promptVersionScoring":206,"score":363,"tags":389,"targetMarket":216,"tier":217},[390,385,391,215,268,214],"authentication","identity",{"commitSha":273},{"parentExtensionId":394,"repoId":395},"k1714spp30a0rvg5y3yjga772n86nmps","kd7b1ncy2zzzfws29grdt8heb986ntzq",[214,390,391,215,385,268],{"evaluatedAt":398,"extractAt":399,"updatedAt":400},1778694839805,1778694599571,1778694994190,{"_creationTime":402,"_id":403,"community":404,"display":405,"identity":411,"providers":416,"relations":425,"tags":428,"workflow":429},1778692306427.1,"k173vgk1382gteypy4vywhyh6n86n81r",{"reviewCount":8},{"description":406,"installMethods":407,"name":409,"sourceUrl":410},"Linear command center. Shows current sprint, creates/updates issues, manages priorities, syncs with GSD phases.",{"claudeCode":408},"Lifecycle-Innovations-Limited/claude-ops","OPS Linear Command Center","https://github.com/Lifecycle-Innovations-Limited/claude-ops",{"basePath":412,"githubOwner":413,"githubRepo":414,"locale":18,"slug":415,"type":243},"claude-ops/skills/ops-linear","Lifecycle-Innovations-Limited","claude-ops","ops-linear",{"evaluate":417,"extract":423},{"promptVersionExtension":205,"promptVersionScoring":206,"score":418,"tags":419,"targetMarket":216,"tier":217},95,[13,420,421,213,422,270],"task-management","sprint-planning","workflow-automation",{"commitSha":273,"license":424},"MIT",{"parentExtensionId":426,"repoId":427},"k17d0t6ns7y6t377pfprg128hd86nm89","kd7d52tcek2e34r805zs06b10d86n39v",[270,213,13,421,420,422],{"evaluatedAt":430,"extractAt":431,"updatedAt":430},1778692681774,1778692306427,{"_creationTime":433,"_id":434,"community":435,"display":436,"identity":441,"providers":445,"relations":450,"tags":452,"workflow":453},1778695021936.5583,"k171f4qvcnqsp0p2s9mpmfk2q586mv8r",{"reviewCount":8},{"description":437,"installMethods":438,"name":13,"sourceUrl":440},"Manage issues, projects & team workflows in Linear. Use when the user wants to read, create or updates tickets in Linear.",{"claudeCode":439},"openai/skills","https://github.com/openai/skills",{"basePath":442,"githubOwner":443,"githubRepo":444,"locale":18,"slug":13,"type":243},"skills/.curated/linear","openai","skills",{"evaluate":446,"extract":449},{"promptVersionExtension":205,"promptVersionScoring":206,"score":447,"tags":448,"targetMarket":216,"tier":271},78,[13,213,289,422],{"commitSha":273},{"repoId":451},"kd75n2zj3yh472p25zffgycved86mnpx",[213,13,289,422],{"evaluatedAt":454,"extractAt":455,"updatedAt":454},1778695284911,1778695021936,{"_creationTime":457,"_id":458,"community":459,"display":460,"identity":466,"providers":469,"relations":477,"tags":480,"workflow":481},1778699170774.1592,"k172e8vt4zcz50bb0vfp6ptb1n86mf90",{"reviewCount":8},{"description":461,"installMethods":462,"name":464,"sourceUrl":465},"Use when the user needs X (Twitter) data or confirmation-gated X actions through Xquik: tweet search, user lookup, follower extraction, media download, monitoring, webhooks, MCP, SDKs, posting, likes, DMs, and profile updates. Requires a Xquik API key. Never ask for X login material.",{"claudeCode":463},"Xquik-dev/x-twitter-scraper","x-twitter-scraper","https://github.com/Xquik-dev/x-twitter-scraper",{"basePath":467,"githubOwner":468,"githubRepo":464,"locale":18,"slug":464,"type":243},"skills/x-twitter-scraper","Xquik-dev",{"evaluate":470,"extract":476},{"promptVersionExtension":205,"promptVersionScoring":206,"score":363,"tags":471,"targetMarket":216,"tier":217},[472,473,214,474,365,475,269],"twitter","x","data-retrieval","mcp",{"commitSha":273},{"parentExtensionId":478,"repoId":479},"k17axvhmvwp90strpqcd5b0h7986m80d","kd783enpnwhry153ka0z65ear186mjbh",[214,365,474,475,269,472,473],{"evaluatedAt":482,"extractAt":483,"updatedAt":484},1778699230863,1778699170774,1778699296021,{"_creationTime":486,"_id":487,"community":488,"display":489,"identity":493,"providers":495,"relations":501,"tags":502,"workflow":503},1778697652123.8982,"k175ckmrqc4x6sjm90k7ejbj3s86ntxs",{"reviewCount":8},{"description":490,"installMethods":491,"name":492,"sourceUrl":356},"Use the Slack tool to react, pin/unpin, send, edit, delete messages, or fetch Slack member info.",{"claudeCode":354},"slack",{"basePath":494,"githubOwner":359,"githubRepo":360,"locale":18,"slug":492,"type":243},"skills/slack",{"evaluate":496,"extract":500},{"promptVersionExtension":205,"promptVersionScoring":206,"score":363,"tags":497,"targetMarket":216,"tier":217},[492,498,499,365,214],"messaging","communication",{"commitSha":273},{"repoId":368},[214,365,499,498,492],{"evaluatedAt":504,"extractAt":372,"updatedAt":504},1778698950505]