{"slug":"linear","title":"linear","summary":"Manage issues, projects & team workflows in Linear. Use when the user wants to read, create or updates tickets in Linear.","platform":"ChatGPT","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-08-12T22:20:08.41505Z","repo":{"url":"https://github.com/openai/skills","stars":27615,"forks":1868,"license":null,"updatedAt":"2026-09-08T20:35:26Z"},"bodyHtml":"<hr>\n<h2>name: linear\ndescription: Manage issues, projects &amp; team workflows in Linear. Use when the user wants to read, create or updates tickets in Linear.\nmetadata:\nshort-description: Manage Linear issues in Codex</h2>\n<h1>Linear</h1>\n<h2>Overview</h2>\n<p>This skill provides a structured workflow for managing issues, projects &amp; team workflows in Linear. It ensures consistent integration with the Linear MCP server, which offers natural-language project management for issues, projects, documentation, and team collaboration.</p>\n<h2>Prerequisites</h2>\n<ul>\n<li>Linear MCP server must be connected and accessible via OAuth</li>\n<li>Confirm access to the relevant Linear workspace, teams, and projects</li>\n</ul>\n<h2>Required Workflow</h2>\n<p><strong>Follow these steps in order. Do not skip steps.</strong></p>\n<h3>Step 0: Set up Linear MCP (if not already configured)</h3>\n<p>If any MCP call fails because Linear MCP is not connected, pause and set it up:</p>\n<ol>\n<li>Add the Linear MCP:\n<ul>\n<li><code>codex mcp add linear --url https://mcp.linear.app/mcp</code></li>\n</ul>\n</li>\n<li>Enable remote MCP client:\n<ul>\n<li>Set <code>[features] rmcp_client = true</code> in <code>config.toml</code> <strong>or</strong> run <code>codex --enable rmcp_client</code></li>\n</ul>\n</li>\n<li>Log in with OAuth:\n<ul>\n<li><code>codex mcp login linear</code></li>\n</ul>\n</li>\n</ol>\n<p>After successful login, the user will have to restart codex. You should finish your answer and tell them so when they try again they can continue with Step 1.</p>\n<p><strong>Windows/WSL note:</strong> If you see connection errors on Windows, try configuring the Linear MCP to run via WSL:</p>\n<pre><code>{\"mcpServers\": {\"linear\": {\"command\": \"wsl\", \"args\": [\"npx\", \"-y\", \"mcp-remote\", \"https://mcp.linear.app/sse\", \"--transport\", \"sse-only\"]}}}\n</code></pre>\n<h3>Step 1</h3>\n<p>Clarify the user's goal and scope (e.g., issue triage, sprint planning, documentation audit, workload balance). Confirm team/project, priority, labels, cycle, and due dates as needed.</p>\n<h3>Step 2</h3>\n<p>Select the appropriate workflow (see Practical Workflows below) and identify the Linear MCP tools you will need. Confirm required identifiers (issue ID, project ID, team key) before calling tools.</p>\n<h3>Step 3</h3>\n<p>Execute Linear MCP tool calls in logical batches:</p>\n<ul>\n<li>Read first (list/get/search) to build context.</li>\n<li>Create or update next (issues, projects, labels, comments) with all required fields.</li>\n<li>For bulk operations, explain the grouping logic before applying changes.</li>\n</ul>\n<h3>Step 4</h3>\n<p>Summarize results, call out remaining gaps or blockers, and propose next actions (additional issues, label changes, assignments, or follow-up comments).</p>\n<h2>Available Tools</h2>\n<p>Issue Management: <code>list_issues</code>, <code>get_issue</code>, <code>create_issue</code>, <code>update_issue</code>, <code>list_my_issues</code>, <code>list_issue_statuses</code>, <code>list_issue_labels</code>, <code>create_issue_label</code></p>\n<p>Project &amp; Team: <code>list_projects</code>, <code>get_project</code>, <code>create_project</code>, <code>update_project</code>, <code>list_teams</code>, <code>get_team</code>, <code>list_users</code></p>\n<p>Documentation &amp; Collaboration: <code>list_documents</code>, <code>get_document</code>, <code>search_documentation</code>, <code>list_comments</code>, <code>create_comment</code>, <code>list_cycles</code></p>\n<h2>Practical Workflows</h2>\n<ul>\n<li>Sprint Planning: Review open issues for a target team, pick top items by priority, and create a new cycle (e.g., \"Q1 Performance Sprint\") with assignments.</li>\n<li>Bug Triage: List critical/high-priority bugs, rank by user impact, and move the top items to \"In Progress.\"</li>\n<li>Documentation Audit: Search documentation (e.g., API auth), then open labeled \"documentation\" issues for gaps or outdated sections with detailed fixes.</li>\n<li>Team Workload Balance: Group active issues by assignee, flag anyone with high load, and suggest or apply redistributions.</li>\n<li>Release Planning: Create a project (e.g., \"v2.0 Release\") with milestones (feature freeze, beta, docs, launch) and generate issues with estimates.</li>\n<li>Cross-Project Dependencies: Find all \"blocked\" issues, identify blockers, and create linked issues if missing.</li>\n<li>Automated Status Updates: Find your issues with stale updates and add status comments based on current state/blockers.</li>\n<li>Smart Labeling: Analyze unlabeled issues, suggest/apply labels, and create missing label categories.</li>\n<li>Sprint Retrospectives: Generate a report for the last completed cycle, note completed vs. pushed work, and open discussion issues for patterns.</li>\n</ul>\n<h2>Tips for Maximum Productivity</h2>\n<ul>\n<li>Batch operations for related changes; consider smart templates for recurring issue structures.</li>\n<li>Use natural queries when possible (\"Show me what John is working on this week\").</li>\n<li>Leverage context: reference prior issues in new requests.</li>\n<li>Break large updates into smaller batches to avoid rate limits; cache or reuse filters when listing frequently.</li>\n</ul>\n<h2>Troubleshooting</h2>\n<ul>\n<li>Authentication: Clear browser cookies, re-run OAuth, verify workspace permissions, ensure API access is enabled.</li>\n<li>Tool Calling Errors: Confirm the model supports multiple tool calls, provide all required fields, and split complex requests.</li>\n<li>Missing Data: Refresh token, verify workspace access, check for archived projects, and confirm correct team selection.</li>\n<li>Performance: Remember Linear API rate limits; batch bulk operations, use specific filters, or cache frequent queries.</li>\n</ul>\n","files":[{"path":"agents/openai.yaml","sizeBytes":460,"isText":true},{"path":"assets/linear.png","sizeBytes":6969,"isText":false},{"path":"assets/linear-small.svg","sizeBytes":1065,"isText":false},{"path":"LICENSE.txt","sizeBytes":11357,"isText":true},{"path":"SKILL.md","sizeBytes":4952,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-08-12T22:20:45.935053Z","sha256":"05A0961B18A8E2C6268E679E36FD6A74BEBEE5326FA1FDEB5AEFDC59E664707A","sizeBytes":14574},"review":null,"source":{"repositoryUrl":"https://github.com/openai/skills","path":"skills/.curated/linear","license":null,"commit":"49f948faa9258a0c61caceaf225e179651397431","subtreeSha":"A4EBBC1B6019C3EF0A0F6239737DCE2B3E75437D3AC6F38B9F86C2189A4EE4F7","lastSyncedAt":"2026-09-25T06:49:08.341535Z"},"reviewedAt":"2026-08-12T22:21:41.888249Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/openai/skills/tree/main/skills/.curated/linear"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install openai-skills@llmmart"},{"target":"git","command":"git clone https://github.com/openai/skills.git"}]}