linear-webhook

0
0
Source

Comment @mason or @eureka in Linear issues to dispatch tasks to agents. Webhook receives Linear comments and routes to correct agent.

Install

mkdir -p .claude/skills/linear-webhook && curl -L -o skill.zip "https://mcp.directory/api/skills/download/9343" && unzip -o skill.zip -d .claude/skills/linear-webhook && rm skill.zip

Installs to .claude/skills/linear-webhook

About this skill

Linear Webhook Skill

Enables Linear issue comment @mentions to dispatch tasks to Clawdbot agents.

How It Works

  1. Comment in Linear: @mason implement user authentication or @eureka plan Q2 roadmap
  2. Linear webhook fires on comment creation
  3. Clawdbot receives webhook via exposed endpoint
  4. Transform parses payload:
    • Extracts @mason or @eureka mention
    • Gets issue context (title, description, labels)
    • Prepares task prompt
  5. Routes to agent session:
    • @mason → mason agent (code/implementation)
    • @eureka → eureka agent (planning/strategy)
  6. Agent processes task and returns result
  7. Result posted back as Linear comment

Setup

1. Configure Clawdbot Webhooks

Add to your config.json5:

{
  hooks: {
    enabled: true,
    token: "your-secret-token-here", // Generate with: openssl rand -base64 32
    path: "/hooks",
    transformsDir: "/home/sven/clawd-mason/skills/linear-webhook",
    mappings: [
      {
        name: "linear",
        match: {
          path: "/linear",
          method: "POST"
        },
        action: "agent",
        transform: {
          module: "./linear-transform.js",
          export: "transformLinearWebhook"
        },
        deliver: false, // Don't auto-deliver to chat - Linear comments handle responses
      }
    ]
  }
}

2. Expose Webhook Endpoint

Use Cloudflare Tunnel or Tailscale Funnel to make webhook publicly accessible:

Option A: Cloudflare Tunnel (Recommended)

# Install if needed
brew install cloudflared

# Start tunnel (replace with your domain)
cloudflared tunnel --url http://localhost:18789

Option B: Tailscale Funnel

# Enable funnel
tailscale funnel 18789

Note the public URL (e.g., https://your-tunnel.trycloudflare.com)

3. Configure Linear Webhook

  1. Go to Linear Settings → API → Webhooks
  2. Click "Create new webhook"
  3. Set URL: https://your-tunnel.trycloudflare.com/hooks/linear
  4. Add custom header: x-clawdbot-token: your-secret-token-here
  5. Select events: Comment → Created
  6. Save webhook

4. Test

Comment in a Linear issue:

@mason add user authentication to the login page

Expected flow:

  1. Webhook fires to Clawdbot
  2. Mason agent receives task
  3. Mason implements or responds
  4. Result posted back to Linear issue as comment

Agent Routing

  • @mason → Code implementation, debugging, technical tasks
  • @eureka → Planning, strategy, research, communication
  • Other mentions → Ignored (not handled)

Issue Context Provided

The agent receives:

  • Issue title
  • Issue description
  • Issue labels
  • Comment text (the @mention)
  • Issue URL
  • Commenter name

Customization

Add More Agents

Edit linear-transform.js:

const AGENT_MENTIONS = {
  '@mason': 'mason',
  '@eureka': 'eureka',
  '@designer': 'designer', // Add your own agents
};

Change Response Behavior

Modify deliver and channel in config:

{
  deliver: true,
  channel: "telegram",
  to: "1878354815", // Your Telegram chat ID
}

This will also send agent responses to Telegram.

Security

  • Never commit hook token to version control
  • Use environment variables: CLAWDBOT_HOOK_TOKEN
  • Verify webhook source (Linear's IP ranges if needed)
  • Use HTTPS only (Cloudflare Tunnel provides this)

Troubleshooting

Webhook not firing

  • Check Linear webhook logs (Settings → API → Webhooks → View logs)
  • Verify tunnel is running: curl https://your-tunnel.trycloudflare.com/hooks/linear
  • Check Clawdbot logs: clawdbot gateway logs

Agent not responding

  • Check transform is loading: Look for errors in gateway logs
  • Verify agent session exists: clawdbot sessions list
  • Test transform manually: node linear-transform.js

Response not posting to Linear

  • Implement Linear API comment posting in transform
  • Add Linear API token to config
  • See linear-transform.js for example

Linear API Access

To post comments back to Linear, you need a Linear API token:

  1. Go to Linear Settings → API → Personal API keys
  2. Create new token with write scope
  3. Add to environment: CLAWDBOT_LINEAR_API_KEY=lin_api_...
  4. Transform will use this to post responses

Files

  • SKILL.md - This documentation
  • linear-transform.js - Webhook payload parser and agent router
  • linear-api.js - Linear GraphQL API client (for posting comments)
  • example-payload.json - Sample Linear webhook payload for testing

References

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

1,4071,302

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

1,2201,024

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

9001,013

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

958658

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

970608

pdf-to-markdown

aliceisjustplaying

Convert entire PDF documents to clean, structured Markdown for full context loading. Use this skill when the user wants to extract ALL text from a PDF into context (not grep/search), when discussing or analyzing PDF content in full, when the user mentions "load the whole PDF", "bring the PDF into context", "read the entire PDF", or when partial extraction/grepping would miss important context. This is the preferred method for PDF text extraction over page-by-page or grep approaches.

1,033496

Stay ahead of the MCP ecosystem

Get weekly updates on new skills and servers.