Skills
Messaging Official
Linear
Add Linear as a messaging channel. Every comment on a Linear issue triggers the agent — no @-mention needed.
What it does
- Agent participates in Linear issue comment threads
- Catch-all message forwarding — every comment triggers the agent
- Per-thread session isolation per issue
- OAuth app or Personal API Key authentication
- Self-message filtering avoids reply loops
What you'll need
- NanoClaw installed and running
- Admin access to a Linear workspace
- A publicly reachable HTTPS endpoint for the webhook
Install
/add-linear How it works
The /add-linear skill connects NanoClaw to Linear so the agent can participate in issue comment threads. Linear OAuth apps can’t be @-mentioned, so this adapter uses catch-all forwarding: every comment on every issue in a configured team triggers the agent.
That sounds noisy, but in practice it scopes well — you wire one Linear team to one agent group, and the agent only sees comments on issues in that team.
Setup
You can authenticate two ways:
- OAuth app (recommended) — the agent posts as a separate app identity, so your own comments aren’t filtered. Create one at Linear Settings → API → OAuth Applications, enable Client credentials under grant types, and grab the Client ID + Secret.
- Personal API Key — simpler, but the agent posts as you. Your own comments will be filtered (other team members’ comments still trigger).
Then create a webhook:
- Linear Settings → API → Webhooks → New webhook.
- URL:
https://your-domain/webhook/linear. - Pick the team you want monitored.
- Check Comment as the event.
- Save and copy the signing secret.
The skill also patches src/channels/chat-sdk-bridge.ts to add a catchAll flag on the bridge config and forwards every unsubscribed message through it.
Add to .env:
LINEAR_CLIENT_ID=...
LINEAR_CLIENT_SECRET=...
LINEAR_WEBHOOK_SECRET=...
LINEAR_TEAM_KEY=ENG
What you get
- Issue comment threads — each issue’s comments become a per-thread session.
- Catch-all forwarding — no @-mention needed. Every comment in the configured team triggers the agent.
- OAuth or PAT — pick whichever fits your workspace policy.
- Webhook signature verification to reject forged events.
Tips
- New Linear webhooks may take 1–5 minutes before the first event arrives. That’s normal.
- The platform ID format is
linear:<TEAM_KEY>(e.g.linear:ENG). Find your team key in Linear under Settings → Teams — it’s the prefix shown next to issue IDs. - Use
per-threadsession mode so each issue gets its own session, otherwise unrelated issues will share context. - For public workspaces, set
unknown_sender_policy: 'strict'and add trusted members. For private workspaces,publicis safe — only workspace members can comment anyway. - One agent group per Linear team is the typical setup. Multiple teams can share an agent group if you want unified memory across them.