Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Une commande directe contourne le prompt de vérification. Examinez la source avant de l'exécuter.
Use this skill when working with manage linear issues, projects, and teams.
Linear
Tools and workflows for managing issues, projects, and teams in Linear.
⚠️ Tool Availability (READ FIRST)
This skill supports multiple tool backends. Use whichever is available:
MCP Tools (mcp__linear) - Use if available in your tool set
Linear CLI (linear command) - Always available via Bash
Helper Scripts - For complex operations
If MCP tools are NOT available, use the Linear CLI via Bash:
# View an issue
linear issues view ENG-123
# Create an issue
linear issues create --title "Issue title" --description
linear issues update ENG-123 -s
linear issues comment add ENG-123 -m
linear issues list
"Description"
# Update issue status (get state IDs first)
"STATE_ID"
# Add a comment
"Comment text"
# List issues
Do NOT report "MCP tools not available" as a blocker - use CLI instead.
When to Use This Skill
Manage Linear issues, projects, and teams
Use this skill when working with manage linear issues, projects, and teams.
🔐 Security: Varlock Integration
CRITICAL: Never expose API keys in terminal output or Claude's context.
Safe Commands (Always Use)
# Validate LINEAR_API_KEY is set (masked output)
varlock load 2>&1 | grep LINEAR
# Run commands with secrets injected
varlock run -- npx tsx scripts/query.ts "query { viewer { name } }"# Check schema (safe - no values)cat .env.schema | grep LINEAR
Unsafe Commands (NEVER Use)
# ❌ NEVER - exposes key to Claude's context
linear config show
echo$LINEAR_API_KEYprintenv | grep LINEAR
cat .env
Go to Settings (gear icon) -> Security & access -> Personal API keys
Click Create key and copy the key (starts with lin_api_)
Add to your environment:
# Option A: Add to shell profile (~/.zshrc or ~/.bashrc)export LINEAR_API_KEY="lin_api_your_key_here"# Option B: Add to Claude Code environmentecho'LINEAR_API_KEY=lin_api_your_key_here' >> ~/.claude/.env
# Then reload your shell or restart Claude Code
3. Test Connection
Verify everything works:
npx tsx ~/.claude/skills/linear/scripts/query.ts "query { viewer { name } }"
You should see your name from Linear.
4. Common Operations
# Create issue in a project
npx tsx scripts/linear-ops.ts create-issue "Project""Title""Description"# Update issue status
npx tsx scripts/linear-ops.ts status Done ENG-123 ENG-124
# Create sub-issue
npx tsx scripts/linear-ops.ts create-sub-issue ENG-100 "Sub-task""Details"# Update project status
npx tsx scripts/linear-ops.ts project-status "Phase 1" completed
# Show all commands
npx tsx scripts/linear-ops.ts help
Use this skill when working with manage linear issues, projects, and teams.
Project Planning Workflow
Create Issues in the Correct Project from the Start
Best Practice: When planning a new phase or initiative, create the project and its issues together in a single planning session. Avoid creating issues in a catch-all project and moving them later.
WARNING: Do NOT use deprecated community servers. See troubleshooting.md for details.
MCP Reliability (Official Server)
Operation
Reliability
Notes
Create issue
✅ High
Full support
Update status
✅ High
Use state: "Done" directly
List/Search issues
✅ High
Supports filters, queries
Add comment
✅ High
Works with issue IDs
Quick Status Update
# Via MCP - use human-readable state names
update_issue with id="issue-uuid", state="Done"# Via helper script (bulk operations)
node scripts/linear-helpers.mjs update-status Done 123 124 125
Helper Script Reference
For detailed helper script usage, see troubleshooting.md.
Parallel Agent Execution
For bulk operations or background execution, use the Linear-specialist subagent:
Task({
description: "Update Linear issues",
prompt: "Mark ENG-101, ENG-102, ENG-103 as Done",
subagent_type: "Linear-specialist"
})
When to use Linear-specialist (parallel):
Bulk status updates (3+ issues)
Project status changes
Creating multiple issues
Sync operations after code changes
When to use direct execution:
Single issue queries
Viewing issue details
Quick status checks
Operations needing immediate results
See sync.md for parallel execution patterns.
Critical Requirements
Issues → Projects → Initiatives
Every issue MUST be attached to a project. Every project MUST be linked to an initiative.
Entity
Must Link To
If Missing
Issue
Project
Not visible in project board
Project
Initiative
Not visible in roadmap
See projects.md for complete project creation checklist.
Conventions
Issue Status
Assigned to me: Set state: "Todo"
Unassigned: Set state: "Backlog"
Labels
Uses domain-based label taxonomy. See docs/labels.md.
Key rules:
ONE Type label: feature, bug, refactor, chore, spike
1-2 Domain labels: security, backend, frontend, etc.
Scope labels when applicable: blocked, breaking-change, tech-debt
Use only when MCP tools are insufficient. For complex operations involving loops, mapping, or bulk updates, write TypeScript scripts using @linear/sdk. See sdk.md for:
Complete script patterns and templates
Common automation examples (bulk updates, filtering, reporting)
Tool selection criteria
Scripts provide full type hints and are easier to debug than raw GraphQL for multi-step operations.
GraphQL API
Fallback only. Use when operations aren't supported by MCP or SDK.
See api.md for complete documentation including:
Authentication and setup
Example queries and mutations
Timeout handling patterns
MCP timeout workarounds
Shell script compatibility
Quick ad-hoc query:
npx tsx ~/.claude/skills/linear/scripts/query.ts "query { viewer { name } }"
Projects & Initiatives
For advanced project and initiative management patterns, see projects.md.