Linear logo

Linear

Community
kv0906
linear

Interact with Linear for issue tracking — search, create, sync, and link issues to vault notes. Use when the user says "/linear", "linear issues", "sync linear", "create issue", "link to linear", "check linear", "what's assigned to me", "my linear tasks", mentions Linear in any project management context, or wants to bridge their vault notes with Linear issue tracking. Also triggers when user needs to set up or connect Linear MCP.

Overview

Publisherkv0906
Repositorypm-kit
Skill namelinear
Stars
140
Forks
35
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by kv0906 on GitHub. Read the source before you install it.

Installation

Install the Linear AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/kv0906/pm-kit/tree/main/.claude/skills/linear
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/kv0906/pm-kit.git /tmp/pm-kit
mkdir -p .claude/skills
cp -r /tmp/pm-kit/.claude/skills/linear .claude/skills/linear
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Linear in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Linear on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Linear is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

/linear — Linear Integration

Bridge your PM-Kit vault with Linear issue tracking. Search, create, sync issues and link them to vault notes.

Context

Today's date: !date +%Y-%m-%d Config: @_core/config.yaml Active projects: !ls 01-index/*.md 2>/dev/null | sed 's|01-index/||;s|\.md||'

Input

User input: $ARGUMENTS

Sub-commands

Parse the first word of $ARGUMENTS to determine the sub-command:

Input starts withSub-commandPurpose
setupSetupGuide MCP connection + auth
syncSyncPull recent updates into vault
createCreateCreate Linear issue from vault context
search or a questionSearchFind Linear issues
linkLinkConnect vault note ↔ Linear issue
(empty)StatusShow connection status + recent activity

Step 0: Connection Check

Before any sub-command (except setup), verify Linear MCP is available:

  1. Try calling any Linear MCP tool (e.g., list viewer's issues with a small limit)
  2. If the tool call fails or mcp__linear-server__* tools are not available:
Linear MCP is not connected yet.

Run `/linear setup` to connect — it takes about 30 seconds.

Then stop. Don't attempt other operations without a working connection.


setup — Connect Linear MCP

Guide the user through connecting Linear's remote MCP server to Claude Code.

Steps to present to user:

## Linear MCP Setup

Linear's MCP server is hosted by Linear — no local install needed.

### Step 1: Add the server
Run this in your terminal:

  claude mcp add --transport http linear-server https://mcp.linear.app/mcp

### Step 2: Authenticate
In a Claude Code session, run:

  /mcp

Then follow the OAuth flow — it'll open your browser to authorize Linear access.

### Step 3: Verify
Once authenticated, try:

  /linear

You should see your recent Linear activity.

After presenting, ask if the user wants help running these commands now.

If the user confirms, run the claude mcp add command via Bash, then inform them they need to run /mcp themselves (it requires interactive browser auth that can't be automated).


sync — Pull Linear Updates

Fetch recent Linear activity and optionally write it into today's daily note.

Processing

  1. Fetch assigned issues — Get issues assigned to the current user, sorted by updated date

    • Filter to recently updated (last 7 days by default, or user-specified window)
    • Group by status: In Progress, Todo, Done
  2. Fetch recent comments — Get comments on the user's assigned issues from the last few days

  3. Summarize — Present a clean summary:

## Linear Sync — {date}

### In Progress ({count})
- [{identifier}] {title} — {team} ({priority})
  ...

### Recently Updated ({count})
- [{identifier}] {title} — moved to {state} ({date})
  ...

### Recent Comments ({count})
- [{identifier}] {commenter}: "{snippet}..."
  ...
  1. Daily note integration (if --save flag or user confirms)
    • Check if today's daily note exists (daily/{date}.md)
    • Append a ### Linear subsection under the relevant project heading
    • Use [[wikilinks]] for any vault notes already linked to Linear issues

Flags

  • --save — Auto-append to daily note without asking
  • --days N — Look back N days (default: 7)
  • --project {name} — Filter to issues matching a specific project/team

create — Create Linear Issue from Vault

Create a Linear issue using context from a vault note (blocker, doc, decision, or freeform text).

Processing

  1. Determine source — Check if user provided:

    • A vault file path or wikilink → Read that note for context
    • Freeform text → Use directly
    • Nothing → Ask what to create
  2. Extract issue fields from source:

    • Title: From note's H1 or frontmatter title, or user-provided
    • Description: From note body (convert wikilinks to plain text for Linear)
    • Team: Match from project frontmatter → Linear team (ask user if ambiguous)
    • Priority: Map from blocker severity (high→urgent, medium→high, low→medium) or ask
    • Labels: Infer from note type (blocker→bug, doc→feature, decision→discussion) or ask
  3. Confirm with user before creating:

Creating Linear issue:
  Title: {title}
  Team: {team}
  Priority: {priority}
  Labels: {labels}

Proceed? (y/n)
  1. Create the issue via Linear MCP tools

  2. Link back — Add the Linear issue URL to the source note's frontmatter:

    yaml
    linear: {issue-url}

    And add to ## Links > ### Related:

    markdown
    - [LIN-{number}]({url}) — Linear issue

search — Search Linear Issues

Find issues using natural language or filters.

Processing

  1. Parse query from $ARGUMENTS (everything after "search")
  2. Search via Linear MCP — Use the search/filter tools available
  3. Present results in a scannable format:
## Linear Search: "{query}"

Found {count} issues:

| ID | Title | Status | Assignee | Priority | Updated |
|----|-------|--------|----------|----------|---------|
| {id} | {title} | {state} | {name} | {pri} | {date} |
  1. Offer actions: "Want to /linear link any of these to a vault note?"

link — Connect Vault Note ↔ Linear Issue

Create a bidirectional link between a vault note and a Linear issue.

Input

Expects: /linear link {vault-note} {linear-issue-id}

Either argument can be omitted — prompt for missing info.

Processing

  1. Resolve vault note — Find the note by path, wikilink, or fuzzy search
  2. Resolve Linear issue — By ID (e.g., ENG-123) or search
  3. Update vault note:
    • Add linear: {issue-url} to frontmatter
    • Add [{issue-id}]({url}) to ## Links > ### Related
  4. Comment on Linear issue (optional, ask user):
    • Post a comment like: "Linked to vault note: {note-title}"
  5. Confirm:
Linked:
  Vault: {note-path}
  Linear: {issue-id} — {issue-title}

(empty) — Status Overview

When called with no arguments, show a quick status:

  1. Verify Linear MCP connection
  2. Fetch a summary of the user's current work:
    • Issues in progress
    • Issues assigned but not started
    • Recently completed
  3. Show count of vault notes linked to Linear issues:
    bash
    grep -rl "^linear:" --include="*.md" | wc -l
## Linear Status

Connected as: {user-name}
Active issues: {in-progress-count} in progress, {todo-count} todo
Vault links: {linked-count} notes linked to Linear

### In Progress
- [{id}] {title} ({team})
  ...

Output

All sub-commands output to terminal. Only sync --save and create/link modify vault files.

When modifying vault files, follow all vault conventions:

  • Use [[wikilinks]] for internal references
  • Maintain ## Links sections per linking rules
  • Respect frontmatter format per markdown standards

Frequently asked questions

What does the Linear AI skill do?

Interact with Linear for issue tracking — search, create, sync, and link issues to vault notes. Use when the user says "/linear", "linear issues", "sync linear", "create issue", "link to linear", "check linear", "what's assigned to me", "my linear tasks", mentions Linear in any project management context, or wants to bridge their vault notes with Linear issue tracking. Also triggers when user needs to set up or connect Linear MCP.

Why use Linear on TypingMind?

Because you install it once and use it with any model. Linear is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Linear in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/kv0906/pm-kit/tree/main/.claude/skills/linear. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Linear?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Linear?

As many as you like. As long as a model supports skills, you can use Linear with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Linear AI skill free?

Yes. It is published on GitHub by kv0906 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇