Manages Linear issues via CLI using linearis (czottmann/linearis). Use when the user mentions Linear issue identifiers (e.g., 'ENG-123'), teams, cycles, projects, labels, issue management, or workflow automation. Handles issue CRUD, comments, cycle/project/label/team/user listing, document management, file embeds, search, and GitHub/GitLab PR linking via issue identifiers.
Resources
1Install
npx skillscat add bnadlerjr/dotfiles/managing-linear Install via the SkillsCat registry.
Managing Linear
CLI-based Linear operations using linearis (czottmann/linearis).
Quick Start
Verify authentication before any operation:
npx -y linearis teams listIf this fails, inform the user to set up authentication:
- Get a Personal API key from Linear: Settings > "Security & Access" > "Personal API keys"
- Save the token to
~/.linear_api_token, or exportLINEAR_API_TOKEN=<token>
Workflow Patterns
Start Work on Issue
# Read the issue
npx -y linearis issues read ENG-123
# Update status to In Progress
npx -y linearis issues update ENG-123 --status "In Progress"Complete Issue
# Move to done and add a comment
npx -y linearis issues update ENG-123 --status "Done"
npx -y linearis comments create ENG-123 --body "Completed in PR #456"Daily Standup
# My in-progress issues
npx -y linearis issues search "" --team "Engineering" | jq '[.[] | select(.status.name == "In Progress")]'
# Current cycle issues
npx -y linearis cycles list --team "Engineering" --activeLink PR to Issue
Include the issue identifier (e.g., ENG-123) in your Git branch name, PR title, or PR description. Linear's GitHub/GitLab integration automatically links PRs to issues when it detects the identifier.
Error Handling
# Check if issue exists
if ! npx -y linearis issues read ENG-123 >/dev/null 2>&1; then
echo "Issue not found"
fi
# Check available teams before scoping
npx -y linearis teams list | jq '.[].name'
# Check available labels before assigning
npx -y linearis labels list --team "Engineering" | jq '.[].name'Best Practices
- All output is JSON - pipe to
jqfor parsing and filtering - Use smart ID resolution -
linearisaccepts both IDs and human-readable names for teams, projects, and cycles - Priority scale is inverted - 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low
- Use label management modes -
--label-by adding(default),replacing, orremovingto control label behavior - Scope searches with --team and --project for faster, more relevant results
- Write multi-line content to /tmp first when creating documents or descriptions with complex markdown
References
- cli-reference.md - Complete command reference with all flags and options
- filter-reference.md - Filtering, searching, and query patterns