← ClaudeAtlas

gh-imagelisted

Upload local images to GitHub and get back ready-to-paste markdown (user-attachments URLs) for embedding in issues, PRs, comments, READMEs, gists, or Discussions, via the gh image CLI extension (drogers0/gh-image). Use when the user wants to attach/embed/upload an image or screenshot into a GitHub issue/PR/comment, mentions "gh image", "user-attachments URL", "include the screenshots in the issue", or asks to file an issue/PR with an image. For locating macOS screenshots first, see the screenshots skill.
magnusrodseth/dotfiles · ★ 2 · Data & Documents · score 71
Install: claude install-skill magnusrodseth/dotfiles
# gh-image GitHub has no public image-upload API. The web comment box uses an internal endpoint that mints `https://github.com/user-attachments/assets/<uuid>` URLs. The `gh image` extension (`drogers0/gh-image`) replays that flow from the terminal, so you can embed images in GitHub markdown without leaving the CLI. Private-repo uploads stay private (the asset's visibility inherits the **target repo**). For finding/curating macOS screenshots in `~/screenshots/` before uploading, see the **screenshots** skill — this skill is about the upload tool itself and works with *any* image path. ## Quick start ```bash # One-time install gh extension list | grep -q 'drogers0/gh-image' || gh extension install drogers0/gh-image # Upload (repo inferred from the current git remote) gh image screenshot.png # -> ![screenshot.png](https://github.com/user-attachments/assets/…) gh image a.png b.png --repo owner/repo # multiple files / explicit repo ``` Each successful upload prints one `![name](url)` line to **stdout**; errors go to stderr and the process exits non-zero (other files in the batch still upload). Capture stdout and paste the markdown into the target body. ## Workflow: file an issue/PR/comment with images 1. **Curate first.** Read each image with the Read tool; upload only the ones that show the point. Never batch-dump. 2. **Upload** the keepers; collect the returned markdown URLs. 3. **Embed.** Either inline with command substitution, or build a body file: ```bash gh