From edgeone-makers-tools
Provides guidance for writing V8-based edge functions on EdgeOne Makers, covering routing, KV storage, request/response handling, and environment variables.
How this skill is triggered — by the user, by Claude, or both
Slash command
/edgeone-makers-tools:makers-edge-functionsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
V8-based lightweight functions running at the edge. Ideal for simple APIs, KV storage access, and ultra-low latency responses.
V8-based lightweight functions running at the edge. Ideal for simple APIs, KV storage access, and ultra-low latency responses.
Runtime: V8 (like Cloudflare Workers) — NOT Node.js. Do NOT use Node.js built-ins or npm packages.
⚠️
Response.json()is NOT available in this V8 runtime. Always usenew Response(JSON.stringify(data), { headers: { 'Content-Type': 'application/json' } })instead.
File: edge-functions/api/hello.js
export default function onRequest(context) {
return new Response('Hello from Edge Functions!');
}
Access: GET /api/hello
// edge-functions/api/users.js
// Handle all methods
export function onRequest(context) {
return new Response('Any method');
}
// Or use specific method handlers:
export function onRequestGet(context) {
return new Response(JSON.stringify({ users: [] }), {
headers: { 'Content-Type': 'application/json' },
});
}
export async function onRequestPost(context) {
const body = await context.request.json();
return new Response(JSON.stringify({ created: true }), {
status: 201,
headers: { 'Content-Type': 'application/json' },
});
}
export function onRequest(context) {
const {
request, // Standard Request object
params, // Dynamic route params, e.g. { id: "123" }
env, // Environment variables from Makers console
waitUntil, // Extend function lifetime for async tasks
} = context;
// GEO info available via:
const geo = context.request.eo;
// geo.geo.countryName, geo.geo.cityName, geo.geo.latitude, etc.
return new Response('OK');
}
// edge-functions/api/users/[id].js
// Matches: /api/users/123, /api/users/abc
export function onRequestGet(context) {
const userId = context.params.id;
return new Response(JSON.stringify({ userId }), {
headers: { 'Content-Type': 'application/json' },
});
}
// edge-functions/api/[[default]].js
// Catches all unmatched routes under /api/
export function onRequest(context) {
return new Response('Catch-all route', { status: 404 });
}
Cross-reference: if your code uses
context.storeor KV APIs, also readskills/makers-storage/SKILL.md.
⚠️ Prerequisites: You must enable KV Storage in the EdgeOne Makers console, create a namespace, and bind it to your project before using KV. See kv-storage.md for full setup instructions (same directory).
The KV namespace is a global variable (name is set when binding in the console) — it is NOT on context.env.
// edge-functions/api/counter.js
export async function onRequest(context) {
// ⚠️ my_kv is a GLOBAL variable (name set when binding namespace in console)
// Do NOT use context.env.KV ❌
// Read
const count = await my_kv.get('page_views') || '0';
const newCount = parseInt(count) + 1;
// Write
await my_kv.put('page_views', String(newCount));
return new Response(JSON.stringify({ views: newCount }), {
headers: { 'Content-Type': 'application/json' },
});
}
For full KV Storage API reference and usage guide, see: kv-storage.md (same directory).
Edge Functions run on V8 and support these Web Standard APIs:
fetch() for outbound HTTP requestscaches.open(), cache.match(), cache.put()ReadableStream, WritableStream, TransformStreamcrypto.subtle for encryption/signingTextEncoder, TextDecoder⚠️ NOT available: Node.js built-ins (fs, path, http, crypto from Node), require(), npm packages.
| Resource | Limit |
|---|---|
| Code package size | 5 MB |
| Request body | 1 MB |
| CPU time per invocation | 200 ms |
| Language | JavaScript (ES2023+) only |
npx claudepluginhub tencentedgeone/edgeone-makers-toolsBuilds and deploys Vercel Edge Functions for low-latency API routes, geolocation routing, A/B testing, and authentication at the edge. Includes middleware patterns.
Guides use of EdgeOne Makers KV and Blob storage services for edge key-value pairs and file/object storage, including SDK usage, setup, and troubleshooting.
Guides writing Netlify Edge Functions for middleware, geolocation logic, request/response manipulation, auth checks, and A/B testing. Covers Deno runtime, config, path scoping, and edge vs serverless tradeoffs.