Agent skill

Cloudflare Nextjs

by secondsky in secondsky/claude-skills

Deploy Next.js to Cloudflare Workers via the OpenNext adapter (@opennextjs/cloudflare).

MITAuto-check: notesBackend & APIs

Install Cloudflare Nextjs

skills CLI
$ npx skills add secondsky/claude-skills --skill cloudflare-nextjs -a claude-code

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

GitHub CLI
$ gh skill install secondsky/claude-skills cloudflare-nextjs --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/secondsky/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/cloudflare-nextjs/skills/cloudflare-nextjs .claude/skills/cloudflare-nextjs && 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
cloudflare-nextjs
GitHub stars
227
Token cost
~5.3k tokens
SKILL.md length
1,569 words
Files
17 (incl. scripts, references, assets)
Skills in repo
169
Repo updated
First seen
Licence
MIT

At a glance

Deploy Next.js to Cloudflare Workers via the OpenNext adapter (@opennextjs/cloudflare).

  • Works in 8 steps: Worker size limit exceeded → Cannot perform I/O on behalf of a… → NPM package import / "Could not resolve \" → …
  • SSR/ISR/SSG/App
  • SKILL.md covers Critical Requirements (get…, Disambiguation: this skill vs…, Quick Start and Accessing Cloudflare Bindings…, plus 8 more sections
  • Runs Shell and TypeScript scripts from its folder; calls npm, npx and wrangler; needs CACHE_PURGE_API_TOKEN and CF_WORKERS_SCRIPTS_API_TOKEN

What it does

Cloudflare Nextjs is an agent skill from secondsky/claude-skills. Deploy Next.js to Cloudflare Workers via the OpenNext adapter (@opennextjs/cloudflare). Use for SSR/ISR/SSG/App or Pages Router, getCloudflareContext, bindings (D1/R2/KV/AI/Hyperdrive), caching tiers, skew protection, multi-worker, custom worker, env vars, or worker size/runtime/keepnames/FinalizationRegistry/connection-scoping errors.

Its SKILL.md is about 5.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 19 other files, including scripts, reference files and assets (for example `assets/workflow-diagram.md`, `references/advanced.md` and `references/bindings-and-services.md`).

It sits in Backend & APIs, covering Caching. It works with Next.js, Cloudflare, Cloudflare Workers and Node.js. The repository describes itself as: Production-ready skills for Claude Code CLI - Cloudflare, React, Tailwind v4, and AI integrations. The licence is MIT.

When your agent uses it

  • SSR/ISR/SSG/App
  • GetCloudflareContext
  • Bindings (D1/R2/KV/AI/Hyperdrive)
  • Skew protection

Example prompts

  • “/cloudflare-nextjs”

Requirements

  • Node.js
  • A Bash shell
  • A credential in CACHE_PURGE_API_TOKEN

Workflow steps

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

  1. Worker size limit exceeded
  2. Cannot perform I/O on behalf of a different request
  3. NPM package import / "Could not resolve \"
  4. SSRF (CVE-2025-6087) — versions < 1.3.0
  5. Failed to load chunk server/chunks/ssr/.js
  6. ReferenceError: FinalizationRegistry is not defined
  7. Uncaught ReferenceError: __name is not defined
  8. "Failed to send request to R2 worker" / 403 during populateCache remote

What it can do on your machine

Read from SKILL.md and the folder at commit 8837836. 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

    Ships 3 files in scripts/ (Shell and TypeScript), which the agent can run.

    Shell commands in SKILL.md call:

    • npm
    • npx
    • wrangler

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

  • Network

    Links to these hosts (documentation or services it may open):

    • opennext.js.org
    • github.com

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

  • Credentials

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

    • CACHE_PURGE_API_TOKEN
    • CF_WORKERS_SCRIPTS_API_TOKEN
    • CLOUDFLARE_ACCESS_CLIENT_SECRET

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

Context cost

Cloudflare Nextjs loads about 5.3k tokens when it runs, and up to ~24k if it reads all its reference files. Until then it costs about 89 tokens; SKILL.md has 1,569 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~89
When it runs · the whole SKILL.md, loaded when a task matches
~5.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~24k

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:203
    - **Env vars** — use Next.js `.env` files (not just `.dev.vars`); `NEXTJS_ENV` in `.dev.vars` selects the env; `--keep-v
  • NoteMentions a .env fileSKILL.md:217
    size`, `@libsql/isomorphic-ws`). Or set `.env`: `WRANGLER_BUILD_CONDITIONS=""` + `WRANGLER_BUILD_PLATFORM="node"`.

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); the scripts in this folder are not scanned.

SKILL.md

The full file from secondsky/claude-skills at commit 8837836, republished under its MIT licence (© secondsky). 1,569 words, ~5,261 tokens.

Download SKILL.mdSave it as .claude/skills/cloudflare-nextjs/SKILL.md (or your agent's skills folder). This skill also uses 16 other files; get the full folder from GitHub.
name
cloudflare-nextjs
description
Deploy Next.js to Cloudflare Workers via the OpenNext adapter (@opennextjs/cloudflare). Use for SSR/ISR/SSG/App or Pages Router, getCloudflareContext, bindings (D1/R2/KV/AI/Hyperdrive), caching tiers, skew protection, multi-worker, custom worker, env vars, or worker size/runtime/keep_names/FinalizationRegistry/connection-scoping errors.
license
MIT
metadata.version
2.0.0
metadata.last_verified
2026-08-05
metadata.token_savings
~60%
metadata.errors_prevented
18+
metadata.keywords
OpenNext Cloudflare, @opennextjs/cloudflare, opennextjs-cloudflare cli, Next.js on Workers, Next.js App Router Cloudflare, Next.js Pages Router Cloudflare…

OpenNext Cloudflare Adapter — Next.js on Workers

Deploy Next.js applications to Cloudflare Workers using the OpenNext adapter (@opennextjs/cloudflare). The adapter takes a standard Next.js build, runs package.json build script, then transforms the output to run on the Workers runtime using the Node.js compatibility layer (nodejs_compat) — not the Edge runtime.

Critical Requirements (get these wrong and the build/runtime fails)

RequirementValueWhy
RuntimeNode.js (default). Remove every export const runtime = "edge";Edge runtime is unsupported; OpenNext uses nodejs_compat.
compatibility_flags["nodejs_compat", "global_fetch_strictly_public"]Node APIs + allow fetch() in app code.
compatibility_date≥ 2024-09-23; ≥ 2025-05-05 recommended (FinalizationRegistry)Older dates break FinalizationRegistry, DOs, and more.
Wrangler≥ 3.99.0 to deploy; ≥ 4.13.0 for keep_names; ≥ 4.36.0 for stable remote bindingsFeature gates in the docs.
Next.jsv16 all minors/patches supported; latest minors of v14 and v15; v14 dropped Q1 2026Stated on the overview page.
Worker size (gzip)3 MiB Free / 10 MiB Paid (compressed only)Hard Cloudflare limits.

Windows: not fully guaranteed (Next.js tooling issues). Use WSL, a Linux VM, or Linux/macOS CI. See known issue #1305.

Disambiguation: this skill vs nextjs

  • nextjs skill → framework/App Router/Server Components/Cache Components patterns, any platform (Vercel, self-hosted, ...). Use for async params, proxy.ts migration, "use cache".
  • THIS skill (cloudflare-nextjs) → deploying Next.js to Workers via the OpenNext adapter: wrangler.jsonc, open-next.config.ts, getCloudflareContext, caching tiers, bindings, skew protection, multi-worker, the Workers-specific errors.

proxy.ts caveat (Next 16): Next 16 renamed middleware.ts → proxy.ts, but @opennextjs/cloudflare does not recognize proxy.ts yet (issue #1277) — on Cloudflare, keep using middleware.ts. This is the one place the nextjs skill's guidance does NOT apply here.

Quick Start

bash
npm create cloudflare@latest -- my-next-app --framework=next --platform=workers

C3 scaffolds a Next.js app, installs @opennextjs/cloudflare, creates wrangler.jsonc + open-next.config.ts + .dev.vars, wires package.json scripts, and (if R2 is enabled) creates an R2 bucket for caching.

Existing Next.js project (one command)
bash
npx @opennextjs/cloudflare migrate

migrate automates: install adapter + wrangler, create wrangler.jsonc/open-next.config.ts/.dev.vars, update scripts, add public/_headers, add .open-next to .gitignore, wire initOpenNextCloudflareForDev() into next.config.ts, and create+configure an R2 cache bucket (only if R2 is enabled on the account).

<details><summary>Manual install (if you prefer not to run migrate)</summary>
bash
npm install @opennextjs/cloudflare@latest
npm install --save-dev wrangler@latest

Then create the three files (see references/wrangler.jsonc, references/open-next.config.ts, references/package.json) and add the dev/preview/deploy/upload/cf-typegen scripts. Pin adapter versions and audit before upgrading — see the dependency-upgrade skill.

</details>
The four scripts
jsonc
// package.json
{
  "dev":     "next dev",                                                       // fast HMR via Next dev server
  "preview": "opennextjs-cloudflare build && opennextjs-cloudflare preview",   // build + run in workerd locally
  "deploy":  "opennextjs-cloudflare build && opennextjs-cloudflare deploy",    // build + serve immediately
  "upload":  "opennextjs-cloudflare build && opennextjs-cloudflare upload",    // build + upload a version (gradual rollout)
  "cf-typegen": "wrangler types --env-interface CloudflareEnv cloudflare-env.d.ts"
}
  • dev — fastest feedback loop; add initOpenNextCloudflareForDev() to next.config.ts so getCloudflareContext() works locally with simulated/remote bindings.
  • preview — runs in the actual Workers runtime (not Node). Always run before deploy to catch runtime-only issues.
  • deploy — populates the remote cache, then wrangler deploy. App serves immediately.
  • upload — populates remote cache, then wrangler versions upload. Does NOT serve automatically; for gradual deployments.

build, preview, deploy, upload all implicitly call populateCache — you do not need to run it manually.

Dev next.config.ts
ts
import type { NextConfig } from "next";
const nextConfig: NextConfig = { /* ... */ };
export default nextConfig;

import { initOpenNextCloudflareForDev } from "@opennextjs/cloudflare";
initOpenNextCloudflareForDev();

Accessing Cloudflare Bindings — getCloudflareContext()

Do NOT use process.env for bindings. The official API is getCloudflareContext() from @opennextjs/cloudflare.

ts
import { getCloudflareContext } from "@opennextjs/cloudflare";

export async function GET() {
  const { env, cf, ctx } = getCloudflareContext();
  await env.MY_KV.put("foo", "bar");
  return new Response(await env.MY_KV.get("foo"));
}

Static routes (ISR/SSG) MUST use async mode — and be careful: secrets/local values are used during static generation.

ts
const { env } = await getCloudflareContext({ async: true });

TypeScript types: npm run cf-typegen generates cloudflare-env.d.ts (re-run after any binding change).

Remote bindings (local dev → real resources): stabilized in Wrangler 4.36.0. On older wrangler, enable via initOpenNextCloudflareForDev({ experimental: { remoteBindings: true } }) and use the experimental_remote (not remote) key on binding options. Note: remote bindings are also used during build.

Full patterns (D1/R2/KV/AI/Hyperdrive, Drizzle, Prisma, Stripe) → references/bindings-and-services.md.

Caching — three components, three tiers

OpenNext's cache has three parts: Incremental Cache (storage), Queue (dedupe/revalidate), Tag Cache (on-demand revalidateTag/revalidatePath).

Site profileIncrementalQueueTag CacheWhen
SSG only (no revalidation)staticAssetsIncrementalCache + enableCacheInterception: truenonenoneFastest option; read-only
Small site (ISR/on-demand)r2IncrementalCachedoQueued1NextTagCacheLow traffic; D1 tag cache
Large/high-traffic sitewithRegionalCache(r2IncrementalCache, { mode: "long-lived" })doQueuedoShardedTagCache({ baseShardSize: 12 }) + purgeCache({ type: "direct" })DO-sharded; add cache purge if using on-demand

Reserved binding names (do not reuse): ASSETS, WORKER_SELF_REFERENCE, NEXT_INC_CACHE_R2_BUCKET, NEXT_CACHE_DO_QUEUE, NEXT_TAG_CACHE_D1, NEXT_TAG_CACHE_DO_SHARDED, NEXT_CACHE_DO_PURGE, IMAGES.

  • Avoid Workers KV for incremental cache — eventually consistent, can persist stale data indefinitely.
  • Cache interception + PPR: incompatible today; cache interception is NOT enabled by default and does not work with PPR.
  • On-demand revalidation requires both a Tag Cache and the Cache Purge component (cache purge only works on a zone/custom domain; needs CACHE_PURGE_API_TOKEN + CACHE_PURGE_ZONE_ID secrets).
  • Pages Router res.revalidate requires a self-reference service binding named WORKER_SELF_REFERENCE.
  • Headers caveat: the Worker does not run in front of static assets, so next.config.ts headers() for public/ and immutable build files do not apply. Use public/_headers.

Deep dive (all options, env vars, regional modes, migration from 0.6) → references/caching.md and references/known-issues.md.

Common Integrations (condensed — full patterns in references)

  • Drizzle + D1/Hyperdrive/PG, Prisma + D1/PG/Hyperdrive — request-scoped clients via cache() from react; maxUses: 1 on PG pools; getCloudflareContext({ async: true }) for ISR/SSG; Prisma needs previewFeatures = ["driverAdapters"], no output dir in schema.prisma, and serverExternalPackages: ["@prisma/client", ".prisma/client"]. → references/bindings-and-services.md
  • Stripe — Workers have no node:https; pass httpClient: Stripe.createFetchHttpClient(). → references/bindings-and-services.md
  • Image optimization — images.binding: "IMAGES" in wrangler.jsonc, or a custom loader (/cdn-cgi/image/...) for zones. minimumCacheTTL and dangerouslyAllowLocalIP are not supported; custom loader bypasses middleware and ignores remotePatterns. → references/advanced.md
  • Env vars — use Next.js .env files (not just .dev.vars); NEXTJS_ENV in .dev.vars selects the env; --keep-vars on deploy; secrets are write-only. → references/dev-deploy-and-env.md
  • Custom worker (add scheduled, Durable Object exports) — point main at your worker that re-exports the generated fetch handler. → references/advanced.md
  • Multi-worker (split middleware from server) — reduces per-worker memory + cold starts; incompatible with preview URLs, skew protection, and @opennextjs/cloudflare deploy. → references/advanced.md
  • Skew protection (preview-URL-based version matching) — cloudflare.skewProtection.enabled, run_worker_first: true, getDeploymentId(), env vars CF_WORKER_NAME/CF_PREVIEW_DOMAIN/CF_WORKERS_SCRIPTS_API_TOKEN/CF_ACCOUNT_ID. Disabled for Workers with a Durable Object (move DOs to a separate worker). → references/advanced.md

Top Errors (full catalog → references/error-catalog-extended.md)

1. Worker size limit exceeded

"Your Worker exceeded the size limit of 3 MiB" (Free) / "10 MiB" (Paid). Only gzip size counts. Free → upgrade to Paid. Paid → analyze bundle: npx @opennextjs/cloudflare build, then inspect .open-next/server-functions/default/handler.mjs.meta.json (visualize with ESBuild Bundle Analyzer); remove unused deps, use dynamic imports.

Show full SKILL.md (644 more words)Show less
2. Cannot perform I/O on behalf of a different request

Global DB client (e.g. postgres, pg Pool) reused across requests. Create the client inside the request handler (or use cache() from react), and maxUses: 1 for PG pools.

3. NPM package import / "Could not resolve <package>"

Enable nodejs_compat, ensure compatibility_date ≥ 2024-09-23. Some packages ship a workerd export — add them to serverExternalPackages in next.config.ts (e.g. @prisma/client, .prisma/client, postgres, jose, react-textarea-autosize, @libsql/isomorphic-ws). Or set .env: WRANGLER_BUILD_CONDITIONS="" + WRANGLER_BUILD_PLATFORM="node".

4. SSRF (CVE-2025-6087) — versions < 1.3.0

/_next/image SSRF. Upgrade immediately: @opennextjs/cloudflare@^1.3.0 (current: ^1.18.1).

5. Failed to load chunk server/chunks/ssr/<name>.js

Outdated adapter with Turbopack builds. Upgrade @opennextjs/cloudflare to latest, or switch to webpack (next build without --turbo).

6. ReferenceError: FinalizationRegistry is not defined

compatibility_date too old. Set "compatibility_date": "2025-05-05" (or later) in wrangler.jsonc.

7. Uncaught ReferenceError: __name is not defined

Wrangler's esbuild keep-names injects __name into generated script strings that some libs (e.g. next-themes) eval at runtime. Set "keep_names": false in wrangler.jsonc (requires Wrangler ≥ 4.13.0). You lose original function names in debugging.

8. "Failed to send request to R2 worker" / 403 during populateCache remote

Account protected by Cloudflare Access blocks the open-next-cache-populate helper worker. Do not create a separate Access app for it; add a Service Auth policy (Include = Any Access Service Token) to the existing app covering *.<account>.workers.dev, create a service token, and export CLOUDFLARE_ACCESS_CLIENT_ID / CLOUDFLARE_ACCESS_CLIENT_SECRET.

Known Open Bugs (live tracker)

Always check the issue tracker — these are recurring at the time of writing:

#BugWorkaround
#1171v1.18.0 breaks R2 cache population (pinned)Pin to 1.17.x or upgrade past the fix
#1277proxy.js not supported — Next 16 proxy.ts rename breaks routingKeep middleware.ts on Cloudflare
#1130 / #1225cacheComponents: true crashes (Unexpected identifier '$' / Connection closed)Disable cacheComponents
#1321Intermittent React hydration mismatch (~9% of loads)—
#1322 / #1214Hyperdrive + pg / @prisma/adapter-pg bundling failure—
#1315Time-based fetch-cache revalidation silently no-ops on Next 16 (deployed)—
#1305Windows + Turbopack routes 500Use Linux/macOS or webpack
#1317@cf-wasm/photon Turbopack build fails (raw .wasm)Use webpack
#1326Webpack chunk inlining misses named chunks → Unknown chunk N—
#617Node middleware (Next 15.2+) unsupported (feature request)Use standard middleware

Full tracker: https://github.com/opennextjs/opennextjs-cloudflare/issues

Feature Support

FeatureStatusNotes
App Router, Pages Router, Route Handlers, Dynamic routes✅Full
React Server Components, Server Actions✅Full
SSG, SSR, ISR✅Full
Middleware✅Except Node middleware (Next 15.2+, issue #617)
Image optimization✅Via Cloudflare Images (binding or custom loader)
Partial Prerendering (PPR)✅But cache interception + PPR incompatible today
Composable Caching ('use cache'), after✅
Turbopack✅But see #1305, #1317, #1326 — webpack is safer
Edge Runtime❌Node runtime only; remove runtime = "edge"
Node Middleware (15.2+)❌#617
SkillUse for
nextjsNext.js framework/App Router patterns on any platform (the proxy.ts/cache/Server Components reference)
cloudflare-workersGeneric Workers patterns; framework decision tree (Hono vs OpenNext)
drizzle-orm-d1Drizzle + D1 deep dive (note: OpenNext must not bundle Wrangler — see its error catalog)
cloudflare-r2 / cloudflare-kv / cloudflare-d1Service-specific deep dives
dependency-upgradePinning/auditing @opennextjs/cloudflare (production traffic)

When to Load References

FileLoad when
references/caching.mdChoosing/configuring incremental/queue/tag cache, regional cache, cache purge
references/bindings-and-services.mdIntegrating D1/R2/KV/AI/Hyperdrive, Drizzle/Prisma request-scoped clients, Stripe
references/dev-deploy-and-env.mdSetting up dev/preview/deploy, Workers Builds CI, env vars/secrets
references/advanced.mdCustom worker, multi-worker, skew protection, static assets, keep_names, workerd packages, image optimization
references/known-issues.mdDO build warnings, migrating 0.6 → 1.0.0-beta
references/error-catalog-extended.mdAny error beyond the top 8 above
references/troubleshooting.mdStep-by-step debugging + profiling/minification
references/feature-support.mdDetailed feature compatibility matrix
references/wrangler.jsoncSmall-site and large-site wrangler templates (all reserved bindings)
references/open-next.config.tsThe three caching tiers as runnable configs
references/database-client-example.tsRequest-scoped DB client patterns
references/package.jsonReference scripts + versions

Sources


Version: @opennextjs/cloudflare ^1.18.1 · Next.js 14/15/16 · Wrangler ≥ 3.99.0 · compatibility_date ≥ 2025-05-05 Last Verified: 2026-08-05

© secondsky, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 16 other files (scripts, references, assets) in plugins/cloudflare-nextjs/skills/cloudflare-nextjs of secondsky/claude-skills.

  • SKILL.md
  • assets/workflow-diagram.md
  • references/advanced.md
  • references/bindings-and-services.md
  • references/caching.md
  • references/database-client-example.ts
  • references/dev-deploy-and-env.md
  • references/error-catalog-extended.md
  • references/feature-support.md
  • references/known-issues.md
  • references/open-next.config.ts
  • references/package.json
  • references/troubleshooting.md
  • references/wrangler.jsonc
  • scripts/analyze-bundle.sh
  • scripts/setup-existing-project.sh
  • scripts/setup-new-project.sh

Open the folder on GitHubat commit 8837836

Compare with similar skills

Cloudflare Nextjs 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.

Cloudflare Nextjs compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cloudflare Nextjs this skillsecondsky/claude-skills227—~5.3kAutomated safety check: NotesMIT
Olore Opennext Latestolorehq/olore104—~825Automated safety check: PassMIT
Cloudflare Email Servicehodgef/apiker1273 repos~2kAutomated safety check: PassMIT
Spiceflowremorses/spiceflow167—~1.9kAutomated safety check: PassMIT
Cloudflareericrisco/rsc-harness167—~2.6kAutomated safety check: PassMIT
Fullstack Debuggercuriositech/some_claude_skills243—~3.7kAutomated safety check: NotesMIT

Similar skills

  • Local opennext documentation reference (latest). An agent skill from olorehq/olore.

    104 GitHub stars~825 tokensUpdated today
    Backend & APIsAuto-check passed
  • Send and receive transactional emails with Cloudflare Email Service (Email Sending + Email Routing).

    127 GitHub starsUsed in 3 repos~2k tokens
    Backend & APIsAuto-check passed
  • Spiceflow

    remorses/spiceflow

    Spiceflow is a super simple, fast, and type-safe API and React Server Components framework for TypeScript.

    167 GitHub stars~1.9k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Cloudflare

    ericrisco/rsc-harness

    A skill your agent uses when working on Cloudflare's edge platform — wrangler.jsonc bindings, choosing between D1/KV/R2/Durable Objects/Queues, deploying a Worker or SPA via Static Assets, or…

    167 GitHub stars~2.6k tokensUpdated today
    Backend & APIsAuto-check passed
  • Fullstack Debugger

    curiositech/some_claude_skills

    Expert debugger for Next.js + Cloudflare Workers + Supabase stacks.

    243 GitHub stars~3.7k tokensUpdated 1 mo ago
    Backend & APIsAuto-check: notes
  • Cloudflare Worker Dev

    curiositech/some_claude_skills

    Cloudflare Workers, KV, Durable Objects, and edge computing development.

    243 GitHub stars~3.4k tokensUpdated 1 mo ago
    Backend & APIsAuto-check: notes

More from secondsky/claude-skills

All 169 skills in this repo
  • Tanstack AI

    secondsky/claude-skills

    TanStack AI (alpha) provider-agnostic type-safe chat with streaming for OpenAI, Anthropic, Gemini, Ollama.

    227 GitHub starsUsed in 1 repo~3.6k tokens
    Auto-check: notes
  • Auto Animate

    secondsky/claude-skills

    AutoAnimate (@formkit/auto-animate) zero-config animations for React.

    227 GitHub stars~2.9k tokensUpdated 10 days ago
    Auto-check passed
  • Base UI React

    secondsky/claude-skills

    MUI Base UI unstyled React components with Floating UI. An agent skill from secondsky/claude-skills.

    227 GitHub stars~1.9k tokensUpdated 10 days ago
    Auto-check passed
  • Cloudflare Images

    secondsky/claude-skills

    This skill should be used when the user asks to "upload images to Cloudflare", "implement direct creator upload", "configure image transformations", "optimize WebP/AVIF", "create image variants"…

    227 GitHub stars~3.6k tokensUpdated 10 days ago
    Auto-check: notes
  • Cloudflare Sandbox

    secondsky/claude-skills

    Cloudflare Sandboxes SDK for secure code execution in Linux containers at edge.

    227 GitHub stars~4.5k tokensUpdated 10 days ago
    Auto-check passed
  • Architecture Patterns

    secondsky/claude-skills

    Implement proven backend architecture patterns including Clean Architecture, Hexagonal Architecture, and Domain-Driven Design.

    227 GitHub starsUsed in 11 repos~2.4k tokens
    Auto-check passed

Categories

Questions about Cloudflare Nextjs

What does Cloudflare Nextjs do?

Deploy Next.js to Cloudflare Workers via the OpenNext adapter (@opennextjs/cloudflare). Cloudflare Nextjs is an agent skill from secondsky/claude-skills.js to Cloudflare Workers via the OpenNext adapter (@opennextjs/cloudflare).

When should I use Cloudflare Nextjs?

Cloudflare Nextjs fits situations like: SSR/ISR/SSG/App; getCloudflareContext; bindings (D1/R2/KV/AI/Hyperdrive); skew protection.

How do I install Cloudflare Nextjs in Claude Code?

Run `npx skills add secondsky/claude-skills --skill cloudflare-nextjs -a claude-code`. Or copy the skill folder (plugins/cloudflare-nextjs/skills/cloudflare-nextjs in secondsky/claude-skills) into .claude/skills/cloudflare-nextjs in your project. Claude Code loads it when a task matches its description.

How do I install Cloudflare Nextjs in Codex?

Run `npx skills add secondsky/claude-skills --skill cloudflare-nextjs -a codex`. Or copy the skill folder (plugins/cloudflare-nextjs/skills/cloudflare-nextjs in secondsky/claude-skills) into .agents/skills/cloudflare-nextjs in your project. Codex loads it when a task matches its description.

Can I use Cloudflare Nextjs 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 secondsky/claude-skills --skill cloudflare-nextjs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cloudflare-nextjs, .gemini/skills/cloudflare-nextjs, .github/skills/cloudflare-nextjs and .opencode/skills/cloudflare-nextjs in your project.

What does Cloudflare Nextjs need to run?

Going by SKILL.md and its folder, Cloudflare Nextjs needs a shell and TypeScript for the scripts in its folder, the command-line tools its instructions call (npm, npx and wrangler) and credentials named CACHE_PURGE_API_TOKEN, CF_WORKERS_SCRIPTS_API_TOKEN and CLOUDFLARE_ACCESS_CLIENT_SECRET. Our summary lists: Node.js; A Bash shell; A credential in CACHE_PURGE_API_TOKEN.

Does Cloudflare Nextjs access the network?

SKILL.md names 2 domains. As links in the text: opennext.js.org and github.com. This is read from the text; nothing was executed.

Is Cloudflare Nextjs safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Cloudflare Nextjs use?

Cloudflare Nextjs is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Cloudflare Nextjs use?

About 5.3k tokens (SKILL.md is roughly 21k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 18k tokens, read only when the agent opens those files.

What are the alternatives to Cloudflare Nextjs?

Skills that share tags, products or a category with Cloudflare Nextjs: Olore Opennext Latest (olorehq/olore, 104 stars), Cloudflare Email Service (hodgef/apiker, 127 stars), Spiceflow (remorses/spiceflow, 167 stars) and Cloudflare (ericrisco/rsc-harness, 167 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cloudflare Nextjs?

secondsky (a GitHub user) maintains it in secondsky/claude-skills, which has 227 GitHub stars. The repository holds 169 skills in this directory. The repository was last updated on September 28, 2026.

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