attach-media

attach-media is a skill for Claude Code from mthines/agent-skills. It costs 167 tokens per session (1,737 once invoked), scanned A, original, MIT.

A tool for uploading local screenshots and screen recordings to GitHub and placing them in a pull request or issue. It uses GitHub-hosted links that display images and videos inline, without making commits or using another hosting service.

In plain words
What is it for?
Attach screenshots or recordings to a pull request or issue body, add them in a new comment, or upload them and return Markdown links for another message.
Why use it?
It lets reviewers see visual evidence without checking out the code or running the project. It also keeps the upload and embedding process in one reusable place.

Skill for Claude Code

Written for Claude Code: disable-model-invocation in frontmatter.

Part of the mthines-agent-skills plugin — 57 skills, 5 agents shipped together

Good fit Attach screenshots or recordings to a pull request or issue body, add them in a new comment, or upload them and return Markdown links for another message.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/mthines/agent-skills/attach-media
Install

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.

Any agent
npx skills add mthines/agent-skills --skill attach-media
Clone the repo
git clone --depth 1 https://github.com/mthines/agent-skills

Made for: Claude Code.

Or install mthines-agent-skills, the plugin that ships this one along with the rest of its 57 skills, 5 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for attach-media

README.md
[![agentmods](https://agentmods.dev/badge/skills/mthines/agent-skills/attach-media/github.svg)](https://agentmods.dev/skills/mthines/agent-skills/attach-media)
Your own site
<a href="https://agentmods.dev/skills/mthines/agent-skills/attach-media"><img src="https://agentmods.dev/badge/skills/mthines/agent-skills/attach-media/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for attach-media

Your own site · 80×15
<a href="https://agentmods.dev/skills/mthines/agent-skills/attach-media"><img src="https://agentmods.dev/badge/skills/mthines/agent-skills/attach-media.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 167 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,737 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What 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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00167 $0.01737
Opus 5.5 $0.00067 $0.00695
Sonnet 5.5 $0.00033 $0.00347
Haiku 4.5 $0.00017 $0.00174

Measured yesterday against content hash 7e35864e0202, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

attach-media scanned grade A with 1 finding 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 yesterday.

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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

`gh --attach` (gh ≥ 2.99), falls back to the same upload endpoint over curl
skills/delivery/attach-media/SKILL.md · 116 lines

How it starts

The opening of the file, as written. The whole thing — 116 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Attach Media

Put real screenshots and recordings into a GitHub PR or issue, so a reviewer sees the change without running it. Every skill that wants media on a PR delegates here, so the upload method lives in exactly one place.

Skill("attach-media", "<pr-url|#n> <file>[#alt] ... [--to body|comment|urls] [--heading <text>] [--dry-run]")
Argument Default Meaning
<pr-or-issue-ref> the current branch's open PR A PR or issue URL, or #<n> in the current repo.
<file>[#alt] — (required, 1–50) A local file. Text after # is the image's alt text; video has none.
--to body yes Write into the owned region of the PR or issue body. Re-runs merge into the region by filename.
--to comment — Post one new comment instead. Use for evidence attached to a specific event.
--to urls — Upload only, through rung 2, and print one Markdown line per file for the caller to embed. Use it for a review thread or any body the caller writes itself. Writes nothing to GitHub except the upload.
--heading <text> Screenshots The ### heading inside the owned region.
--dry-run — Run the preflight and print the planned region. Upload nothing.

Step 1: Preflight every file

Drop a file from the run, and name it in the report, when any check fails:

# Check On failure
1 The file exists and is non-empty. skipped (missing)
2 The extension is png, jpg, jpeg, gif, webp, svg, mp4, mov, or webm. Convert other video (avi, mkv) with ffmpeg -i in.avi -c:v libx264 -pix_fmt yuv420p -an out.mp4; else skipped (unsupported type)
3 An image or GIF is ≤ 10 MB; a video is ≤ 10 MB (100 MB on a paid plan). Re-encode a video once: ffmpeg -i in.webm -vf scale=1280:-2 -c:v libx264 -crf 30 -an out.mp4; else skipped (too large)
4 You looked at it. Open every image with the Read tool; for a video, extract three frames (ffmpeg -i v.webm -vf fps=1/3 -frames:v 3 /tmp/f%d.png) and open them. skipped (contains <secret/token/PII>) — never upload it

Read the full file on GitHub · 116 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

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.

  1. yesterday First seen · 116 lines · 167 tokens per session scan A 7e35864e0202

Subscribe to this mod's changes

attach-media is a skill published in the GitHub repository mthines/agent-skills (19 stars, last pushed today), licensed MIT. It adds 167 tokens to every session and 1,737 once invoked, about $0.0007 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-18.

Related

Other skills, from other repositories

local-pr-review

Act as a senior engineer and review the committed changes on the current git branch against the base branch (develop or main) — a local, pre-push PR review. Use this skill whenever the user wants feedback on a branch as a whole before opening or merging a pull request — phrases like "review my branch", "PR review…

Pubx-ai/skills · 170 tokens

local-review

Act as a senior engineer and review all uncommitted changes in the local git branch — both staged and unstaged, including new untracked files — before they get committed. Use this skill whenever the user wants pre-commit feedback on work in progress — phrases like "review my changes", "review my diff", "code review…

Pubx-ai/skills · 158 tokens

raise-pr

Push the current feature branch and raise a GitHub pull request with a conventional-commit style title and a structured body, after verifying the branch actually has committed work to raise. Use this skill whenever the user asks to "raise a PR", "open a pull request", "create a PR", "push and PR", "get this reviewed"…

Pubx-ai/skills · 117 tokens

check

Reviews diffs, PRs, release readiness, and publishing follow-through. Use when asked to review, triage issues or PRs, or ship. Not for debugging root causes or prose.

tw93/Waza · 41 tokens

ego-lite-simplify

Find and implement evidence-backed simplifications in the ego-lite repository. Use when reviewing the codebase for dead code, duplicated state or APIs, speculative abstractions, unnecessary compatibility layers, hand-written infrastructure, excessive tests or documentation, or when the user asks to reduce code size or…

citrolabs/ego-lite · 68 tokens

antfu-create-pr

Create a reviewable GitHub pull request from the current branch with a Conventional Commits title, a concise evidence-based body, and before/after screenshots for UI changes. Use when asked to open, create, publish, or prepare a PR.

antfu/skills · 54 tokens