Linear Webhook

WarnAudited by ClawScan on May 10, 2026.

Overview

The skill largely matches a Linear-to-agent webhook, but it under-discloses credential use, adds an unexpected agent route, and tells agents to run local commands that can post back to Linear.

Install only if you are comfortable exposing a token-protected webhook that can trigger agents from Linear comments. Before use, remove or document the @forge route, replace the mandatory node/shell post-back command with a safer approved workflow, use a least-privilege Linear token, and avoid implicit reads from ~/.linear_api_key or other local token stores.

Findings (6)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

The skill can use an existing local Linear credential to post comments, potentially as a personal account rather than a clearly scoped integration.

Why it was flagged

The code reads local OAuth/API key files and uses the resulting API key to authorize Linear API writes, even though the metadata declares no credential requirement.

Skill content
const tokensPath = process.env.HOME + '/.config/clawdbot/linear-agent-tokens.json'; ... personalKey = fs.readFileSync(process.env.HOME + '/.linear_api_key', 'utf8').trim(); ... headers: { 'Authorization': apiKey }
Recommendation

Declare the required Linear credential, require an explicit configured token, avoid implicit reads from HOME credential files, and use the least-privileged Linear token possible.

What this means

A Linear comment can lead an agent to execute a local command and publish output back into Linear without a clear human review step.

Why it was flagged

The transform injects a directive for the downstream agent to run a local command that reads a credential and mutates Linear by posting a comment.

Skill content
**⚠️ MANDATORY: After responding, run this command to post back to Linear:** ... LINEAR_API_KEY=$(cat ~/.linear_api_key) node -e
Recommendation

Replace the mandatory shell command with a controlled response handler, add explicit approval for posting, and safely serialize agent responses instead of embedding them in ad hoc commands.

What this means

If this helper is run with an attacker-controlled or malformed session key, it could execute unintended local shell commands.

Why it was flagged

The helper interpolates a sessionKey argument into a shell command; the accepted session-key pattern leaves the issue-id portion broad enough to be unsafe if untrusted input reaches it.

Skill content
const { stdout } = await execAsync(`clawdbot sessions history ${sessionKey} --json`);
Recommendation

Use execFile or spawn with an argument array, strictly validate session keys, and avoid shell interpolation for any value derived from webhooks or agent/session metadata.

What this means

Linear users could trigger an unexpected agent session if @forge exists in the environment.

Why it was flagged

The public description and docs emphasize @mason and @eureka, while the code also routes @forge, making the effective agent surface broader than disclosed.

Skill content
const AGENT_MENTIONS = { '@mason': 'mason', '@eureka': 'eureka', '@forge': 'forge' };
Recommendation

Remove undocumented agent mappings or document them clearly and make the allowed mention-to-agent map an explicit administrator-controlled allowlist.

What this means

Linear issue content and commenter information will be sent into the configured agent/model workflow.

Why it was flagged

Forwarding Linear issue and comment context to agents is central to the skill, but that data can include private project details or personal information.

Skill content
The agent receives: - Issue title - Issue description - Issue labels - Comment text (the @mention) - Issue URL - Commenter name
Recommendation

Limit the webhook to appropriate Linear workspaces/events, avoid using it on highly sensitive issues unless approved, and verify where agent/model data is processed.

What this means

Users have less assurance about where the code came from and must rely on the reviewed artifact contents.

Why it was flagged

The artifact has no declared upstream source or homepage, which makes provenance harder to verify, although no remote install or dependency download is shown.

Skill content
Source: unknown; Homepage: none; No install spec — this is an instruction-only skill.
Recommendation

Review the included files before use and prefer a version with a known source repository, documented release process, and corrected credential declarations.