linear-issues-write
Create and update Linear issues via CLI (write operations)
When & Why to Use This Skill
The linear-issues-write skill empowers Claude to interact directly with Linear, a popular project management tool, to automate the creation and maintenance of issues. By providing a CLI-based interface for write operations, it enables the seamless generation of new tasks with detailed metadata (teams, priorities, labels) and the real-time updating of existing tickets (status changes, reassignments). This skill is essential for teams looking to bridge the gap between AI-driven analysis and actionable project tracking, ensuring that project backlogs are always synchronized with the latest development activities.
Use Cases
- Automated Bug Tracking: Automatically generate Linear issues when an AI agent detects errors in code or receives bug reports from users, including relevant labels and priority levels.
- Sprint Management: Bulk update issue statuses, priorities, or assignees during sprint planning or review sessions based on team capacity and project velocity.
- Meeting-to-Task Conversion: Transform action items identified in meeting transcripts into structured Linear issues assigned to the correct team members.
- Developer Workflow Optimization: Allow developers to log technical debt or new feature ideas directly through the AI assistant without switching context to the Linear web interface.
- CI/CD Integration: Create high-priority issues automatically when critical production deployments fail or security vulnerabilities are detected by automated scanners.
| name | linear-issues-write |
|---|---|
| description | Create and update Linear issues via CLI (write operations) |
| version | 1.0.0 |
| license | MIT |
| compatibility | opencode |
Overview
CLI tools for creating and updating Linear issues. Requires LINEAR_API_KEY set in <git-root>/.env or exported in the environment.
Prerequisites
- bun runtime installed
LINEAR_API_KEYset in<git-root>/.envor environment
Commands
Create Issue
bun .opencode/skill/linear-issues-write/create-issue.js --title "..." --team <team> [options]
Required:
--title <title>- Issue title--team <name>- Team name (e.g., Engineering)
Options:
--description <text>- Issue description--assignee <name>- Assignee name--priority <0-4>- Priority: 0=none, 1=urgent, 2=high, 3=medium, 4=low--labels <labels>- Comma-separated labels (e.g., "Bug,SOC2")--project <name>- Project name--json- Output as JSON
Examples:
bun .opencode/skill/linear-issues-write/create-issue.js --title "Fix login bug" --team Engineering --priority 2
bun .opencode/skill/linear-issues-write/create-issue.js --title "New feature" --team Engineering --labels "Feature" --assignee "John Adams"
bun .opencode/skill/linear-issues-write/create-issue.js --title "Security fix" --team Engineering --project "Monticello" --priority 1
Update Issue
bun .opencode/skill/linear-issues-write/update-issue.js <issue-id> [options]
Arguments:
issue-id- Issue identifier (e.g., ENG-123) or UUID
Options:
--title <title>- New title--description <text>- New description--status <status>- New status (e.g., "In Progress", "Done")--assignee <name>- New assignee (use "none" to unassign)--priority <0-4>- New priority--labels <labels>- Replace all labels--add-labels <labels>- Add labels without removing existing--project <name>- Set project (use "none" to remove)--json- Output as JSON
Examples:
bun .opencode/skill/linear-issues-write/update-issue.js ENG-123 --status "In Progress"
bun .opencode/skill/linear-issues-write/update-issue.js ENG-123 --assignee "Thomas Jefferson" --priority 2
bun .opencode/skill/linear-issues-write/update-issue.js ENG-123 --add-labels "Bug,Urgent"
bun .opencode/skill/linear-issues-write/update-issue.js ENG-123 --assignee none
Notes
- Team, user, and label names are resolved automatically (case-insensitive)
- Use
--jsonflag for machine-readable output suitable for scripting - All commands support
--helpfor detailed usage information