Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
oimiragieo avatar

Linear Pm

  • 43 installs
  • 36 repo stars
  • Updated July 14, 2026
  • oimiragieo/agent-studio

Helps with ai & agent building tasks.

About

linear-pm is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.

  • linear-pm
  • AI & Agent Building
  • AI-coding skill

Linear Pm by the numbers

  • 43 all-time installs (skills.sh)
  • Ranked #7,972 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/oimiragieo/agent-studio --skill linear-pm

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs43
repo stars36
Last updatedJuly 14, 2026
Repositoryoimiragieo/agent-studio

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

Mode: Cognitive/Prompt-Driven - No standalone utility script; use via agent context.

Linear PM Skill

Overview

This skill provides comprehensive Linear project management capabilities with progressive disclosure for optimal context usage.

Context Savings: ~92% reduction

  • Direct API Mode: ~15,000 tokens for full API documentation
  • Skill Mode: ~300 tokens metadata + on-demand loading

Requirements

  • LINEAR_API_KEY environment variable set
  • Internet connectivity for Linear API access

Toolsets

ToolsetDescription
issuesIssue creation, updates, comments, state changes
projectsProject management and issue association
cyclesSprint/cycle management and planning
teamsTeam structure and member management
labelsLabel and workflow state management

Tools by Category

Issue Operations (Confirmation Required for Mutations)

ToolDescriptionConfirmation
list-issuesList issues with filters (state, assignee, label)No
get-issueGet detailed issue informationNo
create-issueCreate new issue with title, description, teamYes
update-issueUpdate issue fields (state, assignee, priority)Yes
add-commentAdd comment to an issueYes
search-issuesSearch issues by text queryNo
assign-issueAssign issue to team memberYes
set-prioritySet issue priority (urgent, high, medium, low)Yes
add-labelAdd label to issueYes

Project Operations

ToolDescriptionConfirmation
list-projectsList all projects for a teamNo
get-projectGet project details and metadataNo
project-issuesGet all issues in a projectNo
create-projectCreate new projectYes
update-projectUpdate project detailsYes

Cycle Operations (Sprints)

ToolDescriptionConfirmation
list-cyclesList cycles for a teamNo
current-cycleGet current active cycleNo
cycle-issuesGet issues in a specific cycleNo
cycle-progressGet cycle completion metricsNo

Team Operations

ToolDescriptionConfirmation
list-teamsList all teams in workspaceNo
get-teamGet team detailsNo
team-membersList team membersNo

Label & State Operations

ToolDescriptionConfirmation
list-labelsList all labels for a teamNo
list-statesList workflow states (backlog, to-do, in-progress, done)No
create-labelCreate new labelYes

Security

  • Never expose LINEAR_API_KEY in logs or output
  • API key should have minimal required permissions
  • All tools that modify data require confirmation

Error Handling

1. Verify API Key: Check LINEAR_API_KEY is set correctly 2. Check API Rate Limits: GraphQL 1500 requests/hour; REST 500 requests/hour 3. Validate Query Syntax: Ensure GraphQL queries are well-formed 4. Check Team/Issue IDs: Verify IDs exist and are accessible

Agent Integration

  • planner: Project management and backlog prioritization
  • developer: Issue tracking during development

Common Workflows

Sprint Planning

1. current-cycle - Get current sprint 2. list-issues --state Backlog - Get backlog items 3. update-issue --cycle-id ... - Assign issues to sprint

Issue Triage

1. list-issues --state Backlog - Get unplanned issues 2. set-priority --issue-id ... --priority 2 - Set priority 3. add-label --issue-id ... --label bug - Categorize

Project Tracking

1. list-projects --team-id ... - Get all projects 2. project-issues --project-id ... - Get project issues 3. cycle-progress --cycle-id ... - Check sprint progress

Related

  • Official Linear API Documentation: <https://developers.linear.app/docs/graphql/working-with-the-graphql-api>
  • Linear GraphQL Explorer: <https://studio.apollographql.com/public/Linear-API/home>
  • Linear Webhook Documentation: <https://developers.linear.app/docs/graphql/webhooks>

Iron Laws

1. ALWAYS verify LINEAR_API_KEY is set before any API call — Linear's API returns a 401 with a generic error message when the key is missing or expired; early validation produces a clear, actionable error. 2. NEVER create duplicate issues without first searching by title — Linear doesn't deduplicate issues automatically; running the skill twice without a search creates duplicate work items that confuse team tracking. 3. ALWAYS use issue state IDs (not state names) when transitioning issues — state names are case-sensitive, locale-dependent, and change when teams rename states; IDs are stable. 4. NEVER fetch all team issues without a filter — unbounded team queries return thousands of issues, exhaust the API rate limit, and produce unusable context dumps. 5. ALWAYS cache team and project metadata within a session — team IDs and project keys don't change during a session; re-fetching on every operation wastes API quota and slows workflows.

Anti-Patterns

Anti-PatternWhy It FailsCorrect Approach
Creating issues without deduplication checkDuplicate issues split tracking; team velocity metrics skewedSearch with a title filter (issues query with filter.title.eq field) before creating
Using state names in transitionsCase-sensitive; breaks when team renames state; locale issuesUse workflowState { id } query to get stable IDs; transition by ID
Fetching all team issues without filterThousands of results; rate limit hit; unusable outputFilter by state, assignee, cycle, or label in GraphQL query
Re-fetching team/project metadata per operationMultiple identical API calls; rate limit waste; slow executionFetch team and project IDs once at session start; reuse for all subsequent calls
Ignoring pagination cursorsOnly first page returned; missed issues cause incomplete reportsUse pageInfo { hasNextPage, endCursor } and paginate until hasNextPage: false

Memory Protocol (MANDATORY)

Before starting: Read .claude/context/memory/learnings.md

After completing:

  • New pattern -> .claude/context/memory/learnings.md
  • Issue found -> .claude/context/memory/issues.md
  • Decision made -> .claude/context/memory/decisions.md
ASSUME INTERRUPTION: If it is not in memory, it did not happen.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.