Skip to main content

gh-attach

Uploads a local file (screenshot, image, PDF, zip, video) to GitHub user-attachments, downloads GitHub user-attachments, and embeds local files in a PR, issue, or comment. Use when asked to "attach a screenshot to the PR", "add an image to the issue", "embed before/after screenshots", "attach this file", or "download this GitHub attachment". Powered by `gh-attach`.

跳到安装

来源信息

仓库
github/awesome-copilot
最近来源活动
2026年8月5日 05:43
检测到的 SKILL.md 语言
英语
星标
39,255
分支
4,987

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
gh-attach
description
Uploads a local file (screenshot, image, PDF, zip, video) to GitHub user-attachments, downloads GitHub user-attachments, and embeds local files in a PR, issue, or comment. Use when asked to "attach a screenshot to the PR", "add an image to the issue", "embed before/after screenshots", "attach this file", or "download this GitHub attachment". Powered by `gh-attach`.
# gh-attach `gh attach` uploads a file to GitHub's internal user-attachments endpoint (no public API exists) and prints the URL, which GitHub auto-renders (image/video/file) wherever it's pasted. The URL inherits the repo's visibility, so private-repo uploads stay private. ## Prerequisites ```sh gh extension list | grep -q 'gh attach' || gh extension install sudosubin/gh-attach ``` Uploads use a GitHub browser session cookie, not the `gh` token. By default, `gh` must be authenticated so `gh-attach` can select the matching browser account. If the wrong account is selected, add `--browser <name> --profile <name>`. For headless use, set `GH_ATTACH_SESSION_TOKEN` to the bare `user_session` cookie value. Treat it as a full account credential. ## Steps **1. Upload**: Use an absolute quoted path. `-R` is optional inside a repository. For GHES, use `-R host/owner/repo`. The command prints the URL on one line. GitHub auto-renders it (image/video/file), so use it as-is: ```sh URL=$(gh attach "$FILE" -R <owner>/<repo>) ``` **2. Embed** (always `--body-file -`, e.g. `gh pr comment/edit`, `gh issue comment/edit`): ```sh printf '## Screenshots\n\n%s\n' "$URL" | gh pr comment <pr> -R <owner>/<repo> --body-file - ``` **3. Download**: Specify the destination explicitly. Private attachments use the active `gh` token, with browser cookies as an authorization fallback: ```sh gh attach download "$URL" -O "$FILE" ``` ## Notes - Private repo: URL renders only for authorized viewers. An anonymous fetch is expected to return 404 or 403. - Sizing: embed `<img width="800" src="$URL">` instead of the bare URL. - GitHub Cloud and GHES decide which file extensions and content types they accept.
在 GitHub 查看