Agent skill

pinme-r2

Use when a PinMe Cloudflare Worker needs R2 object storage, including secure file or image upload, streaming download, metadata lookup, deletion, listing, Range requests, or R2+D1 coordination. Guides AI to use PinMe's automatically injected env.R2 binding without R2 credentials or manual Wrangler configuration.

glitternetworkgithub.com/glitternetworkGitHub ↗
claude-codeMIT
Install
npx skills add glitternetwork/pinme --skill pinme-r2 --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 14 KB
Bundled scripts: none
Path: skills/pinme-r2/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 3,731
Language: TypeScript
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# PinMe Worker R2 Storage Use the project-scoped R2 bucket that PinMe binds to every deployed Worker as `env.R2`. Do not create credentials, choose a bucket name, or edit generated Wrangler configuration. ## Runtime Contract PinMe rebuilds trusted Worker metadata on create, save, and update. Client metadata cannot replace the R2 binding. | Binding | TypeScript type | Availability | | --- | --- | --- | | `DB` | `D1Database` | Always injected | | `R2` | `R2Bucket` | Always injected; current project's bucket | | `API_KEY` | `string` | Always injected | | `LLM_API_KEY` | `string` | Always injected | | `BASE_URL` | `string` | Always injected | | `WORKER_URL` | `string` | Always injected | | `PROJECT_NAME` | `string` | Always injected | Payment-specific bindings such as `UNIWEB_SECRET` are conditional and unrelated to R2 access. Declare only the bindings used by the Worker module. R2 code normally starts with: ```typescript export interface Env { R2: R2Bucket; PROJECT_NAME: string; WORKER_URL: string; } ``` When the same module coordinates file metadata in D1, also declare `DB: D1Database` as a required field. ## Choose R2 or D1 - Use R2 for file bodies, images, attachments, media, expor

What's inside
Steps it walks through
  1. Runtime Contract
  2. Choose R2 or D1
  3. Required Security Workflow
  4. Shared Helpers
  5. Stream an Upload
  6. Stream a Download
  7. Read Metadata with HEAD
  8. Delete an Object
  9. List an Owner's Objects
  10. Route and Error Semantics
  11. Coordinate R2 with D1
  12. Large Files
  13. Local Development
  14. Anti-Patterns
Ships with 1 file
  • agents/openai.yaml
More from pinme
All skills →
About this skill
What does the pinme-r2 skill do?

Use when a PinMe Cloudflare Worker needs R2 object storage, including secure file or image upload, streaming download, metadata lookup, deletion, listing, Range requests, or R2+D1 coordination. Guides AI to use PinMe's automatically injected env.R2 binding without R2 credentials or manual Wrangler configuration.

How do I install it?

Run `npx skills add glitternetwork/pinme --skill pinme-r2 --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From glitternetwork/pinme, a repository with 3,731 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going