Accelerate software development with Linear project management and MCP server integration...
A comprehensive skill for accelerating software development using Linear project management with MCP server integration. This skill enables rapid project setup, intelligent issue management, and streamlined development workflows for web and mobile applications.
Use this skill when:
Linear emphasizes speed, clarity, and focus for software teams:
List and filter issues in your workspace.
Common Parameters:
team: Team name or ID
assignee: User ID, name, email, or "me" for your issues
state: Status name or ID (e.g., "In Progress", "Done")
label: Label name or ID for filtering
project: Project name or ID
query: Search in title/description
limit: Number of results (max 250, default 50)
orderBy: "createdAt" or "updatedAt" (default)
includeArchived: Include archived issues (default: true)
Examples:
# Get my current issues
assignee: "me"
state: "In Progress"
limit: 10
# Find bugs in a specific project
label: "bug"
project: "Mobile App"
state: "Todo"
# Search for authentication-related issues
query: "authentication"
team: "Backend"
Create a new issue with full metadata.
Required Parameters:
title: Issue title (clear and concise)
team: Team name or ID
Optional Parameters:
description: Markdown description with details
assignee: User ID, name, email, or "me"
state: State type, name, or ID
priority: 0=None, 1=Urgent, 2=High, 3=Normal, 4=Low
labels: Array of label names or IDs
project: Project name or ID
cycle: Cycle name, number, or ID
parentId: Parent issue ID for sub-issues
dueDate: ISO format date
links: Array of {url, title} objects
Example:
title: "Implement user authentication"
team: "Backend"
description: |
## Overview
Add JWT-based authentication to the API
## Tasks
- [ ] Design auth flow
- [ ] Implement JWT tokens
- [ ] Add refresh token logic
- [ ] Write tests
## Acceptance Criteria
- Secure token generation
- Token expiration handling
- Proper error responses
assignee: "me"
priority: 2 # High
labels: ["feature", "authentication", "backend"]
project: "API v2.0"
Update an existing issue.
Required: id (issue ID)
Updatable Fields:
title, description, assignee, state, priority, labels,
project, cycle, parentId, dueDate, estimate, links
Example:
id: "issue-uuid-here"
state: "In Progress"
assignee: "me"
labels: ["feature", "in-development"]
Get detailed issue information including attachments and git branch.
Parameters:
id: Issue ID
Returns: Full issue details with attachments, git branch name, related data
List and filter projects.
Parameters:
team: Team name or ID
state: State name or ID
member: User ID, name, email, or "me"
initiative: Initiative name or ID
query: Search project names
limit: Number of results (max 250, default 50)
orderBy: "createdAt" or "updatedAt"
includeArchived: Include archived (default: false)
Create a new project.
Required Parameters:
name: Project name
team: Team name or ID
Optional Parameters:
description: Full Markdown description
summary: Concise plaintext summary (max 255 chars)
lead: Project lead (User ID, name, email, or "me")
state: Project state
priority: 0-4 (None, Urgent, High, Medium, Low)
startDate: ISO format date
targetDate: ISO format date
labels: Array of label names or IDs
Example:
name: "Mobile App v2.0"
team: "Mobile"
summary: "Complete redesign of mobile app with new features"
description: |
# Mobile App v2.0
## Goals
- Modern UI/UX redesign
- Offline-first architecture
- Push notifications
- Real-time sync
## Timeline
Q1 2025 - Design & Planning
Q2 2025 - Development
Q3 2025 - Testing & Launch
lead: "me"
priority: 2
startDate: "2025-01-15"
targetDate: "2025-09-30"
labels: ["mobile", "redesign", "major-release"]
Update existing project details.
Required: id (project ID)
Updatable: name, description, summary, lead, state, priority, startDate, targetDate, labels
Get detailed project information.
Parameters:
query: Project ID or name
List available labels.
Parameters:
team: Team name or ID (optional, for team-specific labels)
name: Filter by label name
limit: Number of results (max 250)
orderBy: "createdAt" or "updatedAt"
Create new label for categorization.
Required:
name: Label name
Optional:
color: Hex color code (e.g., "#10B981")
description: Label description
teamId: Team UUID (omit for workspace label)
isGroup: true for label groups (default: false)
parentId: Parent label UUID for hierarchical labels
Example:
name: "frontend"
color: "#3B82F6"
description: "Frontend-related tasks and features"
teamId: "team-uuid-here"
List available statuses for a team.
Parameters:
team: Team name or ID (required)
Returns: Array of statuses with id, type, name
Get detailed status information.
Parameters:
id: Status ID
name: Status name
team: Team name or ID (required)
List comments on an issue.
Parameters:
issueId: Issue ID (required)
Add comment to an issue.
Parameters:
issueId: Issue ID (required)
body: Markdown comment content (required)
parentId: Parent comment ID for replies (optional)
Example:
issueId: "issue-uuid-here"
body: |
Great progress! A few notes:
- Consider edge case for expired tokens
- Add integration test for refresh flow
- Document the auth header format
List all teams in workspace.
Parameters:
query: Search query (optional)
limit: Number of results (max 250)
includeArchived: Include archived teams (default: false)
Get detailed team information.
Parameters:
query: Team UUID, key, or name
List users in workspace.
Parameters:
query: Filter by name or email (optional)
Get user details.
Parameters:
query: User ID, name, email, or "me"
Get cycles for a team.
Parameters:
teamId: Team ID (required)
type: "current", "previous", "next", or omit for all
List Linear documents.
Parameters:
query: Search query
creatorId: Creator user ID
projectId: Project ID
initiativeId: Initiative ID
limit: Number of results (max 250)
orderBy: "createdAt" or "updatedAt"
includeArchived: Include archived (default: false)
Get document by ID or slug.
Parameters:
id: Document ID or slug
Scenario: Building a new feature for a web application
1. Create feature issue
- Use create_issue with:
- Clear title: "Add dark mode toggle"
- Detailed description with tasks and acceptance criteria
- Assign to yourself or team member
- Add labels: ["feature", "frontend", "ui"]
- Link to project: "Q1 Features"
- Set priority based on urgency
2. Break down into sub-tasks (if complex)
- Create child issues with parentId
- Each sub-task is a manageable unit of work
- Example sub-tasks:
- "Design dark mode color scheme"
- "Implement theme context in React"
- "Add toggle button component"
- "Persist theme preference"
3. Track progress
- Update issue state as you work:
- Todo → In Progress → In Review → Done
- Add comments with updates and blockers
- Link PR when ready for review
4. Complete and review
- Update state to "In Review"
- Add links to PR, deployed preview
- Mark as Done when merged and deployed
Scenario: Handling bug reports efficiently
1. Create bug issue
- title: Clear description of the bug
- description: Steps to reproduce, expected/actual behavior
- labels: ["bug", "priority:high"] if critical
- assignee: Developer responsible for that area
- Add links to error logs, screenshots
2. Investigation
- Update to "In Progress"
- Add comments with findings
- Link to related issues if discovered
- Update priority if needed
3. Fix implementation
- Reference issue in commit messages
- Link PR to issue
- Add comment explaining fix approach
4. Verification and closure
- State: "In Review" during QA
- State: "Done" after verification
- Add comment confirming fix is deployed
Scenario: Planning a 2-week development cycle
1. Review backlog
- list_issues with state: "Backlog"
- Filter by priority and labels
- Identify issues ready for development
2. Create or select cycle
- list_cycles to see current cycle
- Organize selected issues into cycle
3. Assign and prioritize
- Distribute issues across team
- Set priorities: Urgent (1) → High (2) → Normal (3)
- Balance workload across team members
4. Daily tracking
- list_issues with assignee: "me", state: "In Progress"
- Update issue states as work progresses
- Add comments for standup updates
- Move blocked issues back to Todo
5. Cycle review
- List completed issues in cycle
- Review metrics (velocity, completion rate)
- Move incomplete issues to next cycle or backlog
Scenario: Starting a new mobile app project
1. Create project
- name: "Mobile App - iOS & Android"
- description: Full project scope, goals, timeline
- Set lead, dates, labels
- Link to design docs, PRD
2. Set up project structure
- Create initial issues for setup:
- "Setup React Native project"
- "Configure CI/CD pipeline"
- "Design component architecture"
- "Setup state management"
- Assign to team members
- Add to project
3. Create epics (major features)
- Authentication system
- User profile management
- Core app functionality
- Push notifications
- Each epic is a parent issue with sub-issues
4. Organize into cycles
- Cycle 1: Project setup & architecture
- Cycle 2-3: Core features
- Cycle 4: Polish & testing
- Assign issues to appropriate cycles
5. Track progress
- Update project description with status
- Weekly reviews with get_project
- Adjust priorities and timeline as needed
Scenario: Linking Linear issues with GitHub PRs
1. Create issue in Linear
- Get git branch name from issue: issue.gitBranchName
- Example: "cetiaiservices/cet-95-create-benchmark-methodology-guide"
2. Create branch using Linear's suggested name
- Ensures automatic linking
- Linear tracks PR status automatically
3. Development
- Commit with Linear issue reference: "CET-95: Add benchmark docs"
- Linear updates issue automatically when PR created
4. Code review
- PR opened → Linear sets state to "In Review"
- Comments on PR can sync to Linear
- Review feedback tracked in both systems
5. Merge and deploy
- PR merged → Linear can auto-complete issue
- Deployment triggers update Linear with links
- Full traceability from issue → PR → deployment
When starting a project, create all known issues in one go:
// Create multiple related issues
const features = [
"User registration and login",
"Password reset flow",
"Email verification",
"Social auth (Google, GitHub)",
"Two-factor authentication"
];
// For each feature, create issue with:
- Consistent labeling: ["auth", "feature"]
- Link to parent project: "Authentication System"
- Assign to team members based on expertise
- Set due dates based on project timeline
Use filters to reduce cognitive load:
// Morning: What do I need to work on today?
assignee: "me"
state: "In Progress"
orderBy: "updatedAt"
// Planning: What's in the backlog for my team?
team: "Frontend"
state: "Backlog"
priority: 2 // High priority items
labels: ["ready-for-dev"]
// Review: What needs my attention?
assignee: "me"
state: "In Review"
orderBy: "createdAt" // Oldest first
Create consistent issues using templates:
// Bug report template
title: "[BUG] {concise description}"
description: |
## Bug Description
{What's wrong?}
## Steps to Reproduce
1. {Step 1}
2. {Step 2}
3. {Step 3}
## Expected Behavior
{What should happen}
## Actual Behavior
{What actually happens}
## Environment
- Browser: {browser}
- OS: {OS}
- Version: {version}
## Additional Context
{Screenshots, logs, etc.}
labels: ["bug", "needs-triage"]
priority: 3 // Default to normal, adjust after triage
// Feature request template
title: "[FEATURE] {feature name}"
description: |
## Feature Description
{What feature do you want?}
## User Story
As a {user type}
I want {goal}
So that {benefit}
## Acceptance Criteria
- [ ] {Criterion 1}
- [ ] {Criterion 2}
- [ ] {Criterion 3}
## Design Notes
{Link to designs, wireframes}
## Technical Notes
{Implementation considerations}
labels: ["feature", "needs-refinement"]
Update issues as part of your development workflow:
// In CI/CD pipeline:
- Tests passing → Add comment with test results
- Deploy to staging → Update with staging URL
- Deploy to production → Mark as Done, add production URL
// In git hooks:
- Pre-commit: Verify issue reference in commit message
- Post-merge: Update Linear issue status
- Tag creation: Link release to completed issues
Use Linear for coordinating frontend/backend/mobile work:
// Create parent issue for full-stack feature
Parent: "User Dashboard Feature"
├─ Child: "[Backend] Dashboard API endpoints"
│ └─ labels: ["backend", "api"]
├─ Child: "[Frontend] Dashboard React components"
│ └─ labels: ["frontend", "react"]
└─ Child: "[Mobile] Dashboard mobile screens"
└─ labels: ["mobile", "flutter"]
// Track dependencies
- Backend issue must complete first
- Frontend/Mobile can work in parallel after API ready
- Use "blocked" relation type to track dependencies
Recommended label categories:
Type Labels:
- feature, bug, improvement, docs, refactor, test
Priority Labels:
- priority:urgent, priority:high, priority:normal, priority:low
Area Labels:
- frontend, backend, mobile, devops, design, qa
Status Labels:
- blocked, ready-for-dev, needs-review, waiting-on-qa
Technology Labels:
- react, flutter, python, node, postgres, redis
1. Design → Development workflow:
- Create issue from design handoff
- labels: ["frontend", "ui", "design-ready"]
- Link to Figma/design files
- Break into component-level issues
2. Component development:
- Parent: "User Profile Page"
├─ "ProfileHeader component"
├─ "ProfileStats component"
├─ "ProfileSettings component"
└─ "Profile routing and layout"
3. Integration and testing:
- Create issues for:
- Integration testing
- Accessibility audit
- Performance optimization
- Browser compatibility testing
1. Feature planning:
- Parent issue: "Payment Processing Feature"
- Children:
- Database schema design
- API endpoint implementation
- Frontend payment form
- Payment provider integration
- Error handling and logging
- Testing (unit, integration, E2E)
2. Parallel development:
- Backend team: API and database
- Frontend team: UI components (mocked API)
- Coordinate through Linear comments
- Track blockers and dependencies
3. Integration phase:
- Create integration testing issue
- Link all related issues
- Coordinate deployment
1. Platform-specific tracking:
- labels: ["ios", "android", "shared"]
- Track platform-specific bugs separately
- Share code issues labeled "shared"
2. Release management:
- Project per release: "iOS v2.1.0"
- Issues per feature/fix in release
- Track App Store/Play Store submissions
- Link to release notes
3. Testing workflow:
- Device testing: Track per device type
- OS version compatibility
- Performance on different hardware
- Beta testing feedback
Issue not appearing in filters
Cannot create issue
Cannot update issue
Projects not loading
Create a complete project structure programmatically:
1. Create project
2. Create label set for project
3. Create epic issues (parent issues)
4. Create sub-issues for each epic
5. Assign issues to team members
6. Organize into first cycle
7. Generate project documentation
Track development metrics:
// Velocity tracking
- Issues completed per cycle
- Average time to complete
- Blockers frequency
// Quality metrics
- Bug rate per feature
- Time to fix bugs
- Reopened issues
// Team metrics
- Issues per team member
- Workload balance
- Completion rates
Design workflows matching your process:
// Example: Feature flag workflow
States:
1. Backlog (unstarted)
2. Ready for Dev (unstarted)
3. In Development (started)
4. In Review (started)
5. In QA (started)
6. Deployed with Flag (started)
7. Flag Enabled (started)
8. Monitoring (started)
9. Flag Removed (completed)
10. Done (completed)
My active work:
assignee: "me", state: "In Progress"
Team backlog:
team: "{team-name}", state: "Backlog", orderBy: "updatedAt"
High priority issues:
priority: 2, state: "Todo", orderBy: "createdAt"
Recently updated:
orderBy: "updatedAt", limit: 20
Bugs needing triage:
label: "bug", state: "Backlog", orderBy: "createdAt"
title: "[TYPE] Clear, actionable title"
description: |
## Overview
{What and why}
## Tasks
- [ ] Task 1
- [ ] Task 2
## Acceptance Criteria
- Criterion 1
- Criterion 2
team: "{team-name}"
assignee: "me"
labels: ["{type}", "{area}", "{priority}"]
project: "{project-name}"
priority: 3
Skill Version: 1.0.0 Last Updated: October 2025 Skill Category: Project Management, Development Acceleration, Team Collaboration Compatible With: Linear MCP Server, GitHub, CI/CD pipelines