Skip to main content
skill CX Codex

github-image-upload · jssblck — Claude Code skill: install and use

Adds screenshots or recordings to a GitHub PR, issue, or comment, then checks that each file reached the intended destination.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add jssblck/agents --skill github-image-upload -a claude-code
Open on GitHub

What github-image-upload does

This skill attaches images and videos through gh pr create, gh pr edit, gh pr comment, plus the matching gh issue commands. It can place the uploaded URL into a Markdown image reference, keep existing text intact, and add alt text for an attachment.

The agent first identifies the repository, PR or issue, and the exact body or comment to change. It then reads that destination and matches every requested file with its uploaded URL. Proof files stay out of the repository.

GitHub CLI (gh) 2.99.0 or newer and network access to GitHub are required. Without an authenticated gh session, publication cannot complete; private repositories should be checked with the signed-in account. A failed command may still have created a PR or comment, so replaying a create command blindly can duplicate work.

What it helps with

  • attach a screenshot to a pull request
  • add a screen recording to an issue
  • update a comment with an uploaded file
  • verify that each attachment reached its destination

Example prompts for the agent

  • Attach /abs/path/error.png to the pull request and verify its body.
  • Add the screen recording to the issue comment, preserve its current text, and check the result.
  • Create the pull request with the requested image, but do not commit the proof file.

How to install github-image-upload

1Skills CLI (Vercel)

npx skills add jssblck/agents --skill github-image-upload -a claude-code

2Manually: put the files in place

~/.claude/skills/github-image-upload/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/github-image-upload/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about github-image-upload

How do I install github-image-upload in Claude Code?

Run npx skills add jssblck/agents --skill github-image-upload -a claude-code, then open ~/.claude/skills/github-image-upload/SKILL.md.

What does github-image-upload do?

It attaches screenshots or videos to GitHub pull requests, issues, and comments through gh, then verifies the exact destination.

What should I do after a command returns an error?

A pull request or comment may already exist, with some files uploaded. Inspect the destination first and edit it with only the missing attachments.

Source text

SKILL.md · MIT
---
name: github-image-upload
description: Attach requested screenshots or recordings to a GitHub PR, issue, or comment and verify their destination.
license: MIT
compatibility: Requires GitHub CLI (`gh`) 2.99.0 or newer, and network access to GitHub.
allowed-tools: >-
  Glob Bash(gh auth status) Bash(gh --version) Bash(gh pr create:*)
  Bash(gh pr edit:*) Bash(gh pr comment:*) Bash(gh issue create:*)
  Bash(gh issue edit:*) Bash(gh issue comment:*) Bash(gh pr view:*)
  Bash(gh issue view:*)
---

# Attach proof on GitHub

Use `--attach` on `gh pr create`, `edit`, or `comment`, or the corresponding
`gh issue` command. Publication must be authorized by the task. Inline text
evidence in a language-tagged fence; `--attach` accepts images and videos.

Check `gh --version` and authentication if they are not already established.
If the installed CLI lacks `--attach`, continue preparing the proof and report
the version needed. A request to upload proof does not authorize upgrading the CLI.

## Attach to the intended destination

Identify the repository, PR or issue, and whether the destination is its body
or a particular comment. Preserve existing content. Do not commit proof files.

Write a multiline body to a file and pass `--body-file`. An image reference
whose destination matches the attachment path is replaced with the uploaded URL:

```markdown
![Error state](/abs/path/error.png)
```

```sh
gh pr edit <number> -R <owner/repo> --body-file <body-file> --attach '/abs/path/error.png'
```

For an appended attachment, `--attach '/abs/path/error.png#Error state'` supplies
alt text. Repeat the flag for multiple files. Videos render as players when
their image reference has empty alt text and occupies its own paragraph.

## Verify and recover

Read the specific body or comment that the command created or changed. Verify
each requested file has its corresponding uploaded URL in that destination,
using the command result and the attachment's surrounding text. An attachment
elsewhere in the thread does not prove this upload succeeded.

A nonzero exit can still leave a created PR or comment and some uploaded files.
Inspect that result before retrying. Preserve successful uploads, correct a
recoverable error, and edit the existing destination with only the missing
files. Never replay a create or comment command blindly. If the result is
uncertain or access prevents repair, report what succeeded and what remains.

For a private repository, verify with the signed-in account; an anonymous
403 or 404 does not establish failure. Text-only proof needs its intended
fenced content, not an attachment URL.

© jssblck · MIT · jssblck/agents

Similar skills

All skills for Git and GitHub →

github-image-upload by other authors comes first.

From the same set6

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor