Create and manage Linear issues using structured templates. Use when user says /linear.
Create and manage Linear issues using structured templates.
This skill handles Linear issue management:
| Mode | Trigger | Purpose |
|---|---|---|
| configure | /linear configure |
Initial setup - discover workspace and configure templates |
| learn | /linear learn |
Update cache with new workspace data |
| template | /linear template <action> |
Manage issue templates |
| create | /linear |
Create a new issue (default) |
| update | /linear update <id> |
Update an existing issue |
Run /linear configure during initial setup to discover and cache your Linear workspace metadata:
/linear configure
This caches:
During configuration, you'll be asked to:
Cache is stored in .claude/linear-cache.yaml and used for faster lookups.
When to run:
Run /linear learn to update the cache with new workspace data:
/linear learn
When to run:
What it does:
.claude/linear-cache.yamlManage issue templates with /linear template <action>:
| Action | Command | Description |
|---|---|---|
| list | /linear template list |
Show all templates and mappings |
| add | /linear template add <name> |
Create a new template |
| edit | /linear template edit <name> |
Modify template sections |
| remove | /linear template remove <name> |
Delete a template (except 'default') |
| map | /linear template map <template> <target> |
Link template to project/topic |
| default | /linear template default <name> |
Set the default template |
# Map bug template to 'bug' topic
/linear template map bug topic:bug
# Map technical template to 'Backend' project
/linear template map technical project:Backend
# Set 'feature' as default template
/linear template default feature
Config path depends on how the plugin was installed:
| Plugin Scope | Config File | Git |
|---|---|---|
| project | .claude/skills/linear.yaml |
Committed (shared) |
| local | .claude/skills/linear.local.yaml |
Ignored (personal) |
| user | .claude/skills/linear.local.yaml |
Ignored (personal) |
Precedence when reading (first found wins):
.claude/skills/linear.local.yaml.claude/skills/linear.yamlThe cache is always stored at .claude/linear-cache.yaml (per-project).
| Variable | Description |
|---|---|
LINEAR_DEFAULT_TEAM |
Default team name (optional) |
If not configured, the skill will prompt you to select a team (or use cached teams from learn mode).
The skill includes three default templates. Templates are selected automatically based on topic/project mappings, or can be specified explicitly.
## Problem Statement
[What problem are we solving and why?]
## Proposed Solution
[High-level approach]
## Acceptance Criteria
[Given/When/Then specifications]
## Implementation Plan
[Specific steps to implement]
## Technical Notes
[Implementation details, gotchas]
Used automatically when topic is "bug" or label includes "Bug".
## Bug Description
[What is the bug?]
## Steps to Reproduce
[1. Do X, 2. Do Y, 3. See error]
## Expected Behavior
[What should happen?]
## Actual Behavior
[What actually happens?]
## Environment
[OS, browser, version, etc.]
Used automatically when topic is "feature" or label includes "Feature".
## Problem Statement
[What user problem does this solve?]
## Proposed Solution
[How should this work?]
## User Stories
[As a X, I want Y, so that Z]
## Acceptance Criteria
[Definition of done]
use bug templatetemplate_mappings.projectstemplate_mappings.topicsWhen given a plan/analysis/report, extract content using these mappings:
| Template Section | Extract From Document |
|---|---|
| title | Document heading, Executive Summary first sentence |
| problem_statement | Executive Summary, Problem, Current Pattern sections |
| proposed_solution | Proposed Solution, Approach, Strategy, Key Insight |
| acceptance_criteria | Benefits, Expected Outcomes - convert to Given/When/Then |
| implementation_plan | Implementation Steps - actionable steps |
| technical_notes | Risks and Mitigations, Gotchas, Related Files |
Empty sections: Omit entirely. Never use placeholder text.
Before creating a ticket, show a proposal for discussion:
## Ticket Proposal
**Title:** [inferred title]
**Template:** [template name] (matched from [reason])
### Metadata
| Field | Value | Reasoning |
|-------|-------|-----------|
| Template | Bug Report | Matched from label 'Bug' |
| Labels | Bug | [reasoning] |
| Project | [project] | [reasoning] |
| Estimate | 2pt | [file count], [complexity] |
| Cycle | next | User specified |
| State | Todo | Auto (cycle specified) |
### Description Preview
[First lines of each section...]
---
**Ready to create?** Or adjust any options?
(You can also change the template with "use [template] template")
Wait for user approval before creating.
| Field | Inference | How |
|---|---|---|
| labels | Auto | Infer from work type |
| project | Auto | Infer from affected area |
| estimate | Auto | Based on effort calculation |
| priority | Ask | Only infer if "critical"/"blocking" language |
| cycle | User | Use what user says, default backlog |
| state | Auto | Todo if cycle specified, else Backlog |
| assignee | Ask | Ask or leave unassigned |
| Points | Time | Scope |
|---|---|---|
| 1pt | ~4 hours | 1-3 files, simple, 1 iteration |
| 2pt | ~1 workday | 1-5 files, moderate, 2 iterations |
| 3pt | ~2 workdays | 5-10 files, some complexity |
| 5pt | ~2-4 workdays | 10-20 files, significant refactoring |
| 8pt | ~1 workweek | 20+ files, architectural, critical path |
Default template:
Bug template:
Feature template:
| Field | Description | Example |
|---|---|---|
| template | Template to use | "default", "bug", "feature" |
| assignee | Who will work on it | "me", "name" |
| labels | Issue labels | ["Bug", "Improvement"] |
| project | Project name | "Project Name" |
| cycle | Sprint cycle | "current", "next", 26 |
| priority | 1=Urgent, 2=High, 3=Normal, 4=Low | 2 |
| estimate | Story points | 3 |
| Field | Description | Example |
|---|---|---|
| parent_id | Create as sub-issue | "XXX-123" |
| blocks | Issues this blocks | ["XXX-456"] |
| blocked_by | Issues blocking this | ["XXX-100"] |
| related_to | Related issues | ["XXX-310"] |
See skill.yaml for complete procedure, patterns, and template details.