一键导入
linear-app-setup
Create and configure a Linear agent app so the assistant can manage issues, projects, and workflows under its own identity
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create and configure a Linear agent app so the assistant can manage issues, projects, and workflows under its own identity
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Read, search, send, and manage messages across Gmail, Outlook, Telegram, and other platforms
An on-demand personal daily briefing — weather, headlines, the shape of your day, and one thing worth your attention — in a sharp executive-assistant voice. The general-purpose morning brief; richer work or admin digests compose it as their general layer.
One-time migration of an existing memory-v2 concept corpus into the memory-v3 section-grain "wiki" — topical articles with a stand-alone lead and queryable sections — with loss-proof staging, assistant-reviewed authoring, and a retrieval-eval gate before cutover.
Delegate a big or high-stakes job to a fleet of parallel subagents, orchestrated deterministically; runs unattended and reports back
Manage contacts, communication channels, access control, and invite links
Build and edit small, personal visual tools and artifacts — dashboards, trackers, calculators, data visualizations, charts, simple landing pages, and slide decks the user wants for THEMSELVES. This is the right skill whenever the user asks to "visualize this," "make a chart," or "build an artifact" for their own use, or to edit an app they already built here. Do NOT reach for a ui_show dynamic_page to fake an artifact — build a real persistent app here. NOT for complex, multi-user, or shippable products — those go to a real project folder with a coding agent (see Scope below).
| name | linear-app-setup |
| description | Create and configure a Linear agent app so the assistant can manage issues, projects, and workflows under its own identity |
| compatibility | Designed for Vellum personal assistants |
| metadata | {"icon":"assets/icon.svg","emoji":"🔷","vellum":{"category":"development","display-name":"Linear App Setup","user-invocable":true}} |
Set up a Linear agent app so the assistant operates under its own identity in a Linear workspace — creating issues, commenting, updating status, etc. as itself.
Linear agent apps act as their own entity in the workspace. They're free (don't count as billable users), can be @mentioned, and can be delegated issues.
Total manual effort: ~3 interactions — create the app, grab the API key, (optionally) upload an avatar.
Direct the user to create a new application:
Open https://linear.app/settings/api/applications/new to create a new application.
Guide them through the form:
| Field | Value |
|---|---|
| Application name | The assistant's name. This is how the agent appears in mentions and filters. |
| Developer name | The user's name or org name |
| Developer URL | Any valid URL |
Click Create when done.
After creating the app, the user should generate a personal API key scoped to this app identity. This is how the assistant authenticates — simpler and more reliable than the full OAuth token refresh flow.
Direct the user:
On the app's settings page, look for the option to create an API key for this application. Copy the key.
Prompt for the API key via secure UI:
assistant credentials prompt --service linear --field api_key \
--label "Linear App API Key" \
--placeholder "lin_api_xxxxxxxxxx" \
--description "API key for your Linear app (used to authenticate API requests)" \
--allowed-domains "api.linear.app" \
--allowed-tools "bash" \
--injection-templates '[{"hostPattern":"api.linear.app","injectionType":"header","headerName":"Authorization","valuePrefix":"Bearer "}]'
After storing the key, verify the connection:
curl -s -X POST https://api.linear.app/graphql \
-H "Content-Type: application/json" \
-d '{"query":"{ viewer { id name email } }"}'
Run with network_mode: "proxied" and the linear credential. A successful response returns the app's identity:
{
"data": {
"viewer": {
"id": "...",
"name": "MyAssistant",
"email": "...@oauthapp.linear.app"
}
}
}
The @oauthapp.linear.app email confirms it's an app actor, not a user.
Linear doesn't support setting the avatar via API — it must be uploaded through the web UI.
If the assistant has an avatar, send it to the user:
<vellum-attachment source="sandbox" path="data/avatar/avatar-image.png" />
Then direct them to the app settings page:
Go to https://linear.app/settings/api, find your app, and upload the avatar image under the app icon.
The app appears as a distinct entity in Linear:
app:mentionable scope is enabledapp:assignable scope is enabled — delegation sets the app as delegate, not assignee, so humans keep ownershipWhen the agent performs an action that originated from a specific user in a third-party system, use createAsUser and displayIconUrl to attribute it:
mutation {
issueCreate(
input: {
title: "Bug report"
teamId: "TEAM_UUID"
createAsUser: "Jane"
displayIconUrl: "https://example.com/jane-avatar.png"
}
) {
success
issue {
identifier
url
}
}
}
This renders as "Jane (via AppName)" in Linear.
After installation, workspace admins can modify the app's team access at any time through the app's details page in Linear settings.