cloudflare

cloudflare is a skill for Claude Code, Codex from zackbart/connecta. It costs 2 tokens per session (1,720 once invoked), scanned A, original, MIT.

A Cloudflare API connector for reading data and for a small set of specially supported account or R2 storage changes. R2 is Cloudflare's object-storage service.

In plain words
What is it for?
Use it to read Cloudflare API data, download byte-preserving responses, and perform the documented Global API Key or R2 jurisdiction and storage-class operations.
Why use it?
It separates credentials by connector and prevents unsupported or unsafe API mutations from being attempted through the wrong interface.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to read Cloudflare API data, download byte-preserving responses, and perform the documented Global API Key or R2 jurisdiction and storage-class operations.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/zackbart/connecta/cloudflare
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 zackbart/connecta --skill cloudflare
Clone the repo
git clone --depth 1 https://github.com/zackbart/connecta

Made for: Claude Code, Codex.

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 cloudflare

README.md
[![agentmods](https://agentmods.dev/badge/skills/zackbart/connecta/cloudflare/github.svg)](https://agentmods.dev/skills/zackbart/connecta/cloudflare)
Your own site
<a href="https://agentmods.dev/skills/zackbart/connecta/cloudflare"><img src="https://agentmods.dev/badge/skills/zackbart/connecta/cloudflare/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 cloudflare

Your own site · 80×15
<a href="https://agentmods.dev/skills/zackbart/connecta/cloudflare"><img src="https://agentmods.dev/badge/skills/zackbart/connecta/cloudflare.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 2 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,720 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. 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.00002 $0.01720
Opus 5.5 $0.00001 $0.00688
Sonnet 5.5 $0.00000 $0.00344
Haiku 4.5 $0.00000 $0.00172

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

Security

Grade A, and why

cloudflare scanned grade A with 0 findings 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.

The scan reads SKILL.md. This mod also ships 9 executable files (fixtures.ts, graphql.ts, index.ts, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

src/providers/cloudflare/SKILL.md · 54 lines

How it starts

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

  • The catalog is Cloudflare's own search and execute. search runs code against Cloudflare's OpenAPI document; execute runs code that may call any Cloudflare API endpoint the OAuth grant allows.
  • Connecta classifies execute as a write, even for a program that only reads, because one program can mix GET, POST, PUT, PATCH, and DELETE and no schema proves otherwise. A read-only endpoint therefore gets only search here. Deployments that need API reads from a read-only endpoint configure an API-token connector, whose cloudflare_api_read and named reads are reads.
  • Use search to find the exact method, path, and fields before writing an execute program. Do not guess an endpoint from product naming.
  • Keep returned values small. Filter and project inside the Cloudflare program, then reduce again inside Connecta's execute_code when several calls must be joined.
  • This connection has none of the REST connector's tools: no cloudflare_api_* validation against a pinned index, no graphql_query, no cloudflare_api_upload, and no account or zone pin. OAuth permissions are the boundary.
  • An auth_required failure means this connector's Cloudflare authorization is missing or expired: run authorize_connector for this connector id, then retry the same call unchanged.

This connector holds a Global API Key. It acts as its Cloudflare user with every permission that user has, in every account and zone the user belongs to, and nothing on Cloudflare's side narrows it. A mistaken write can reach production domains, billing, and members across all of them. Prefer reads, state the account and zone of every write, and stop when a request is ambiguous. Writes under /user and /memberships are refused. R2 accepts API tokens only, so R2 operations fail with this key.

  • This is Connecta's REST connector to the Cloudflare v4 API, holding one operator-managed credential. cloudflare_api_search finds API operations in a pinned index (not records) and names the tool that calls each; cloudflare_api_details returns one operation's parameters and body with types, enums, and required names. Neither sends a request.
  • cloudflare_api_read calls GET operations plus reviewed read-only POSTs: analytics queries, Analytics Engine and SQL API queries, Log Explorer SQL, Vectorize queries, KV bulk get, telemetry queries, and validation checks. cloudflare_api_write calls every other POST, PUT, PATCH, and DELETE with method and path stated. D1 …/query and …/raw, Durable Object queries, Workers AI …/ai/run, AI Search and AutoRAG search (query rewriting runs billed models), monetization checks, and flag evaluation are writes: they can change data, cost money, or activate something.
  • Paths are concrete: substitute ids into the template search returned (/zones/<zone id>/dns_records/<record id>). Pass query and body as JSON named as details lists them; text operations (Analytics Engine SQL, Log Explorer SQL, Worker scripts) take a string body, and Vectorize inserts a list of objects sent as NDJSON. R2 calls accept headers with cf-r2-jurisdiction or cf-r2-storage-class. Encode a / inside an R2 object key or KV key name as %2F.
  • Every call is checked against the pinned index before it is sent. An unknown path returns the nearest operations; an unknown or missing parameter returns validation.issues with the accepted names. Nothing reached Cloudflare, so fix the call from that answer.
  • Results arrive as { status, data, page? } with Cloudflare's envelope unwrapped: data is the result. On a list, pass page.next as the page.param query argument (page for numbered lists, cursor for KV, R2, and other cursor lists). Lists belong inside execute_code; pass select (dot paths such as id and name) to keep only the fields the question needs.
  • list_zones and list_accounts resolve names to ids; verify_credential separates a bad credential from a missing permission. graphql_query runs read-only GraphQL Analytics queries (mutations are refused before sending); filter every zones or accounts field by zoneTag or accountTag. A pinned connector sends one query per document, with every fragment it defines used.
  • Multipart, binary, and file bodies go through cloudflare_api_upload: Worker scripts and versions, KV values, R2 objects, Pages deployments, Images, Stream, DNS zone-file import, and Snippets. It takes textBody, base64Body, or multipart parts, never a local file.
  • Refused by design: every operation that mints, rotates, or hands back a credential (API tokens, Access service tokens, R2 temporary credentials, tunnel and Mesh node tokens, signing keys, registry credentials, direct-upload URLs, deploy hooks, preview and participant tokens), payment client secrets, URL Scanner captures (results, HAR, DOM, raw responses: they hold the scanned session's cookies and headers; use the scan search for verdicts), and GETs that act (an email unsubscribe, a PagerDuty connect). Stored and embedded secrets (Turnstile, TSIG, webhook and identity-provider secrets, Stream keys, Logpush destination credentials, probe and custom-provider headers, BGP keys, Zaraz variables, Hyperdrive database passwords, RealtimeKit storage credentials, transform-rule header values) and every environment or plain-text binding value (Pages, Containers, Workers, Builds; names and types stay) come back as "[redacted]" on every method. Notification, RealtimeKit, and data security webhook destinations keep only their scheme and host. Workers KV values are application data and come back as stored. Reviewed operations, and operations that take credentials, report Cloudflare's error codes without its error text. Worker script content is readable: it is code, and secret bindings are not part of it.
  • An auth_required failure means the credential is missing, revoked, or malformed: an operator must replace it in this connection in the operator UI, and authorize_connector returns that handoff. provider_permission_denied means the credential works but lacks this permission or resource, or the call is outside the pin; ask rather than retry.

Read the full file on GitHub · 54 lines

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. today Changed 0f22b4d7abfd
  2. 5d ago Changed · +8 lines b13638ba8180
  3. 6d ago First seen · 46 lines · 2 tokens per session scan A 162431ff5088

Subscribe to this mod's changes

cloudflare is a skill published in the GitHub repository zackbart/connecta (0 stars, last pushed today), licensed MIT. It adds 2 tokens to every session and 1,720 once invoked, about $0.0000 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-08.

Related

Other skills, from other repositories

gke-compute-classes

Configures, optimizes, and troubleshoots GKE ComputeClasses. Use when configuring Spot VMs with on-demand fallback, targeting specific accelerators (GPUs/TPUs) or machine families, restricting ComputeClass access, or debugging pending pods related to node pool auto-creation. Do not use for cluster-level Node Auto…

google/skills · 83 tokens

gke-reliability

Improves GKE workload reliability, using PDBs, health probes, and topology spread constraints. Use when configuring GKE workload reliability, setting up PDBs, or configuring GKE health probes (liveness, readiness, startup). Don't use for generating K8s YAML manifests (use gke-manifest-generation) or disaster recovery…

google/skills · 85 tokens

gke-workload-security

Audits, configures, and hardens workload-level security controls for Google Kubernetes Engine (GKE) applications and namespaces. Covers running security audits (auditcluster.sh), enforcing Network Policies (default-deny and Dataplane V2 logging), isolating high-risk pods inside GKE Sandbox (gVisor), enforcing Pod…

google/skills · 171 tokens

cloud-architect

Designs cloud architectures, creates migration plans, generates cost optimization recommendations, and produces disaster recovery strategies across AWS, Azure, and GCP. Use when designing cloud architectures, planning migrations, or optimizing multi-cloud deployments. Invoke for Well-Architected Framework, cost…

Jeffallan/claude-skills · 71 tokens

nemo-automodel-launcher-config

Configure NeMo AutoModel job launches for interactive runs, Slurm clusters, and SkyPilot cloud execution.

NVIDIA/skills · 30 tokens

azure-mgmt-botservice-dotnet

Azure Resource Manager SDK for Bot Service in .NET. Management plane operations for creating and managing Azure Bot resources, channels (Teams, DirectLine, Slack), and connection settings. Triggers: "Bot Service", "BotResource", "Azure Bot", "DirectLine channel", "Teams channel", "bot management .NET", "create bot".

microsoft/skills · 78 tokens