Write an agent
The quickest way is the web app: Agent page, agent picker, Create agent. It saves a Python file like the one below. To write it by hand, save this as~/innate-os/workspace/custom_agents/greeter.py:
Every agent can already talk, wait, and stop a running skill. You don’t list those.
Write a good prompt
Skills decide what the robot can do. The prompt decides what it does. The model follows it literally, so be specific:- Say who the robot is and how it speaks.
- Give the goal as concrete steps.
- Say what to do in edge cases, like when nobody is there or a skill fails.
Example: security guard
Example: security guard
Example: sock collector
Example: sock collector
Example: quiet observer
Example: quiet observer
Choose the model
On the web app’s Agent page, click the agent’s name to open its panel, then pick a model from Model. The robot switches without a restart, and the next reply comes from the new model. This is the robot’s model, shared by every agent that doesn’t pin its own. Settings → Agent → Model changes the same setting. A model whose vendor key is missing stays in the list and says so; add the key under Settings → Keys. To pin a model to one agent, setmodel on its class:
Start an agent
- Web app: open the Agent page, pick your agent, and press Start. Reset clears the conversation.
- Phone app: tap the agent’s card on the Home screen. Pull down to refresh the list.
- On boot: in the phone app, long-press a card and choose Set as default.
Built-in agents
These ship inworkspace/innate_agents/. Read them for working examples.

