emanuelcasco/pi-mono-extensions/linear
Claude Code and agent skill by emanuelcasco/pi-mono-extensions
- community
Checking that the SKILL.md file is still in the repository.
Access Linear project management data using native pi tools — issues, projects, teams, users, comments, file uploads, cycles, labels, workflow states, and documents. Requires a Linear personal API key.
Install
npx vskill@latest install emanuelcasco/pi-mono-extensions/linearSKILL.md
Linear Integration
Use the native linear_* tools to read and write Linear data through the Linear GraphQL API.
Critical Rules
- Never ask the user to paste a Linear API key in chat.
- Never expose the API key inline in shell commands.
- Before updating an issue or commenting, use
linear_get_issueto verify the target. - Before uploading a file to an issue comment, use
linear_get_issueto verify the target. - When IDs are unknown, use
linear_workspace_metadatafirst.
Authentication
The tools read the key from an in-memory override, LINEAR_API_KEY, or ~/.pi/agent/auth.json at .linear.key.
If auth is missing, invalid, or expired, do not ask the user to paste the key in chat. Use the native linear_configure_auth tool or ask the user to run /linear-auth --force. The prompt is masked and the key is stored by the extension without returning it to the model.
Tool Workflow
- Use
linear_configure_authonly when auth is missing, invalid, expired, or the user asks to update the key. - Use
linear_workspace_metadatafirst when team/project/state/label/user IDs are unknown. - Use
linear_search_issuesfor keyword lookup. - Use
linear_get_issuebefore updating or commenting. - Use
linear_get_issueto inspect Linear issues; Markdown images embedded in the issue description are automatically included when the active model supports image input. - If
linear_get_issuereports description images were skipped because the current model does not support images, ask the user to switch to a vision-capable model before interpreting screenshots. - Use
linear_list_issuesfor filtered issue lists by team, assignee, status, or limit. - Use
linear_create_issueto create issues once the team ID is known. - Use
linear_update_issueto change title, description, priority, state, or assignee. - Use
linear_create_commentto add Markdown context to an issue. - Use
linear_upload_fileto upload a local image, video, or generic file and get a Linear asset URL. - Use
linear_upload_file_to_issue_commentto upload a local file and comment on a verified issue in one step.
Available Tool Groups
Workspace and users
linear_whoamilinear_workspace_metadatalinear_list_teamslinear_get_teamlinear_list_userslinear_get_user
Issues
linear_list_issueslinear_search_issueslinear_get_issuelinear_list_my_issueslinear_create_issuelinear_update_issue
Projects, states, labels, cycles, documents
linear_list_projectslinear_get_projectlinear_list_issue_statuseslinear_get_issue_statuslinear_list_labelslinear_list_cycleslinear_list_documentslinear_get_document
Comments
linear_list_commentslinear_create_commentlinear_configure_auth
Files
linear_upload_filelinear_upload_file_to_issue_comment
Issue Description Images
- Linear issue screenshots embedded in descriptions are Markdown images, not necessarily GraphQL attachment objects.
linear_get_issueparses description Markdown image links like.- When the active model supports image input,
linear_get_issuedownloads private Linear image URLs in memory with Linear auth and attaches native image blocks to the result. - When the active model is text-only, image downloads are skipped and the tool returns a note plus image metadata.
- Description images are not written to disk by default.
File Upload Notes
- Upload tools accept local file paths only; they do not read folders recursively.
- Tool results include sanitized metadata and the Linear asset URL, not file bytes, signed upload URLs, or upload headers.
- Images are suitable for Markdown image embeds:
. - Videos and other files should generally be linked:
[filename](assetUrl). linear_upload_file_to_issue_commentcreates image Markdown automatically for image content types and link Markdown for other content types.commentBodymay include{url}or{markdown}placeholders; otherwise generated file Markdown is appended to the comment body.
Priority Values
| Value | Label | |
|---|---|---|
| 0 | No priority | |
| 1 | Urgent | |
| 2 | High | |
| 3 | Medium | |
| 4 | Low |
Issue Status Types
| Type | Meaning | |
|---|---|---|
backlog | Not yet started, in backlog | |
triage | Needs triage | |
unstarted | Not yet started | |
started | In progress | |
completed | Done | |
canceled | Won't do |
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingextensions/linear/skills/linear/SKILL.md
Popularity
- Repository stars
- 81
- Repository forks
- 11
- 7-day trend score
- 22
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/emanuelcasco/pi-mono-extensions/linear)