.agents/skills/server-plugins/SKILL.md
Framework server plugins and the `/_agent-native/` route namespace. Use when adding a custom server plugin, deciding whether to create an `/api/` route vs an action, or debugging auto-mounted framework routes.
npx skillsauth add BuilderIO/agent-native server-pluginsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Five default plugins auto-mount when your app doesn't have a custom version in server/plugins/:
| Plugin | Default behavior | Customize when |
| ------------- | ------------------------------------------------- | ------------------------------------------- |
| agent-chat | Agent chat endpoints | Custom mentionProviders or systemPrompt |
| auth | Auth middleware | Custom publicPaths or Google OAuth config |
| core-routes | /_agent-native/poll, /_agent-native/ping, etc | Custom envKeys or sseRoute |
| resources | Resource CRUD | Rarely |
| terminal | Terminal emulator | Rarely |
Only create plugin files for plugins you need to customize. Let defaults auto-mount.
/_agent-native/All framework-level routes live under /_agent-native/ to avoid collisions with template-specific /api/* routes.
/_agent-native/./api/* for their domain routes./api/./_agent-native/ — that namespace is reserved.| Route | Purpose |
| ------------------------------------------------------------- | ---------------------------------------- |
| GET /_agent-native/poll | Polling endpoint for DB change detection |
| GET /_agent-native/events | SSE endpoint for real-time sync |
| GET /_agent-native/ping | Health check |
| GET/PUT/DELETE /_agent-native/application-state/:key | Application state CRUD |
| GET/PUT/DELETE /_agent-native/application-state/compose/:id | Compose draft CRUD |
| POST /_agent-native/agent-chat | Agent chat SSE endpoint |
| GET /_agent-native/agent-chat/mentions | Mention search for @-tagging |
| GET /_agent-native/env-status | Env key configuration status |
| POST /_agent-native/env-vars | Save env vars |
| /_agent-native/auth/* | Authentication (login, session, logout) |
| /_agent-native/google/* | Google OAuth (callback, auth-url, etc.) |
| /_agent-native/resources/* | Resource CRUD |
| /_agent-native/actions/:name | Auto-mounted action endpoints |
| /_agent-native/available-clis | Available CLI tools |
| /_agent-native/agent-terminal-info | Terminal connection info |
| /_agent-native/collab/* | Real-time collaboration (see real-time-collab) |
| /_agent-native/a2a | A2A JSON-RPC endpoint (see a2a-protocol) |
For standard CRUD and data operations, use defineAction in actions/ — the framework auto-mounts them as HTTP endpoints at /_agent-native/actions/:name. Only create custom /api/* routes for things actions can't do:
The Nitro Vite plugin handles both /api/ and /_agent-native/ prefixes via file-based routing in server/routes/.
actions — Prefer actions over custom /api/ routesauthentication — Auth middleware and session handlingportability — Use H3 (not Express) for all routestools
Public booking flow — the state machine, animations, and URL/app-state sync.
tools
Trigger-based automations — reminders, follow-ups, webhooks — across the booking lifecycle.
tools
Team event types, round-robin assignment, collective bookings, host weights, and no-show calibration.
development
The pure `computeAvailableSlots` function — inputs, outputs, invariants, and debugging guide.