ワンクリックで
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.