Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Query and manage Linear issues, projects, and team workflows.
Query and manage Linear issues, projects, and team workflows.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Manage issues, check project status, and stay on top of your team's work.
export LINEAR_API_KEY="your-api-key" # Optional: default team key used when a command needs a team export LINEAR_DEFAULT_TEAM="TEAM" Discover team keys: {baseDir}/scripts/linear.sh teams If LINEAR_DEFAULT_TEAM is set, you can omit the team key in team and call: {baseDir}/scripts/linear.sh create "Title" ["Description"]
# My stuff {baseDir}/scripts/linear.sh my-issues # Your assigned issues {baseDir}/scripts/linear.sh my-todos # Just your Todo items {baseDir}/scripts/linear.sh urgent # Urgent/High priority across team # Browse {baseDir}/scripts/linear.sh teams # List available teams {baseDir}/scripts/linear.sh team <TEAM_KEY> # All issues for a team {baseDir}/scripts/linear.sh project <name> # Issues in a project {baseDir}/scripts/linear.sh issue <TEAM-123> # Get issue details {baseDir}/scripts/linear.sh branch <TEAM-123> # Get branch name for GitHub # Actions {baseDir}/scripts/linear.sh create <TEAM_KEY> "Title" ["Description"] {baseDir}/scripts/linear.sh comment <TEAM-123> "Comment text" {baseDir}/scripts/linear.sh status <TEAM-123> <todo|progress|review|done|blocked> {baseDir}/scripts/linear.sh assign <TEAM-123> <userName> {baseDir}/scripts/linear.sh priority <TEAM-123> <urgent|high|medium|low|none> # Overview {baseDir}/scripts/linear.sh standup # Daily standup summary {baseDir}/scripts/linear.sh projects # All projects with progress
{baseDir}/scripts/linear.sh standup Shows: your todos, blocked items across team, recently completed, what's in review.
{baseDir}/scripts/linear.sh create TEAM "Fix auth timeout bug" "Users getting logged out after 5 min"
{baseDir}/scripts/linear.sh urgent # See what needs attention
Always use Linear-derived branch names to enable automatic issue status tracking.
{baseDir}/scripts/linear.sh branch TEAM-212 # Returns: dev/team-212-fix-auth-timeout-bug
# 1. Get the branch name from Linear BRANCH=$({baseDir}/scripts/linear.sh branch TEAM-212) # 2. Pull fresh main first (main should ALWAYS match origin) cd /path/to/repo git checkout main && git pull origin main # 3. Create worktree with that branch (branching from fresh origin/main) git worktree add .worktrees/team-212 -b "$BRANCH" origin/main cd .worktrees/team-212 # 4. Do your work, commit, push git push -u origin "$BRANCH" ⚠️ Never modify files on main. All changes happen in worktrees only.
Linear's GitHub integration tracks PRs by branch name pattern When you create a PR from a Linear branch, the issue automatically moves to "In Review" When the PR merges, the issue automatically moves to "Done" Manual branch names break this automation Keeping main clean = no accidental pushes, easy worktree cleanup
# Full workflow example ISSUE="TEAM-212" BRANCH=$({baseDir}/scripts/linear.sh branch $ISSUE) # Always start from fresh main cd ~/workspace/your-repo git checkout main && git pull origin main # Create worktree (inside .worktrees/) git worktree add .worktrees/${ISSUE,,} -b "$BRANCH" origin/main cd .worktrees/${ISSUE,,} # ... make changes ... git add -A && git commit -m "fix: implement $ISSUE" git push -u origin "$BRANCH" gh pr create --title "$ISSUE: <title>" --body "Closes $ISSUE"
LevelValueUse forurgent1Production issues, blockershigh2This week, importantmedium3This sprint/cyclelow4Nice to havenone0Backlog, someday
Team keys and IDs are discovered via the API and cached locally after the first lookup. Use linear.sh teams to refresh and list available teams.
Uses GraphQL API (api.linear.app/graphql) Requires LINEAR_API_KEY env var Issue identifiers are like TEAM-123
Inspired by schpet/linear-cli by Peter Schilling (ISC License). This is an independent bash implementation for Clawdbot integration.
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.