Reference for Linearis CLI commands to interact with Linear project management. Use when working with Linear tickets, cycles, projects, milestones, or when the user mentions ticket IDs like TEAM-123, BRAVO-456, ENG-789.
Interacts with Linear project management by reading, updating, creating tickets, and managing cycles using the linearis CLI. Use when user mentions ticket IDs (TEAM-123) or needs to check/update Linear issues, cycles, or projects.
/plugin marketplace add coalesce-labs/catalyst/plugin install catalyst-dev@catalystThis skill inherits all available tools. When active, it can use any tool Claude has access to.
CRITICAL: Always use these exact patterns. Do NOT guess or improvise syntax.
linearis issues read TEAM-123 # ✅ By identifier
linearis issues read 7690e05c-32fb-4cf2-b709-f9adb12e73e7 # ✅ By UUID
Common mistakes:
linearis issues get TEAM-123 # ❌ WRONG - no 'get' command
linearis issue view TEAM-123 # ❌ WRONG - no 'view', use 'read'
linearis issue TEAM-123 # ❌ WRONG - missing subcommand
linearis issues list # Basic list (25 tickets)
linearis issues list --limit 50 # With limit
linearis issues list --team BRAVO # Filter by team
linearis issues list --team BRAVO --limit 100
NOTE: --limit and --team are the ONLY supported filters. For other filtering, use jq:
# Filter by status - use jq, NOT --status or --filter
linearis issues list --limit 100 | jq '.[] | select(.state.name == "In Progress")'
# Search by title
linearis issues list --limit 100 | jq '.[] | select(.title | contains("auth"))'
Common mistakes:
linearis issues list --status "In Progress" # ❌ WRONG - no --status flag
linearis issues list --filter "keyword" # ❌ WRONG - no --filter flag
linearis issues --filter "keyword" # ❌ WRONG - no --filter flag
linearis issues search "keyword" --team BRAVO # ✅ Correct
linearis issues search "auth" --team ENG # ✅ Correct
# Update state - use --state NOT --status!
linearis issues update TEAM-123 --state "In Progress"
linearis issues update TEAM-123 --state "Research"
linearis issues update TEAM-123 --state "Done"
# Other updates
linearis issues update TEAM-123 --title "New title"
linearis issues update TEAM-123 --description "New description"
linearis issues update TEAM-123 --priority 1 # 1=Urgent, 2=High, 3=Medium, 4=Low
linearis issues update TEAM-123 --assignee <user-id>
linearis issues update TEAM-123 --project "Project Name"
linearis issues update TEAM-123 --cycle "Cycle Name"
linearis issues update TEAM-123 --project-milestone "Milestone Name"
linearis issues update TEAM-123 --labels "bug,urgent"
linearis issues update TEAM-123 --clear-cycle
linearis issues update TEAM-123 --clear-project-milestone
Common mistakes:
linearis issues update TEAM-123 --status "Done" # ❌ WRONG - use --state
linearis issues create "Title of ticket"
linearis issues create "Title" --description "Description" --state "Todo" --priority 2
linearis issues create "Title" --team BRAVO --project "Project Name"
linearis comments create TEAM-123 --body "Starting research"
# Multi-line comment
linearis comments create TEAM-123 --body "Research complete!
See findings: https://github.com/..."
Common mistakes:
linearis issues comment TEAM-123 "Comment" # ❌ WRONG
linearis issues add-comment TEAM-123 "Comment" # ❌ WRONG
linearis comment TEAM-123 --body "Comment" # ❌ WRONG
Correct pattern: linearis comments create (plural "comments", then "create")
linearis cycles list --team BRAVO # All cycles
linearis cycles list --team BRAVO --active # Only active cycle
linearis cycles list --team BRAVO --limit 5 # Recent cycles
linearis cycles read "Sprint 2025-11" --team BRAVO # By name
linearis cycles read <cycle-uuid> # By UUID
Returns all issues in the cycle - useful for cycle analysis.
CYCLE=$(linearis cycles list --team BRAVO --active | jq -r '.[0].name')
linearis cycles read "$CYCLE" --team BRAVO | jq '.issues[] | {identifier, title, state: .state.name}'
linearis projects list --team BRAVO
linearis projects list --team BRAVO | jq '.[] | select(.name == "Auth System")'
linearis project-milestones list --project "Project Name"
linearis project-milestones list --project <project-uuid>
linearis project-milestones read "Beta Launch" --project "Auth System"
linearis project-milestones read <milestone-uuid>
linearis project-milestones update "Milestone" --project "Project" --name "New Name"
linearis project-milestones update "Milestone" --project "Project" --target-date "2025-12-31"
linearis labels list --team BRAVO
# 1. Read ticket
linearis issues read TEAM-123
# 2. Update state
linearis issues update TEAM-123 --state "In Progress"
# 3. Add comment
linearis comments create TEAM-123 --body "Starting work on this"
CYCLE=$(linearis cycles list --team BRAVO --active | jq -r '.[0].name')
linearis cycles read "$CYCLE" --team BRAVO | jq '.issues[] | {identifier, title, state: .state.name}'
linearis issues list --team BRAVO --limit 100 | jq '.[] | select(.project.name == "Auth System")'
linearis issues update TEAM-123 --state "Done"
linearis comments create TEAM-123 --body "Merged: PR #456 https://github.com/org/repo/pull/456"
| Action | Command |
|---|---|
| Read ticket | linearis issues read TEAM-123 |
| Update state | linearis issues update TEAM-123 --state "State" |
| Add comment | linearis comments create TEAM-123 --body "text" |
| Search | linearis issues search "keyword" --team TEAM |
| List issues | linearis issues list --team TEAM --limit N |
| Active cycle | linearis cycles list --team TEAM --active |
| Cycle details | linearis cycles read "Name" --team TEAM |
--state for issue state updateslinearis comments create, not issues commentread, not get or view--filter or --status flags - pipe to jq instead--team TEAM-KEY--cycle "Sprint 2025-11" not --cycle Sprint 2025-11linearis --help
linearis issues --help
linearis issues update --help
linearis comments --help
linearis cycles --help
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.