This gives you a proper agent architecture that decouples your AI logic from whatever interface you bolt onto it. The core agent uses OpenRouter's SDK for model access and emits granular events (stream deltas, tool calls, reasoning updates) through an EventEmitter, so you can drive an Ink terminal UI, HTTP API, or Discord bot from the same codebase. The items-based streaming model is smart: instead of accumulating chunks, you replace items by ID as they update, which keeps state management clean. Includes Zod for tool definitions and handles extended thinking for models that support it. Good default choice if you're building something that might need multiple frontends or you just want your agent logic testable without rendering anything.
npx skills add https://github.com/openrouterteam/agent-skills --skill create-agent