{
  "schemaVersion": "1.0",
  "item": {
    "slug": "linear-autopilot",
    "name": "Linear Autopilot",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/vincentchan/linear-autopilot",
    "canonicalUrl": "https://clawhub.ai/vincentchan/linear-autopilot",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/linear-autopilot",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=linear-autopilot",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/make-setup.md",
      "references/pipedream-setup.md",
      "references/zapier-setup.md",
      "scripts/linear-api.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/linear-autopilot"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/linear-autopilot",
    "agentPageUrl": "https://openagent3.xyz/skills/linear-autopilot/agent",
    "manifestUrl": "https://openagent3.xyz/skills/linear-autopilot/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/linear-autopilot/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Linear Autopilot",
        "body": "🔒 Security Note: This skill mentions API keys, tokens, and webhook URLs because it teaches you how to set up integrations with Linear, Discord, and automation services (Make.com, Pipedream, Zapier). These are necessary for the tutorial — the skill does NOT collect or transmit your credentials. All setup happens on your local machine and the services you configure.\n\nAutomated pipeline: Linear → Webhook Service → Discord → Clawdbot → Git\n\nTasks created in Linear automatically trigger Clawdbot processing with real-time notifications and git sync for Obsidian/local access."
      },
      {
        "title": "Free Tier Limitations",
        "body": "Before setup, be aware of free plan limits:\n\nServiceFree Tier LimitsRecommendationLinear250 issues, unlimited membersSufficient for most personal/small team useMake.com1,000 ops/month, 2 scenarios, 15-min interval✅ Best free option — generous limitsPipedream~100 credits (unclear reset), instant triggersGood if you need real-time, burns credits fastZapier100 tasks/month, 5 zaps, 15-min polling, no webhooks⚠️ Paid plan required for this workflow\n\nImportant notes:\n\nMake.com offers 1,000 ops/month free — our recommendation for free tier users\nPipedream has instant webhooks but limited free credits that deplete quickly\nZapier free plan does NOT support webhooks. You need a paid Zapier plan (Starter+)\nFor budget-conscious users: use Make.com"
      },
      {
        "title": "1. Configure Linear API",
        "body": "Run setup to store your Linear API key:\n\nmkdir -p ~/.clawdbot\necho \"LINEAR_API_KEY=lin_api_xxxxx\" > ~/.clawdbot/linear.env\n\nGet your API key from: Linear → Settings → API → Personal API keys"
      },
      {
        "title": "2. Get Linear IDs",
        "body": "Find your team and state IDs:\n\n./scripts/linear-api.sh teams    # Get team ID\n./scripts/linear-api.sh states   # Get state IDs (Todo, In Progress, Done)\n\nUpdate ~/.clawdbot/linear-config.json:\n\n{\n  \"teamId\": \"your-team-id\",\n  \"states\": {\n    \"todo\": \"state-id-for-todo\",\n    \"inProgress\": \"state-id-for-in-progress\",\n    \"done\": \"state-id-for-done\"\n  },\n  \"discord\": {\n    \"notifyUserId\": \"your-discord-user-id\",\n    \"taskChannelId\": \"your-linear-tasks-channel-id\"\n  },\n  \"git\": {\n    \"autoPush\": true,\n    \"commitPrefix\": \"task:\"\n  }\n}"
      },
      {
        "title": "3. Set Up Webhook Service",
        "body": "Choose your preferred automation platform:\n\nOption A: Make.com (Recommended for free tier)\n\n1,000 operations/month free\n15-minute minimum interval on free tier\nSee references/make-setup.md for step-by-step guide\n\nQuick setup:\n\nCreate scenario at make.com\nAdd Linear \"Watch Issues\" trigger\nAdd filter: state.name = \"Todo\"\nAdd Discord webhook action\nActivate scenario\n\nOption B: Pipedream (If you need instant triggers)\n\nInstant webhook triggers\nLimited free credits (deplete fast)\nSee references/pipedream-setup.md for step-by-step guide\n\nQuick setup:\n\nCreate workflow at pipedream.com with HTTP webhook trigger\nAdd Linear webhook pointing to your Pipedream URL\nAdd Discord \"Send Message\" step with Clawdbot bot token\nMessage template:\n<@BOT_ID>\n📋 New task: {{steps.trigger.event.data.title}}\n  Status: {{steps.trigger.event.data.state.name}}\n  ID: {{steps.trigger.event.data.identifier}}\n\nOption B: Zapier (If you have a paid account)\n\n100 tasks/month on free (very limited)\nNative Linear + Discord integrations\nSee references/zapier-setup.md for step-by-step guide\n\nQuick setup:\n\nCreate Zap: Linear (New Issue) → Discord (Send Channel Message)\nUse webhook or bot integration for Discord\nMap Linear fields to message template"
      },
      {
        "title": "4. Configure Discord Channel",
        "body": "Ensure Clawdbot listens to your task channel. In clawdbot.json:\n\n{\n  \"channels\": {\n    \"discord\": {\n      \"guilds\": {\n        \"YOUR_GUILD_ID\": {\n          \"channels\": {\n            \"YOUR_TASK_CHANNEL_ID\": {\n              \"allow\": true,\n              \"requireMention\": false\n            }\n          }\n        }\n      }\n    }\n  }\n}"
      },
      {
        "title": "Task Processing Workflow",
        "body": "When a task arrives in the Discord channel:"
      },
      {
        "title": "1. Acknowledge",
        "body": "Reply in channel confirming receipt"
      },
      {
        "title": "2. Notify User via DM",
        "body": "Use message tool:\n- action: send\n- target: [user ID from config]\n- message: \"📋 New task: [ID] - [title]. Starting now...\""
      },
      {
        "title": "3. Process Task",
        "body": "Update Linear status → \"In Progress\" via ./scripts/linear-api.sh start [task-id]\nExecute the task (spawn sub-agent if complex)\nSave outputs to appropriate location (research/, content/, etc.)"
      },
      {
        "title": "4. Complete",
        "body": "Update Linear status → \"Done\" via ./scripts/linear-api.sh done [task-id]\nAdd comment with results via ./scripts/linear-api.sh comment [task-id] \"[summary]\"\nSend completion DM to user"
      },
      {
        "title": "5. Git Sync (if enabled)",
        "body": "git add [output files]\ngit commit -m \"task: [ID] - [title]\"\ngit push"
      },
      {
        "title": "Script Reference",
        "body": "scripts/linear-api.sh commands:\n\nCommandDescriptionteamsList teams and IDsstatesList workflow statesget [id]Get task detailspendingList pending tasksstart [id]Mark as In Progressdone [id]Mark as Donecomment [id] \"text\"Add comment to task"
      },
      {
        "title": "Example Task Types",
        "body": "This workflow handles any task type:\n\nResearch: Spawn sub-agent, save to research/[topic].md\nContent creation: Generate drafts, save to content/\nCode tasks: Write/modify code, commit changes\nData processing: Run scripts, output results\nCustom: Define your own output patterns"
      },
      {
        "title": "Troubleshooting",
        "body": "Tasks not triggering?\n\nCheck Pipedream workflow is enabled\nVerify Discord channel is in Clawdbot config\nEnsure allowBots: true if using webhook\n\nLinear API errors?\n\nVerify API key in ~/.clawdbot/linear.env\nCheck team/state IDs are correct\n\nGit push failing?\n\nEnsure git remote is configured\nCheck SSH key or credentials"
      }
    ],
    "body": "Linear Autopilot\n\n🔒 Security Note: This skill mentions API keys, tokens, and webhook URLs because it teaches you how to set up integrations with Linear, Discord, and automation services (Make.com, Pipedream, Zapier). These are necessary for the tutorial — the skill does NOT collect or transmit your credentials. All setup happens on your local machine and the services you configure.\n\nAutomated pipeline: Linear → Webhook Service → Discord → Clawdbot → Git\n\nTasks created in Linear automatically trigger Clawdbot processing with real-time notifications and git sync for Obsidian/local access.\n\nFree Tier Limitations\n\nBefore setup, be aware of free plan limits:\n\nService\tFree Tier Limits\tRecommendation\nLinear\t250 issues, unlimited members\tSufficient for most personal/small team use\nMake.com\t1,000 ops/month, 2 scenarios, 15-min interval\t✅ Best free option — generous limits\nPipedream\t~100 credits (unclear reset), instant triggers\tGood if you need real-time, burns credits fast\nZapier\t100 tasks/month, 5 zaps, 15-min polling, no webhooks\t⚠️ Paid plan required for this workflow\n\nImportant notes:\n\nMake.com offers 1,000 ops/month free — our recommendation for free tier users\nPipedream has instant webhooks but limited free credits that deplete quickly\nZapier free plan does NOT support webhooks. You need a paid Zapier plan (Starter+)\nFor budget-conscious users: use Make.com\nSetup\n1. Configure Linear API\n\nRun setup to store your Linear API key:\n\nmkdir -p ~/.clawdbot\necho \"LINEAR_API_KEY=lin_api_xxxxx\" > ~/.clawdbot/linear.env\n\n\nGet your API key from: Linear → Settings → API → Personal API keys\n\n2. Get Linear IDs\n\nFind your team and state IDs:\n\n./scripts/linear-api.sh teams    # Get team ID\n./scripts/linear-api.sh states   # Get state IDs (Todo, In Progress, Done)\n\n\nUpdate ~/.clawdbot/linear-config.json:\n\n{\n  \"teamId\": \"your-team-id\",\n  \"states\": {\n    \"todo\": \"state-id-for-todo\",\n    \"inProgress\": \"state-id-for-in-progress\",\n    \"done\": \"state-id-for-done\"\n  },\n  \"discord\": {\n    \"notifyUserId\": \"your-discord-user-id\",\n    \"taskChannelId\": \"your-linear-tasks-channel-id\"\n  },\n  \"git\": {\n    \"autoPush\": true,\n    \"commitPrefix\": \"task:\"\n  }\n}\n\n3. Set Up Webhook Service\n\nChoose your preferred automation platform:\n\nOption A: Make.com (Recommended for free tier)\n1,000 operations/month free\n15-minute minimum interval on free tier\nSee references/make-setup.md for step-by-step guide\n\nQuick setup:\n\nCreate scenario at make.com\nAdd Linear \"Watch Issues\" trigger\nAdd filter: state.name = \"Todo\"\nAdd Discord webhook action\nActivate scenario\nOption B: Pipedream (If you need instant triggers)\nInstant webhook triggers\nLimited free credits (deplete fast)\nSee references/pipedream-setup.md for step-by-step guide\n\nQuick setup:\n\nCreate workflow at pipedream.com with HTTP webhook trigger\nAdd Linear webhook pointing to your Pipedream URL\nAdd Discord \"Send Message\" step with Clawdbot bot token\nMessage template:\n<@BOT_ID>\n📋 New task: {{steps.trigger.event.data.title}}\n  Status: {{steps.trigger.event.data.state.name}}\n  ID: {{steps.trigger.event.data.identifier}}\n\nOption B: Zapier (If you have a paid account)\n100 tasks/month on free (very limited)\nNative Linear + Discord integrations\nSee references/zapier-setup.md for step-by-step guide\n\nQuick setup:\n\nCreate Zap: Linear (New Issue) → Discord (Send Channel Message)\nUse webhook or bot integration for Discord\nMap Linear fields to message template\n4. Configure Discord Channel\n\nEnsure Clawdbot listens to your task channel. In clawdbot.json:\n\n{\n  \"channels\": {\n    \"discord\": {\n      \"guilds\": {\n        \"YOUR_GUILD_ID\": {\n          \"channels\": {\n            \"YOUR_TASK_CHANNEL_ID\": {\n              \"allow\": true,\n              \"requireMention\": false\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\nTask Processing Workflow\n\nWhen a task arrives in the Discord channel:\n\n1. Acknowledge\nReply in channel confirming receipt\n2. Notify User via DM\nUse message tool:\n- action: send\n- target: [user ID from config]\n- message: \"📋 New task: [ID] - [title]. Starting now...\"\n\n3. Process Task\nUpdate Linear status → \"In Progress\" via ./scripts/linear-api.sh start [task-id]\nExecute the task (spawn sub-agent if complex)\nSave outputs to appropriate location (research/, content/, etc.)\n4. Complete\nUpdate Linear status → \"Done\" via ./scripts/linear-api.sh done [task-id]\nAdd comment with results via ./scripts/linear-api.sh comment [task-id] \"[summary]\"\nSend completion DM to user\n5. Git Sync (if enabled)\ngit add [output files]\ngit commit -m \"task: [ID] - [title]\"\ngit push\n\nScript Reference\n\nscripts/linear-api.sh commands:\n\nCommand\tDescription\nteams\tList teams and IDs\nstates\tList workflow states\nget [id]\tGet task details\npending\tList pending tasks\nstart [id]\tMark as In Progress\ndone [id]\tMark as Done\ncomment [id] \"text\"\tAdd comment to task\nExample Task Types\n\nThis workflow handles any task type:\n\nResearch: Spawn sub-agent, save to research/[topic].md\nContent creation: Generate drafts, save to content/\nCode tasks: Write/modify code, commit changes\nData processing: Run scripts, output results\nCustom: Define your own output patterns\nTroubleshooting\n\nTasks not triggering?\n\nCheck Pipedream workflow is enabled\nVerify Discord channel is in Clawdbot config\nEnsure allowBots: true if using webhook\n\nLinear API errors?\n\nVerify API key in ~/.clawdbot/linear.env\nCheck team/state IDs are correct\n\nGit push failing?\n\nEnsure git remote is configured\nCheck SSH key or credentials"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/vincentchan/linear-autopilot",
    "publisherUrl": "https://clawhub.ai/vincentchan/linear-autopilot",
    "owner": "vincentchan",
    "version": "1.0.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/linear-autopilot",
    "downloadUrl": "https://openagent3.xyz/downloads/linear-autopilot",
    "agentUrl": "https://openagent3.xyz/skills/linear-autopilot/agent",
    "manifestUrl": "https://openagent3.xyz/skills/linear-autopilot/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/linear-autopilot/agent.md"
  }
}