Awesome-openclaw-skills linear-autopilot
Automate Linear task processing with Discord notifications and git sync. Use when setting up a kanban-to-agent workflow where Linear tasks trigger Clawdbot actions via Discord. Handles task intake, status updates, DM notifications, and auto-push to git. Supports any task type - research, content creation, code tasks, or custom workflows.
git clone https://github.com/sundial-org/awesome-openclaw-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/linear-autopilot" ~/.claude/skills/sundial-org-awesome-openclaw-skills-linear-autopilot && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/linear-autopilot" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-linear-autopilot && rm -rf "$T"
skills/linear-autopilot/SKILL.mdLinear Autopilot
Automated pipeline: Linear → Webhook Service → Discord → Clawdbot → Git
Tasks created in Linear automatically trigger Clawdbot processing with real-time notifications and git sync for Obsidian/local access.
Free Tier Limitations
Before setup, be aware of free plan limits:
| Service | Free Tier Limits | Recommendation |
|---|---|---|
| Linear | 250 issues, unlimited members | Sufficient for most personal/small team use |
| Make.com | 1,000 ops/month, 2 scenarios, 15-min interval | ✅ Best free option — generous limits |
| Pipedream | ~100 credits (unclear reset), instant triggers | Good if you need real-time, burns credits fast |
| Zapier | 100 tasks/month, 5 zaps, 15-min polling, no webhooks | ⚠️ Paid plan required for this workflow |
Important notes:
- Make.com offers 1,000 ops/month free — our recommendation for free tier users
- Pipedream has instant webhooks but limited free credits that deplete quickly
- Zapier free plan does NOT support webhooks. You need a paid Zapier plan (Starter+)
- For budget-conscious users: use Make.com
Setup
1. Configure Linear API
Run setup to store your Linear API key:
mkdir -p ~/.clawdbot echo "LINEAR_API_KEY=lin_api_xxxxx" > ~/.clawdbot/linear.env
Get your API key from: Linear → Settings → API → Personal API keys
2. Get Linear IDs
Find your team and state IDs:
./scripts/linear-api.sh teams # Get team ID ./scripts/linear-api.sh states # Get state IDs (Todo, In Progress, Done)
Update
~/.clawdbot/linear-config.json:
{ "teamId": "your-team-id", "states": { "todo": "state-id-for-todo", "inProgress": "state-id-for-in-progress", "done": "state-id-for-done" }, "discord": { "notifyUserId": "your-discord-user-id", "taskChannelId": "your-linear-tasks-channel-id" }, "git": { "autoPush": true, "commitPrefix": "task:" } }
3. Set Up Webhook Service
Choose your preferred automation platform:
Option A: Make.com (Recommended for free tier)
- 1,000 operations/month free
- 15-minute minimum interval on free tier
- See
for step-by-step guidereferences/make-setup.md
Quick setup:
- Create scenario at make.com
- Add Linear "Watch Issues" trigger
- Add filter: state.name = "Todo"
- Add Discord webhook action
- Activate scenario
Option B: Pipedream (If you need instant triggers)
- Instant webhook triggers
- Limited free credits (deplete fast)
- See
for step-by-step guidereferences/pipedream-setup.md
Quick setup:
- Create workflow at pipedream.com with HTTP webhook trigger
- Add Linear webhook pointing to your Pipedream URL
- Add Discord "Send Message" step with Clawdbot bot token
- Message template:
<@BOT_ID> 📋 New task: {{steps.trigger.event.data.title}} Status: {{steps.trigger.event.data.state.name}} ID: {{steps.trigger.event.data.identifier}}
Option B: Zapier (If you have a paid account)
- 100 tasks/month on free (very limited)
- Native Linear + Discord integrations
- See
for step-by-step guidereferences/zapier-setup.md
Quick setup:
- Create Zap: Linear (New Issue) → Discord (Send Channel Message)
- Use webhook or bot integration for Discord
- Map Linear fields to message template
4. Configure Discord Channel
Ensure Clawdbot listens to your task channel. In
clawdbot.json:
{ "channels": { "discord": { "guilds": { "YOUR_GUILD_ID": { "channels": { "YOUR_TASK_CHANNEL_ID": { "allow": true, "requireMention": false } } } } } } }
Task Processing Workflow
When a task arrives in the Discord channel:
1. Acknowledge
- Reply in channel confirming receipt
2. Notify User via DM
Use message tool: - action: send - target: [user ID from config] - message: "📋 New task: [ID] - [title]. Starting now..."
3. Process Task
- Update Linear status → "In Progress" via
./scripts/linear-api.sh start [task-id] - Execute the task (spawn sub-agent if complex)
- Save outputs to appropriate location (research/, content/, etc.)
4. Complete
- Update Linear status → "Done" via
./scripts/linear-api.sh done [task-id] - Add comment with results via
./scripts/linear-api.sh comment [task-id] "[summary]" - Send completion DM to user
5. Git Sync (if enabled)
git add [output files] git commit -m "task: [ID] - [title]" git push
Script Reference
scripts/linear-api.sh commands:
| Command | Description |
|---|---|
| List teams and IDs |
| List workflow states |
| Get task details |
| List pending tasks |
| Mark as In Progress |
| Mark as Done |
| Add comment to task |
Example Task Types
This workflow handles any task type:
- Research: Spawn sub-agent, save to
research/[topic].md - Content creation: Generate drafts, save to
content/ - Code tasks: Write/modify code, commit changes
- Data processing: Run scripts, output results
- Custom: Define your own output patterns
Troubleshooting
Tasks not triggering?
- Check Pipedream workflow is enabled
- Verify Discord channel is in Clawdbot config
- Ensure
if using webhookallowBots: true
Linear API errors?
- Verify API key in
~/.clawdbot/linear.env - Check team/state IDs are correct
Git push failing?
- Ensure git remote is configured
- Check SSH key or credentials