> ## Documentation Index
> Fetch the complete documentation index at: https://docs.innate.bot/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

How to create agent apps for Innate robots using the SDK — or ROS2 directly.

## Core concepts

<Frame caption="A system diagram of the software running on Innate robots">
  <img src="https://mintcdn.com/innateinc/0eXO6LY2jsVAky_A/images/system-diagram.png?fit=max&auto=format&n=0eXO6LY2jsVAky_A&q=85&s=ed2ac18e375f79de4e8682e8a282af69" alt="Innate software system diagram" width="2528" height="1073" data-path="images/system-diagram.png" />
</Frame>

#### An agentic OS

Innate robots run an agentic OS built on top of ROS2. It is powered by **the Innate agent** — our cloud-hosted AI that watches what the robot sees, reasons about what to do, and triggers skills to do it (more on it [below](#the-innate-agent)).

You write agents and skills in plain Python; the OS handles the classic robotics stack underneath (unless you want to go down there — see [ROS2 Core](/software/ros2-core)).

#### Agents

The central concept of the Innate OS is the `agent`, which is our name for a **physical app for robots**. An agent is defined by a **system prompt** and a set of **skills** it can use.

A complete agent fits in one short Python file: subclass `Agent`, give it an id and a display name, list its skills, and write its prompt. Drop the file on the robot and it loads automatically — no registration step.

<Card title="Anatomy of an Agent" icon="robot" href="/software/agents/definitions">
  The full structure, a complete working example, and a copy-paste template.
</Card>

#### Skills

**Skills** are the second core concept of the Innate OS.

A skill can be defined with code, a model checkpoint (such as a **VLA** — a vision-language-action model trained from demonstrations) or other specific interfaces we define for you. Adding a skill to an agent is like giving additional capabilities to your robot.

Similarly to agentic frameworks, **skills** can be thought of as **tool calls**, with extra sauce.

Skills can be interrupted by the robot during execution if required, and they send live feedback into the running agent's context.

See how to create skills in [Skills](/software/skills)

#### The Innate agent

The Innate agent is the embodied AI agent that controls MARS. It runs your agents and their skills, and gives MARS the ability to reason, memorize, plan and make decisions as it runs.

Understand more how the Innate agent runs in [The Innate Agent](/software/agent)

#### ROS2 core

Our OS runs at the core on **ROS2** and can be augmented at that level by roboticists that understand it.

See [ROS2 Core](/software/ros2-core) for more information on nodes, topics, and services available.
