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 skills add buildinternet/uploads --skill uploads-cligit clone --depth 1 https://github.com/buildinternet/uploadsWrote 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.
[](https://agentmods.dev/skills/buildinternet/uploads/uploads-cli)<a href="https://agentmods.dev/skills/buildinternet/uploads/uploads-cli"><img src="https://agentmods.dev/badge/skills/buildinternet/uploads/uploads-cli/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.
<a href="https://agentmods.dev/skills/buildinternet/uploads/uploads-cli"><img src="https://agentmods.dev/badge/skills/buildinternet/uploads/uploads-cli.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 64 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Memory Poisoning · line 42 Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.Fix: Implement context-window management that detects and rejects padding or stuffing attempts. Prioritize system instructions over user-injected content.
- medium Memory Poisoning · line 48 Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.Fix: Implement context-window management that detects and rejects padding or stuffing attempts. Prioritize system instructions over user-injected content.
- medium Memory Poisoning · line 49 Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.Fix: Implement context-window management that detects and rejects padding or stuffing attempts. Prioritize system instructions over user-injected content.
- medium Memory Poisoning · line 318 Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.Fix: Implement context-window management that detects and rejects padding or stuffing attempts. Prioritize system instructions over user-injected content.
- medium Memory Poisoning · line 472 Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.Fix: Implement context-window management that detects and rejects padding or stuffing attempts. Prioritize system instructions over user-injected content.
- medium Memory Poisoning · line 474 Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.Fix: Implement context-window management that detects and rejects padding or stuffing attempts. Prioritize system instructions over user-injected content.
- medium Memory Poisoning · line 475 Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.Fix: Implement context-window management that detects and rejects padding or stuffing attempts. Prioritize system instructions over user-injected content.
- medium Memory Poisoning · line 476 Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.Fix: Implement context-window management that detects and rejects padding or stuffing attempts. Prioritize system instructions over user-injected content.
- medium Memory Poisoning · line 477 Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.Fix: Implement context-window management that detects and rejects padding or stuffing attempts. Prioritize system instructions over user-injected content.
- medium Memory Poisoning · line 478 Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.Fix: Implement context-window management that detects and rejects padding or stuffing attempts. Prioritize system instructions over user-injected content.
- medium Memory Poisoning · line 479 Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.Fix: Implement context-window management that detects and rejects padding or stuffing attempts. Prioritize system instructions over user-injected content.
- medium Memory Poisoning · line 482 Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.Fix: Implement context-window management that detects and rejects padding or stuffing attempts. Prioritize system instructions over user-injected content.
- medium Memory Poisoning · line 486 Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.Fix: Implement context-window management that detects and rejects padding or stuffing attempts. Prioritize system instructions over user-injected content.
- medium Memory Poisoning · line 487 Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.Fix: Implement context-window management that detects and rejects padding or stuffing attempts. Prioritize system instructions over user-injected content.
- medium Memory Poisoning · line 490 Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.Fix: Implement context-window management that detects and rejects padding or stuffing attempts. Prioritize system instructions over user-injected content.
- medium Prompt Injection · line 42 Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.Fix: Remove the large whitespace padding (blank-line blocks or long space runs) and review any content hidden below or to the right of it. Keep skill files compact and reviewable so no instructions can be
- medium Prompt Injection · line 44 Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.Fix: Remove the large whitespace padding (blank-line blocks or long space runs) and review any content hidden below or to the right of it. Keep skill files compact and reviewable so no instructions can be
- medium Prompt Injection · line 334 Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.Fix: Remove the large whitespace padding (blank-line blocks or long space runs) and review any content hidden below or to the right of it. Keep skill files compact and reviewable so no instructions can be
- medium Prompt Injection · line 46 Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.Fix: Remove the large whitespace padding (blank-line blocks or long space runs) and review any content hidden below or to the right of it. Keep skill files compact and reviewable so no instructions can be
- medium Prompt Injection · line 47 Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.Fix: Remove the large whitespace padding (blank-line blocks or long space runs) and review any content hidden below or to the right of it. Keep skill files compact and reviewable so no instructions can be
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00226 | $0.19448 |
| Opus 5.5 | $0.00090 | $0.07779 |
| Sonnet 5.5 | $0.00045 | $0.03890 |
| Haiku 4.5 | $0.00023 | $0.01945 |
Grade A, and why
uploads-cli 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 today.
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.
| File on a sandbox disk, shell but no CLI | Hosted MCP `sign_upload_url` | Returns one URL + `curl -T` line per file (15 min, up to the plan's upload limit). The PUT response is `put`'s JSON. With `pr`/`issue`, call `co How it starts
The opening of the file, as written. The whole thing — 1,269 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Uploading files to uploads.sh and embedding in GitHub
What this does and why
GitHub's native image hosting (github.com/user-attachments/…) is reachable from
a browser session and, since GitHub CLI 2.99 (September 2026), from
gh … --attach on an existing PR or issue with push access. There is still no public
REST endpoint, and the hosted file is private to GitHub. Any other image URL you
put in a PR/issue body written with gh … --body-file must already point at
something publicly hosted. The github-screenshots skill says when gh --attach
alone is enough.
This skill covers both transports: the uploads CLI (local files, git,
localhost) and the hosted MCP at https://agents.uploads.sh/mcp (bytes you
already have, or a public HTTPS URL to fetch, no checkout). Both PUT to the
uploads.sh API and return a stable public URL plus ready-to-paste markdown.
For PRs and issues the managed attachments comment is available on both.
The CLI can fall back to local gh. Hosted MCP is bot-only.
MCP vs CLI
Same product, two transports. Skills do not install a binary.
| Need | Use | Why |
|---|---|---|
| Bytes already in context (ChatGPT attachment, base64) | Hosted MCP put |
files: [{ filename, contentBase64 }]. Pass repo + (pr | branch). No git inference. |
| File on a sandbox disk, shell but no CLI | Hosted MCP sign_upload_url |
Returns one URL + curl -T line per file (15 min, up to the plan's upload limit). The PUT response is put's JSON. With pr/issue, call comment once after. Sandbox must allow agents.uploads.sh. |
| File already at a public HTTPS URL | CLI put --url or hosted MCP put |
CLI: uploads put --url https://… --pr 123. Hosted: { contentUrl } (filename optional when the URL path has a leaf). Worker/CLI fetches; no auth headers. Hosted rejects private/internal hosts. CLI (and stdio MCP) also fetch http://localhost / 127.0.0.1 / *.localhost. LAN and link-local stay rejected. |
| List, find, metadata, comment, promote | Either | Hosted: list, find_files, get_metadata / set_metadata, comment, promote. CLI: uploads list / find / meta / comment / attach --promote. |
| Recent tagged files, by pull request or by repo | Hosted MCP list_activity / list_repo_files |
Hosted only. list_activity groups by pull (default) or repo. list_repo_files needs repo. Times are tag metadata, not upload time. Does not publish a feed. |
| Live page of this PR's (or repo's) screenshots | Either | CLI uploads feed create or MCP feed_create. Repo-wide: repo only. One PR: repo + pr, or github (owner/repo#123 / a GitHub URL). Same product — not a curated gallery. feed_get / uploads feed show opens an existing feed. |
| Local path or current-branch attach | CLI | Hosted server has no filesystem and no attach tool. Use put instead. |
localhost / private-network screenshot |
CLI uploads screenshot --via local |
Remote render cannot reach your machine. |
| Selector annotate on a live page | CLI uploads screenshot --annotate --via local |
Remote backend rejects selector-bearing specs. |
| Neither transport | Stop | Do not treat npm install -g as the ChatGPT path. OAuth on https://agents.uploads.sh/mcp is the published remote path. |
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.
- today Changed · +1 lines 4264164903fd
- yesterday Changed · +7 lines 9a402468336d
- 3d ago Changed · +38 lines d9d2c84f1fa2
- 4d ago Changed · +44 lines f383b5595972
- 10d ago Changed · +17 lines 84f8e9372903
- 19d ago Changed · +1 lines 29207882c32b
- 25d ago Changed 1afa41c49707
- 28d ago Changed · +1 lines 91236a230554
- 29d ago Changed · +2 lines 6882c5177de4
- 1mo ago First seen · 1,158 lines · 226 tokens per session scan A bde712ddf3e1
uploads-cli is a skill published in the GitHub repository buildinternet/uploads (19 stars, last pushed today), licensed Apache-2.0. It adds 226 tokens to every session and 19,448 once invoked, about $0.0009 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-08-30.
Other skills, from other repositories
open-pr
Take a cloudflare/agents GitHub issue plus any repro findings and one-shot a fix PR — branch, change, test, push, and open the PR linked to the issue.
hunk-launch-video
Produces Hunk videos by driving the real TUI headlessly in a PTY, compositing captioned 1080p frames in Chromium, and encoding with ffmpeg. Use for feature demos, workflow explainers, announcements, launch videos, and full-release roundups.
hunk-release
Prepares, publishes, verifies, and curates Hunk releases. Use for release metadata, benchmarks, tags, publishing, release videos, backports, or recovery.
release-notes
Draft short release notes from a list of changes. Use when the user asks for changelogs, release notes, or a concise product update.
github
Drive GitHub via the official gh CLI — repos, issues, pull requests, releases, gists, Actions runs, and raw REST through gh api. Use when the user asks to inspect or manage GitHub.
ship
Release pipeline for already-done local work. Dispatches /ground-state pre-flight, runs the project test suite, drafts a commit message, pushes, and opens a PR with a structured verification summary. Use when local changes are ready to hand off to review — e.g. 'ship this', 'push and open a PR', 'release this work'.…