关于 gitshot
gitshot 是用于从命令行上传图片并生成 GitHub Markdown 链接的 Skill,适合将截图或视觉差异附加到 Issue、PR 和评论中。它可使用 GitHub CLI,并提供其他上传后端作为回退或选项。
主要功能
- 01命令行上传图片
- 02输出 URL 或 Markdown
- 03支持多种图片格式
- 04可用于 PR 评论与 Issue 正文
- 05支持多个上传后端
适用场景
- 01将截图附加到 GitHub PR 评论
- 02在 PR 中展示前后视觉差异
- 03为 GitHub Issue 创建含图正文
- 04获取图片链接以手动嵌入 Markdown
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ vipulgupta2048/ gitshot --skill gitshot安装后在 Claude Code 中输入/gitshot确认已加载。
详细介绍
gitshot — 将图片上传到 GitHub
从终端上传图片,并获取可直接用于 GitHub 议题、PR 和评论的 Markdown URL。
何时使用此技能
- 用户要求将图片或屏幕截图“上传”“附加”或“嵌入”到 GitHub PR 或议题中
- 工作流生成了需要放入 PR 评论或议题正文中的屏幕截图或图片
- 用户要求在 PR 中提供“视觉差异”“前后对比”或“屏幕截图”
- 用户说“将图片添加到 PR”“将屏幕截图附加到议题”或类似内容
- 你已截取屏幕截图,需要将其加入 GitHub Markdown
快速参考
# Upload one image — returns markdown
npx gitshot screenshot.png
# → 
# Upload and comment on a PR (most common agent workflow)
npx gitshot screenshot.png | gh pr comment <PR_NUMBER> --body-file -
# Upload and create an issue with image
npx gitshot bug.png | gh issue create --title "Bug report" --body-file -
# Upload multiple images
npx gitshot before.png after.png
# Get raw URL only (for embedding in larger text)
npx gitshot --raw screenshot.png
# JSON output (structured, for programmatic use)
npx gitshot --json screenshot.png
# → {"url":"...","markdown":"","filename":"...","backend":"release"}
工作原理
- 如果
ghCLI 已通过身份验证(最常见):将图片上传到<user>/gitshot-images仓库,作为 GitHub Release 资源。首次使用时会自动创建仓库。 - 如果没有
ghCLI:回退到 catbox.moe(免费,无需注册)。 - 可选:设置
CLOUDINARY_URL或IMGBB_API_KEY环境变量以使用这些后端。
常见 Agent 工作流
屏幕截图 → PR 评论
# Take screenshot on macOS, upload, comment on PR
screencapture -x /tmp/shot.png
npx gitshot /tmp/shot.png | gh pr comment 42 --body-file -
PR 描述中的视觉差异
BEFORE=$(npx gitshot --raw before.png)
AFTER=$(npx gitshot --raw after.png)
echo "## Visual Diff\n| Before | After |\n|--------|-------|\n|  |  |" | gh pr comment 42 --body-file -
上传图片并获取 URL 以便手动嵌入
URL=$(npx gitshot --raw diagram.png)
# Now use $URL anywhere in markdown text
创建带屏幕截图的议题
BODY=$(npx gitshot bug.png)
gh issue create --title "UI Bug: Button misaligned" --body "$BODY"
重要说明
- stdout 仅包含 URL 或 Markdown(可安全用于管道)
- stderr 包含状态消息(后端名称、进度)
- 退出代码 0 = 成功,1 = 失败
- 支持的格式:PNG、JPG、JPEG、GIF、SVG、WebP、BMP、ICO、TIFF、AVIF
- 首次使用发布后端时会自动创建
<user>/gitshot-images仓库(仅需一次) - **隐私:**发布后端会将图片上传到公开仓库。请勿上传敏感图片(凭据、内部仪表板)。敏感内容请使用 Cloudinary 或 imgbb。
评论
支持 Markdown