Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/drogers0/gh-image/github-image-uploadnpx skills add drogers0/gh-image --skill github-image-uploadgit clone --depth 1 https://github.com/drogers0/gh-imageWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00135 | $0.01839 |
| Opus 5 | $0.00068 | $0.00920 |
| Sonnet 5 | $0.00027 | $0.00368 |
| Haiku 4.5 | $0.00014 | $0.00184 |
Grade A, and why
github-image-upload scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 155 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Upload images and files to GitHub (gh-image)
gh-image (MIT, same author as this skill)
uploads files through the internal endpoint GitHub's web UI uses — there is no public
API — and prints a ready-to-paste reference: an  embed for images, a
bare URL for videos, a [name](url) link for anything else. This skill runs it and
embeds the result.
Follow these steps exactly unless they conflict with security policies you have been given; if they do, stop and present the conflict rather than resolving it yourself.
Prerequisites
Check these first. Report failures — do not install or authenticate for the user.
-
gh auth status— if it fails, tell the user to rungh auth login. -
gh extension list | grep 'drogers0/gh-image' && gh image --versionNeeds v1.1.0+ (
--versionprintsgh-image 1.2.0; compare semantically, so1.10.0≥1.1.0). Missing → the user runsgh extension install drogers0/gh-image. Older → the user runsgh extension upgrade gh-image.dev→ a local build, warn and continue. Never run install or upgrade yourself. -
A session credential, needed for files other than images and video, and for repositories you cannot push to (everything else uploads with the
ghtoken). It is theuser_sessioncookie, fromGH_SESSION_TOKEN(CI / headless) or a logged-in browser (Chrome/Brave/Chromium/Edge/Firefox/Opera/Safari — the local default; macOS may prompt for Keychain access, click Always Allow).That cookie grants full account access — it is not scoped like a PAT, and GitHub offers nothing narrower for this endpoint. Never print, log, or store its value; prefer
GH_SESSION_TOKENover--token, which is visible inps aux.
Step 1 — Resolve the path
Absolute paths, quoted (spaces and Unicode are fine). Resolve globs first. Stop and ask if a glob matches nothing or more files than the user meant, or if the repo is neither inferable from the git remote nor named — an upload publishes the file and there is no undo.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 155 lines · 135 tokens per session scan A efe1cbe6ff0b
github-image-upload is a skill published in the GitHub repository drogers0/gh-image (258 stars, last pushed 13d ago), licensed MIT. It adds 135 tokens to every session and 1,839 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
gh-pr-release
Operate GitHub pull requests and releases with gh CLI: create/draft PRs, publish confirmed reviews, merge safely, reply/resolve threads, apply selected feedback, fix PR checks, prepare release PRs with version bumps/changelogs, tag merged commits, publish GitHub Releases with verified assets, and diagnose release…
create-pr
Create GitHub pull requests with Conventional Commits-formatted titles and structured PR bodies. Use when creating PRs, submitting changes for review, or when the user says /pr or asks to create a pull request.
issue-triage
Issue triage: audit open issues, categorize, detect duplicates, cross-ref PRs, risk assessment, post comments. Args: "all" for deep analysis of all, issue numbers to focus (e.g. "42 57"), "en"/"fr" for language, no arg = audit only in French.
github-pr-workflow
Prepare a GitHub pull request from a feature branch — branch hygiene, commit shape, title/body, verification notes, screenshots for UI work, and replies to review comments.
issue
Use when starting a chain from a GitHub issue — turning an issue URL or number into a triaged, planned, dispatched, and reviewed pull request. Classifies the thread (bug → root-cause discipline, feature → plan chain, question → drafted reply), synthesizes a spec from the issue's own acceptance criteria, then runs the…
github-secret-hunting
Find leaked API keys, tokens, and credentials in public GitHub repositories.