About linear-uploads
A skill for downloading attachments and images from Linear issues with `linear-cli`. It can save downloads to a file or send raw bytes to stdout for piping.
Key features
- 01Fetch issue attachments and images
- 02Save downloads to a specified file
- 03Write raw bytes to stdout
- 04Use upload URLs from Linear
Use cases
- 01Save an issue screenshot locally
- 02Pipe an attachment into another tool
- 03Download an image for an AI agent to inspect
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ nesszer/ linear-cli --skill linear-uploadsAfter installing, type/linear-uploadsin Claude Code to confirm it loaded.
Details
From the project READMELinear Uploads
Download attachments and images from Linear issues using linear-cli.
Download to File
# Download image/attachment to file
linear-cli up fetch "https://uploads.linear.app/..." -f image.png
# Download to temp directory
linear-cli up fetch "https://uploads.linear.app/..." -f /tmp/screenshot.png
Output to Stdout
# Pipe to other tools
linear-cli up fetch "https://uploads.linear.app/..." | base64
# Redirect to file
linear-cli up fetch "https://uploads.linear.app/..." > file.png
Finding Upload URLs
Upload URLs are found in:
- Issue descriptions (
linear-cli i get LIN-123 --output json) - Comments (
linear-cli cm list LIN-123 --output json)
URL pattern: https://uploads.linear.app/{org}/{upload}/{filename}
View Images (AI Agents)
Since Claude is multimodal, download then read:
# 1. Download to temp file
linear-cli up fetch "https://uploads.linear.app/..." -f /tmp/screenshot.png
# 2. Use Read tool on the file
# Claude can view images directly
Tips
- Requires valid LINEAR_API_KEY
- Use
-f/--fileto specify output filename - Without
-f, outputs raw bytes to stdout - URLs must be from
uploads.linear.app
Comments
Markdown supported