Back to Skills

extended

verified

This skill should be used when the user asks to "create Linear document", "write doc in Linear", "add milestone to project", "update Linear document", "delete milestone", or "set milestone target date". Provides write operations for Linear documents and milestones via GraphQL API (extending read-only MCP).

View on GitHub

Marketplace

cc-plugin

jongwony/cc-plugin

Plugin

linear

Repository

jongwony/cc-plugin

linear/skills/extended/SKILL.md

Last Verified

January 24, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/jongwony/cc-plugin/blob/main/linear/skills/extended/SKILL.md -a claude-code --skill extended

Installation paths:

Claude
.claude/skills/extended/
Powered by add-skill CLI

Instructions

## Overview

This skill extends Linear MCP capabilities by adding write operations for Documents and ProjectMilestones. While Linear MCP provides read-only access to documents and no milestone support, this skill enables full CRUD operations via direct GraphQL API calls.

**What this skill adds:**
- Document creation, updates, and deletion
- Project milestone management (create, update, delete, list, get)
- Direct GraphQL access for advanced operations

**Prerequisites:**
1. Linear API Key from https://linear.app/settings/api
2. Set environment variable: `export LINEAR_API_KEY="lin_api_xxxxx"`
3. Optional: `jq` for JSON formatting

---

## Document Operations

### Creating a Document

**Basic example:**
```bash
curl -X POST https://api.linear.app/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: $LINEAR_API_KEY" \
  -d '{
    "query": "mutation DocumentCreate($input: DocumentCreateInput!) { documentCreate(input: $input) { success document { id title url slugId createdAt creator { name } } } }",
    "variables": {
      "input": {
        "title": "API Design Document"
      }
    }
  }'
```

**With content and project:**
```bash
curl -X POST https://api.linear.app/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: $LINEAR_API_KEY" \
  -d '{
    "query": "mutation DocumentCreate($input: DocumentCreateInput!) { documentCreate(input: $input) { success document { id title url slugId } } }",
    "variables": {
      "input": {
        "title": "Q4 Roadmap",
        "content": "# Q4 Goals\n\n- Launch feature X\n- Improve performance by 30%",
        "projectId": "PROJECT_ID_HERE",
        "color": "#FF6B6B"
      }
    }
  }'
```

**Available parameters:**
- `title` (required): Document title
- `content`: Markdown content
- `projectId`: Attach to project
- `initiativeId`: Attach to initiative
- `issueId`: Attach to issue
- `color`: Icon color (hex format)
- `icon`: Icon emoji or name (optional, some emojis may not be valid - omit i

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
15198 chars