eve-agent-native-design
Design agent-native applications on Eve Horizon. Apply parity, granularity, composability, and emergent capability principles to make apps that agents can build, operate, and extend naturally.
What this skill does
# Agent-Native Design for Eve Horizon
Build applications where agents are first-class citizens — not afterthoughts.
## When to Use
Load this skill when:
- Designing a new application or API on Eve
- Evaluating whether an existing app is agent-friendly
- Adding features that agents should be able to use
- Deciding between putting logic in code vs. in prompts
- Choosing how to handle inter-agent communication
## The Four Principles
### 1. Parity — Agents Can Do Everything Users Can
Every user action must have an agent-equivalent path.
**On Eve**: The CLI IS the parity layer. If a user can do it through `eve ...`, an agent can too. When building your app, apply the same principle:
| Check | How |
|-------|-----|
| Can agents create/read/update/delete every entity? | Map UI actions to CLI/API equivalents |
| Are there UI-only workflows? | Expose them as API endpoints or CLI commands |
| Can agents discover what's available? | Provide `list` operations for every entity type |
**CRUD Completeness**: For every entity in your app, verify agents have Create, Read, Update, and Delete paths. Missing any one breaks parity.
### 2. Granularity — Atomic Primitives, Not Bundled Logic
Features emerge from agent loops, not monolithic tools.
**Wrong**: `deploy_and_monitor(app)` — bundles judgment into code
**Wrong**: `classify_and_organize_files(files)` — agent should decide classification
**Right**: `eve build create`, `eve build run`, `eve env deploy`, `eve job follow` — agent decides the sequence
**On Eve**: The manifest defines WHAT (services, pipelines), the agent decides HOW and WHEN to compose them.
**Design test**: To change behavior, do you edit prose (prompts/skills) or refactor code? If code — your tools aren't atomic enough.
### 3. Composability — New Features = New Prompts
When tools are atomic and parity exists, you add capabilities by writing prompts, not code.
**Eve example**: The `eve-pipelines-workflows` skill adds pipeline composition capability. No new CLI commands needed — the skill teaches agents to compose existing `eve pipeline` and `eve workflow` commands.
**Your app**: If adding a feature requires new API endpoints, you may be bundling logic. Consider whether existing primitives can be composed differently.
### 4. Emergent Capability — Agents Surprise You
Build atomic tools. Agents compose unexpected solutions. You observe patterns. Optimize common patterns. Repeat.
**Eve example**: Agents compose `eve job create --parent` + `eve job dep add` + depth propagation to build arbitrary work hierarchies. The platform didn't prescribe this — agents discovered it from atomic primitives.
## Platform Capabilities for Agentic Apps
Beyond the four principles, Eve provides (or is building) specific primitives that make agentic apps dramatically simpler:
### Job Attachments — Structured Context Passing
Pass plans, reports, and insights between agents without file gymnastics. Attach text documents (markdown, JSON, YAML) to jobs. Downstream agents read attachments from parent jobs. This solves 80% of the "agents passing structured context" problem.
### Service Account Auth — Backend-to-API Communication
Use `eve auth mint` (today) or service accounts (emerging) to authenticate app backends. Every app with a backend needs a non-user token for API calls. Scoped permissions enforce least privilege.
### Org Document Store — Persistent Agent Knowledge
Agents accumulate knowledge that outlives individual jobs: architecture reports, risk assessments, conventions. DB-backed with full-text search and agent-native search/replace editing via PATCH operations.
### Web Chat — Two Mechanisms
Choose based on your needs:
- **Gateway Provider** (Mechanism A): WebSocket to Eve gateway. Zero backend. Best for simple chat widgets and admin consoles.
- **Backend-Proxied** (Mechanism B): App backend calls `POST /internal/orgs/:id/chat/route`. Full control over enrichment, storage, routing. Best for production SaaS.
**Decision**: If your app intercepts, enriches, or stores conversations → use B. Otherwise → use A.
### Cross-Project Queries — Org-Level Intelligence
Portfolio views, dashboards, and any tool spanning multiple projects. Org-level endpoints eliminate N+1 API calls.
See `references/eve-horizon-primitives.md` for the full catalog with API schemas and priority ranking.
## Eve-Specific Design Patterns
### Files as Universal Interface
- Agents know `cat`, `grep`, `mv`, `mkdir`
- Use `.eve/manifest.yaml` as single source of truth — agents read and edit it
- Agent configs live in repo files (`agents.yaml`, `teams.yaml`) — not hidden in databases
- Directory structure = information architecture: `{entity_type}/{entity_id}/content`
- Name files by purpose: `{entity}.json`, `{type}.md`, `agent_log.md`
### Context Injection (Three Layers)
System prompts should include:
1. **Available resources** — what exists, with counts: "12 notes in /notes, 3 projects"
2. **Capabilities** — what agents can do: "Create, edit, tag, delete notes"
3. **Recent activity** — what happened: "User created 'Project kickoff' 2 hours ago"
Eve injects `EVE_API_URL`, `EVE_PROJECT_ID`, `EVE_ORG_ID`, `EVE_ENV_NAME` into every environment. Skills provide domain vocabulary.
### Explicit Completion Signals
- Jobs return `json-result` with `eve.status` ("success", "failed", "waiting")
- No heuristic completion detection — explicit signals always
- Track progress at task level with phase transitions
- Support `shouldContinue` for multi-step operations
- Checkpoint state for resume on interruption
### Dynamic Capability Discovery
- `eve job list` discovers available work
- `eve agents list` discovers available agents
- Skills system auto-discovers capabilities at install time
- Gateway routes messages to agents by slug — new agents are instantly addressable
- Prefer runtime discovery (`list_available_types()`) over static tool-per-endpoint mapping
### Agent-to-UI Communication
- Event types: `thinking`, `toolCall`, `toolResult`, `textResponse`, `statusChange`
- No silent actions — changes visible immediately
- Show progress during execution, not just results
- Consider `ephemeralToolCalls` for noisy internal operations
## The Success Checklist
**Architecture:**
- [ ] Every UI action has a CLI/API equivalent (parity)
- [ ] Every entity has full CRUD (completeness)
- [ ] Tools do one thing; agent decides composition (granularity)
- [ ] Adding capability = adding a skill/prompt, not code (composability)
- [ ] Agent can handle requests you didn't explicitly design for (emergent)
**Implementation:**
- [ ] Manifest and config files are the source of truth (files as interface)
- [ ] System prompt includes resources, capabilities, and recent activity (context injection)
- [ ] Completion is explicit, not heuristic (json-result with eve.status)
- [ ] Agent actions reflect immediately in UI (visibility)
- [ ] Dynamic discovery works for new capabilities (extensibility)
**If building an app with a backend:**
- [ ] Service account auth configured for API access
- [ ] Web chat mechanism chosen (gateway vs. proxied)
- [ ] Job attachments used for structured inter-agent context
- [ ] Org document store for persistent knowledge (when available)
## Anti-Patterns
| Anti-Pattern | Fix |
|---|---|
| Agent as router only | Let agents act, not just route |
| Workflow-shaped tools (`analyze_and_deploy`) | Break into atomic primitives |
| UI-only actions | Maintain parity — add CLI/API paths |
| Context starvation | Inject resources via skills and env vars |
| Gates without reason | Default to open; keep primitives available |
| Heuristic completion | Use explicit completion signals |
| Static API mapping | Use dynamic capability discovery |
| Stuffing context in job descriptions | Use job attachments for structured docs |
| Per-user tokens for backends | Use service accounts / eve auth mint |
| Polling for events | Use webhooks when available (emerging) |
## Reference
See `references/evRelated in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.