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

# Abilities

> This guide explains Abilities in OpenHome and how to manage, customize, and create them to extend Agent functionalities.

## Introduction to Abilities

Abilities are modular extensions that enhance the functionality of your OpenHome Agents. They act as plugins, enabling your Agents to perform specialized tasks, such as fetching data from the web, controlling smart devices, or executing complex commands tailored to your project's requirements.

With Abilities, you can:

* Add **Trigger Words** to define specific phrases or commands that activate a particular Ability.
* Use the **Marketplace** to explore and install community-created Abilities.
* Customize or create your own Abilities through the **Live Editor**.

## The Abilities Page

The **Agent Abilities** page lists every Ability you can access.

![Agent Abilities page showing Ability cards across the Skill, Local, and Background Daemon categories](https://mintcdn.com/algoryc/-5RC5i9bPpqE7jH4/openhome_icons/dashboard_v2/abilities-page-light.png?fit=max\&auto=format\&n=-5RC5i9bPpqE7jH4\&q=85\&s=c202acbadacd2cbbd858006b82398227)

* **Tabs**: **All Abilities**, **My Abilities**, **Installed Abilities**, **Marketplace Abilities**.
* **Explore more**: opens the [Marketplace](#abilities-in-the-marketplace).
* Each Ability card shows its icon, name, category (**Skill**, **Agent Controlled**, **Background Daemon**, or **Local**, see [Ability Categories](#ability-categories)), description, an **Enabled** toggle, and its trigger word count, plus **Share** and a **More actions** menu.

## Creating an Ability

Click **Create Ability** to choose how to build it:

![Create Ability dialog](https://mintcdn.com/algoryc/-5RC5i9bPpqE7jH4/openhome_icons/dashboard_v2/create-ability-modal-light.png?fit=max\&auto=format\&n=-5RC5i9bPpqE7jH4\&q=85\&s=35973b36e5ab1bb8855b30e46a201ab6)

### Design Ability with AI

This opens the Live Editor tagged **Designing with AI**, with a full-page **AI Agent** chat pane instead of the code editor. A **Start from a template** row across the top lets you jump straight to a template, each labelled with its category, and the Files, Settings, and Local Abilities panels stay empty until the Ability exists.

![Design Ability with AI, showing the template shortcuts and the AI Agent's opening question](https://mintcdn.com/algoryc/-5RC5i9bPpqE7jH4/openhome_icons/dashboard_v2/ability-ai-start-light.png?fit=max\&auto=format\&n=-5RC5i9bPpqE7jH4\&q=85\&s=c20d1df061da6c09c65a0f9d6e0fc67a)

Describe the Ability you want to build. The AI Agent works out the details and shows them back as an **Ability details** card, its **Name**, **Type**, **Trigger Words**, **Description**, and the **Template** it picked as a starting point, then asks you to confirm.

![AI Agent proposing the Ability name, type, trigger words, description, and template before creating it](https://mintcdn.com/algoryc/-5RC5i9bPpqE7jH4/openhome_icons/dashboard_v2/ability-ai-details-light.png?fit=max\&auto=format\&n=-5RC5i9bPpqE7jH4\&q=85\&s=d6eaab7edcd8890d32fdf48d20e2a433)

Confirm, and it creates the Ability and opens the regular Live Editor with the files scaffolded and your trigger words already set.

![The created Ability open in the Live Editor with its scaffolded main.py](https://mintcdn.com/algoryc/-5RC5i9bPpqE7jH4/openhome_icons/dashboard_v2/ability-ai-created-light.png?fit=max\&auto=format\&n=-5RC5i9bPpqE7jH4\&q=85\&s=e9987fa182daba978b689becc6d458e3)

From here the Ability exists but does nothing yet. Write your own logic in `main.py`, either by hand or with the in-editor AI assistant (**Open AI Agent** in the Logs console). See [How to Build an Ability](https://docs.openhome.com/building-abilities/how-to-build.md) for the code side.

### Jumpstart with Template

Start from a ready-made Ability. Templates map directly to the ones in the [OpenHome Abilities repository](https://github.com/openhome-dev/abilities), Music Player, Wikipedia, OpenClaw, Smart Home, Hermes, and more, tagged by category (**Skill**, **Agent Controlled**, **Background Daemon**, or **Local**).

![Jumpstart with an Ability template](https://mintcdn.com/algoryc/-5RC5i9bPpqE7jH4/openhome_icons/dashboard_v2/ability-templates-light.png?fit=max\&auto=format\&n=-5RC5i9bPpqE7jH4\&q=85\&s=52da2079a93d0f49610ad8c595d5e958)

Picking a template prompts for:

* **Ability name**.
* **Trigger Words**: the spoken phrases that activate it. Templates pre-fill a starting set, remove any with its **x** or add more.

![Naming an Ability and reviewing its trigger words](https://mintcdn.com/algoryc/-5RC5i9bPpqE7jH4/openhome_icons/dashboard_v2/ability-name-triggers-light.png?fit=max\&auto=format\&n=-5RC5i9bPpqE7jH4\&q=85\&s=17b987796e20617ba6d3e28a17154466)

Confirming opens the Live Editor, already populated with the template's files.

### The Live Editor

![Live Editor for a newly created Ability](https://mintcdn.com/algoryc/-5RC5i9bPpqE7jH4/openhome_icons/dashboard_v2/ability-live-editor-light.png?fit=max\&auto=format\&n=-5RC5i9bPpqE7jH4\&q=85\&s=01388194b1c90d5f2b0999e435f71c05)

* **Files**: the Ability's source files (for example `main.py`, `README.md`). **New File** and **Upload File** add to them, each file has a **Delete file** control, and **Information** and **Documentation** link out to reference material.
* **Code editor**: edit the selected file directly. Its toolbar has **Save**, **Download**, **Discard Changes**, **New Commit**, and **Commit History**.
* **Settings**: **Interactive Interruption**, **Auto Interrupt**, and **AI Coding Agent** toggles. If a DevKit is online and connected, an **Advanced DevKit Controls** section also appears here, see [Local Abilities](https://docs.openhome.com/local-ability.md#advanced-devkit-controls).
* **Triggers**: the Ability's trigger words, editable directly.
* **Local Abilities**: lists every installed Local Ability with a **Copy name** button beside each, for the `capability_name` parameter when one Local Ability calls another. See [Local Abilities](https://docs.openhome.com/local-ability.md).
* **Start Live Test**: try the Ability immediately by voice, with **Turn off speaker** and **Turn off mic** beside it.
* **Logs**: a console with **LOGS**, **DEBUG**, **INFO**, **CRITICAL**, **ERROR**, and **WARNING** views, plus a **DEVKIT** view for Local Abilities, **Open AI Agent** (an in-editor AI assistant), clear, minimize, and close controls.

## Managing Abilities

From the Abilities page, each card has an **Enabled** toggle to turn the Ability on or off, a **Share** button, and a **More actions** menu with:

* **Edit**: the Ability's image, description, trigger words, and provider keys. The name is fixed once the Ability is created and cannot be changed here.
* **Code**: reopens the [Live Editor](#the-live-editor).
* **Version control**: the Ability's commit history.
* **Create Template**: turn the Ability into a reusable template.
* **Publish to Community**: submit it to the [Marketplace](#abilities-in-the-marketplace).
* **Delete**: remove the Ability.

## Using Abilities in Agents

Abilities belong to your account rather than to one Agent. An Ability that is switched on with the **Enabled** toggle on the [Abilities page](#the-abilities-page) is available to your Agents, and it activates when someone says one of its trigger words.

There is one exception. To have an Ability run automatically at the start of every call, rather than waiting for a trigger word, set it as the Agent's **Base Ability** under **Model** when [creating or editing the Agent](https://docs.openhome.com/agents.md#creating-an-agent). The dropdown lists your enabled Abilities and starts empty, showing **Choose Base Ability** until you pick one, and each Agent can have one Base Ability.

So there are two ways an Ability runs:

* **On a trigger word**: available to any Agent while the Ability is enabled.
* **On call start**: only for the Agent that has it set as its Base Ability.

## Ability Categories

Every Ability falls into one of four categories: **Skill**, **Agent Controlled**, **Background Daemon**, or **Local**. See [Ability Types](https://docs.openhome.com/ability-types.md) for the full breakdown of when to use each, and [Background Abilities](https://docs.openhome.com/building-abilities/background-abilities.md) for the `background.py` pattern.

### Example Workflow

1. **Trigger Words**: A user speaks or types a command containing a pre-defined trigger word.
2. **Ability Activation**: The Agent processes the input and activates the corresponding Ability.
3. **Task Execution**: The Ability performs the task and returns the response.
4. **Dynamic Feedback**: The Agent adapts to the user's input and updates its interaction history.

## Abilities in the Marketplace

Abilities can be published to and installed from the [Marketplace](https://docs.openhome.com/dashboard.md#marketplace), where the community browses, installs, and shares what others have built.

## See also

* [Ability Types](https://docs.openhome.com/ability-types.md): choosing between Skill, Agent Controlled, Background Daemon, and Local.
* [How to Build an Ability](https://docs.openhome.com/building-abilities/how-to-build.md): writing the Python behind an Ability.
* [Local Abilities](https://docs.openhome.com/local-ability.md): Abilities that run on OpenHome DevKit hardware.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.