Build AI agents on Cloudflare's edge using prompt-native architecture where features are defined in prompts, not code. Use when creating autonomous agents with Durable Objects, designing Workers services, implementing self-modifying systems, or adopting the "trust the agent's intelligence" philosophy on the edge.
View on GitHubhirefrank/hirefrank-marketplace
edge-stack
January 16, 2026
Select agents to install to:
npx add-skill https://github.com/hirefrank/hirefrank-marketplace/blob/main/plugins/edge-stack/skills/agent-native-architecture/SKILL.md -a claude-code --skill agent-native-architectureInstallation paths:
.claude/skills/agent-native-architecture/<essential_principles> ## The Prompt-Native Philosophy for Cloudflare Edge Agent native engineering inverts traditional software architecture. Instead of writing code that the agent executes, you define outcomes in prompts and let the agent figure out HOW to achieve them using Cloudflare's edge primitives. ### The Foundational Principle **Whatever the user can do, the agent can do. Many things the developer can do, the agent can do.** Don't artificially limit the agent. If a user could read state, write to Durable Objects, queue messages, call Workers—the agent should be able to do those things too. The agent figures out HOW to achieve an outcome; it doesn't just call your pre-written functions. ### Features Are Prompts Each feature is a prompt that defines an outcome and gives the agent the tools it needs. The agent then figures out how to accomplish it. **Traditional:** Feature = Worker function that agent calls **Prompt-native:** Feature = prompt defining desired outcome + primitive Cloudflare tools The agent doesn't execute your code. It uses Cloudflare primitives to achieve outcomes you describe. ### Tools Provide Capability, Not Behavior Tools should be primitives that enable capability. The prompt defines what to do with that capability. **Wrong:** `process_workflow(data, steps, handlers)` — agent executes your workflow **Right:** `durable_object_rpc`, `queue_send`, `kv_put`, `service_binding_call` — agent figures out the flow Pure primitives are better, but domain primitives (like `store_agent_state`) are OK if they don't encode logic—just storage/retrieval. ### The Development Lifecycle 1. **Start in the prompt** - New features begin as natural language defining outcomes 2. **Iterate rapidly** - Change behavior by editing prose, not refactoring Workers code 3. **Graduate when stable** - Harden to Workers code when requirements stabilize AND speed/reliability matter 4. **Many features stay as prompts** - Not everything needs to become a Worker