Agent skill

Lunora Setup Storage

by anolilab in anolilab/lunora

Adds R2-backed file storage to a Lunora app with the storage registry item (@lunora/storage).

Custom licenceAuto-check passedBackend & APIs

Install Lunora Setup Storage

skills CLI
$ npx skills add anolilab/lunora --skill lunora-setup-storage -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install anolilab/lunora lunora-setup-storage --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/anolilab/lunora.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/cli/skills/lunora-setup-storage .claude/skills/lunora-setup-storage && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
lunora-setup-storage
GitHub stars
282
Token cost
~3.4k tokens
SKILL.md length
825 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
Custom licence

At a glance

Adds R2-backed file storage to a Lunora app with the storage registry item (@lunora/storage).

  • Works in 4 steps: Add the item → Configure the binding and secrets → Add the /storage/* route to the Worker → …
  • The user wants file
  • SKILL.md covers Step 1: Add the item, Step 2: Configure the binding…, Step 3: Add the /storage/*… and Step 4: Upload and download…, plus 2 more sections
  • Calls wrangler, pnpm and openssl; needs STORAGE_SIGNING_SECRET

What it does

Lunora Setup Storage is an agent skill from anolilab/lunora. Adds R2-backed file storage to a Lunora app with the storage registry item (@lunora/storage). Covers worker-signed PUT/GET URLs, the UPLOADS R2 bucket binding, STORAGESIGNINGSECRET and STORAGEPUBLICBASEURL, per-user key scoping, and the /storage/ Worker route that verifies signatures and moves the bytes. Use when the user wants file or image uploads, avatars, attachments or gated downloads, runs lunora add storage or lunora registry add storage, edits lunora/storage/index.ts, or sees signed storage URLs return…

Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering File uploads and storage. It works with Cloudflare R2. The repository describes itself as: Type-safe, real-time backend framework on your own Cloudflare account — Workers, Durable Objects, D1, R2, Queues. Convex-style DX, Vite-first.

When your agent uses it

  • The user wants file
  • Gated downloads
  • Runs lunora add storage
  • Lunora registry add storage

Example prompts

  • “/lunora-setup-storage”

Requirements

  • A credential in STORAGE_SIGNING_SECRET

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Add the item
  2. Configure the binding and secrets
  3. Add the /storage/* route to the Worker
  4. Upload and download from the client

What it can do on your machine

Read from SKILL.md and the folder at commit 0d32a44. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • wrangler
    • pnpm
    • openssl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use wrangler and pnpm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • STORAGE_SIGNING_SECRET

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Lunora Setup Storage loads about 3.4k tokens when it runs. Until then it costs about 148 tokens; SKILL.md has 825 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~148
When it runs · the whole SKILL.md, loaded when a task matches
~3.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 825 words (~3,428 tokens).

“The storage registry item wraps @lunora/storage, an R2 adapter with HMAC signed-URL helpers. It exposes Lunora functions for browser uploads, gated downloads, delete and list. The client never holds a bucket credential.”

— opening of SKILL.md by anolilab, Custom licence
name
lunora-setup-storage

Read the full SKILL.md on GitHub

Files

Just SKILL.md in packages/cli/skills/lunora-setup-storage of anolilab/lunora.

Open the folder on GitHubat commit 0d32a44

Compare with similar skills

Lunora Setup Storage next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Lunora Setup Storage compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Lunora Setup Storage this skillanolilab/lunora282—~3.4kAutomated safety check: PassCustom licence
S3 Exploreduckdb/duckdb-skills6041 repos~848Automated safety check: NotesMIT
Neon Object Storageneondatabase/agent-skills100—~3.5kAutomated safety check: NotesApache-2.0
Cloudflare R2einverne/dotfiles121—~2.8kAutomated safety check: PassGPL-3.0
Cloudflare R2sickn33/agentic-awesome-skills47k2 repos~2.5kAutomated safety check: PassMIT
R2 Uploadzebbern/claude-code-guide4.7k—~886Automated safety check: PassMIT

Similar skills

  • S3 Explore

    duckdb/duckdb-skills

    Official

    Explore and query data on S3, Cloudflare R2, GCS, MinIO, or any S3-compatible storage.

    604 GitHub starsUsed in 1 repo~848 tokens
    Backend & APIsAuto-check: notes
  • Neon Object Storage

    neondatabase/agent-skills

    Official

    S3-compatible object storage that branches with your Neon project, so files and the database stay in sync across every branch.

    100 GitHub stars~3.5k tokensUpdated today
    Backend & APIsAuto-check: notes
  • Cloudflare R2

    einverne/dotfiles

    Guide for implementing Cloudflare R2 - S3-compatible object storage with zero egress fees.

    121 GitHub stars~2.8k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Cloudflare R2

    sickn33/agentic-awesome-skills

    Manage Cloudflare R2 buckets, lifecycle, and signed URLs. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~2.5k tokens
    Backend & APIsAuto-check passed
  • R2 Upload

    zebbern/claude-code-guide

    Upload files to Cloudflare R2, AWS S3, or any S3-compatible storage (like MinIO) and generate secure, time-limited presigned download links with configurable expiration, typically set to 5 minutes.

    4.7k GitHub stars~886 tokensUpdated today
    Backend & APIsAuto-check passed
  • File Uploads

    davila7/claude-code-templates

    Expert at handling file uploads and cloud storage. An agent skill from davila7/claude-code-templates.

    32k GitHub starsUsed in 4 repos~238 tokens
    Backend & APIsAuto-check passed

More from anolilab/lunora

All 16 skills in this repo
  • Lunora Design

    anolilab/lunora

    This skill should be used when the user explicitly says "Lunora style", "Lunora design", "/lunora-design", or directly asks to use/apply the Lunora design system.

    282 GitHub stars~4.5k tokensUpdated today
    Auto-check passed
  • Lunora

    anolilab/lunora

    Routes general Lunora requests to the right Lunora skill and gives the shared mental model (codegen loop, generated api/internal references, review commands, add-on capabilities, the @lunora/mcp…

    282 GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Lunora Create Package

    anolilab/lunora

    Builds a reusable Lunora capability, either as a registry item that lunora add / lunora registry add copies into an app's lunora/, or as a publishable @lunora/ workspace package in the Lunora…

    282 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Lunora Deploy

    anolilab/lunora

    Deploys a Lunora app to Cloudflare Workers + Durable Objects and gets wrangler.jsonc, remote resources and secrets to line up.

    282 GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Plans and runs Lunora schema and data migrations with the widen → migrate → narrow pattern.

    282 GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Diagnoses and fixes Lunora performance problems — full-table scans and missing indexes, expensive ctx.db.related traversals, OCC write conflicts (409 CONFLICT), live queries that re-run too often…

    282 GitHub stars~2.4k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Lunora Setup Storage

What does Lunora Setup Storage do?

Adds R2-backed file storage to a Lunora app with the storage registry item (@lunora/storage). Lunora Setup Storage is an agent skill from anolilab/lunora. Adds R2-backed file storage to a Lunora app with the storage registry item (@lunora/storage).

When should I use Lunora Setup Storage?

Lunora Setup Storage fits situations like: the user wants file; gated downloads; runs lunora add storage; lunora registry add storage.

How do I install Lunora Setup Storage in Claude Code?

Run `npx skills add anolilab/lunora --skill lunora-setup-storage -a claude-code`. Or copy the skill folder (packages/cli/skills/lunora-setup-storage in anolilab/lunora) into .claude/skills/lunora-setup-storage in your project. Claude Code loads it when a task matches its description.

How do I install Lunora Setup Storage in Codex?

Run `npx skills add anolilab/lunora --skill lunora-setup-storage -a codex`. Or copy the skill folder (packages/cli/skills/lunora-setup-storage in anolilab/lunora) into .agents/skills/lunora-setup-storage in your project. Codex loads it when a task matches its description.

Can I use Lunora Setup Storage in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add anolilab/lunora --skill lunora-setup-storage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/lunora-setup-storage, .gemini/skills/lunora-setup-storage, .github/skills/lunora-setup-storage and .opencode/skills/lunora-setup-storage in your project.

What does Lunora Setup Storage need to run?

Going by SKILL.md and its folder, Lunora Setup Storage needs the command-line tools its instructions call (wrangler, pnpm and openssl) and credentials named STORAGE_SIGNING_SECRET. Our summary lists: A credential in STORAGE_SIGNING_SECRET.

Does Lunora Setup Storage access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Lunora Setup Storage safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Lunora Setup Storage use?

Lunora Setup Storage has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.

How many tokens does Lunora Setup Storage use?

About 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Lunora Setup Storage?

Skills that share tags, products or a category with Lunora Setup Storage: S3 Explore (duckdb/duckdb-skills, 604 stars), Neon Object Storage (neondatabase/agent-skills, 100 stars), Cloudflare R2 (einverne/dotfiles, 121 stars) and Cloudflare R2 (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Lunora Setup Storage?

anolilab (a GitHub organization) maintains it in anolilab/lunora, which has 282 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 9, 2026.

Source: anolilab/lunora on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.