writing-skills
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
vercel-eveBuild, develop, deploy, self-host, secure, and troubleshoot durable backend AI agents with Vercel Eve. Use when creating an Eve agent, adding tools, skills, subagents, channels, schedules, sandboxing, durable sessions, observability, or deploying Eve on Vercel or a Node host. Do not use for the separate Vercel AI SDK Agent APIs such as ToolLoopAgent or Work…
Independent GitHub snapshot · Automated classification · Original documentation governs
Eve is a filesystem-first framework for durable backend agents. Treat the agent/ directory as the application boundary and the deployment as a composition of independently replaceable HTTP, workflow, sandbox, model, credential, and observability layers.
agent/instructions.md, runtime choices in agent/agent.ts, and one typed capability per file under its relevant directory.Do not load this for the separate ai package’s ToolLoopAgent, WorkflowAgent, or HarnessAgent APIs. Do not use it for generic Next.js deployment without an Eve agent. For vendor-neutral workflow orchestration, use the relevant workflow or agent-framework skill instead.
When such a request appears, say that Eve does not apply and route to current AI SDK documentation or an AI SDK-specific skill. Do not write AI SDK API code, model configuration, or deployment guidance from this skill.
| Need | Default location |
|---|---|
| Always-on behavior | agent/instructions.md |
| Model and runtime options | agent/agent.ts |
| Typed actions | agent/tools/*.ts |
| On-demand procedures | agent/skills/ |
| Narrower child agents | agent/subagents/ |
| HTTP, Slack, or other entry points | agent/channels/ |
| Typed external integrations | agent/connections/ |
| Isolated compute | agent/sandbox/ |
| OpenTelemetry setup | agent/instrumentation.ts |
| Recurring work | agent/schedules/ |
Read development and architecture before creating or restructuring an agent.
npx eve@latest init my-agent
cd my-agent
npm run dev
Use the generated README and package scripts as the local source of truth. A minimal runtime configuration selects a model:
import { defineAgent } from "eve";
export default defineAgent({
model: "anthropic/claude-opus-4.8",
});
On Vercel, a string model ID routes through AI Gateway and can use project OIDC. Outside Vercel, either configure AI_GATEWAY_API_KEY or use an AI SDK provider object with the provider’s normal credential. Do not assume that BYOK means the Gateway is bypassed.
A tool is a typed boundary between model reasoning and an external action. Give it a narrow schema and a description that makes the authorization and side-effect boundary clear. A tool declares typed inputs, outputs, and side effects. It does not hold credentials or grant authority: keep integration credentials in connections and enforce authorization server-side before the effect occurs.
import { defineTool } from "eve/tools";
import { z } from "zod";
export default defineTool({
description: "Look up a city’s current weather.",
inputSchema: z.object({ city: z.string().min(1) }),
async execute({ city }) {
return { city, condition: "Sunny" };
},
});
Use a skill for larger procedures that should load only when relevant. Use a subagent when the work needs a fresh history, narrower toolset, or isolated intermediate state.
Use agent/connections/ for typed service integrations. Use agent/sandbox/ for generated code or shell work. Never place provider keys, OAuth tokens, or route-auth secrets in instructions, tool source, generated artifacts, or logs.
For sandbox design and lifecycle choices, read development and architecture. For self-hosting backends and routing, read deployment and self-hosting.
Use a Git-connected project or vercel deploy. Eve emits Vercel Build Output, uses Vercel Workflows for durable sessions, and normally selects Vercel Sandbox. Replace scaffolded placeholder authentication before exposing a browser-facing route.
eve build
PORT=3000 eve start --host 0.0.0.0
This uses the normal Nitro Node output under .output/. Before production traffic, read deployment and self-hosting and explicitly verify persistent workflow storage, sandbox backend, model credential path, authentication, the /eve/ and /.well-known/workflow/ proxy prefixes, schedule execution, and telemetry.
Treat host paths, reverse-proxy product configuration, storage product, and scheduler implementation as target-specific evidence. If the target topology is not supplied or inspected, name the required contract and the missing evidence rather than inventing a configuration.
vercelOidc() as the sole authenticator.recordInputs or recordOutputs to false when traces would contain sensitive data.GET /eve/v1/health.POST /eve/v1/session.The task is complete only when the requested agent capability is implemented, its route and authorization boundary are explicit, and the relevant local or deployed session path has been exercised with evidence. See source index when validating version-sensitive behavior.