# Agents and skills

The agents that work on a goal, what each one may use, and the skills they open when a task calls for one.

Canonical page: https://app.auto-lab.ai/docs/brain/agents-and-skills

Every goal has one agent that owns the work, plus task agents it hands single jobs to. **Skills** are written
procedures the agents open when a task calls for one. You manage both in the Brain: **Brain › Agents** and
**Brain › Skills**.

## The agents on a goal

| Agent | What it does |
|---|---|
| The goal's agent | The one you talk to in Chat. It plans, decides what to do next and reaches you. It runs on Auto Lab's built-in instructions, plus your [goal instructions](/docs/brain#goal-instructions) and the goal's memory. |
| Task agents | Research, Docs, Mail reader, Browser and Coder. Each run does one job and reports back. See [Chat and runs](/docs/goals/chat). |
| Session agents | The agents listed in **Brain › Agents**. They do the work in sessions, for example when a coder task changes files or when you ask the agent to edit the Brain. |

A new goal starts with a default agent, shown as **Auto Lab**, and a few helper agents that Auto Lab uses for
planning and reviews. A session that names no agent runs the default agent.

## What the Agents tab shows

Each card shows the agent's name and description, its model (or **Default model**), how many triggers start it,
and who may use it. A star marks the default agent. Use **Default** at the top of the tab to pick a different one.

Select a card to open the agent's page. Its topics are grouped on the left:

| Group | Topics | What you set |
|---|---|---|
| General | **Overview**, **Basics**, **People**, **Triggers** | The description and **Instructions**, whether the agent is on, who may use it, and what starts it |
| Access | **Skills**, **Connectors**, **Secrets** and Auto Lab actions | What the agent may use: **All**, **Pick** or **None** |
| Runtime | **Model**, **Tools**, **Workspace** | Its default model, which built-in tools it may call, and where its sessions run |

**Instructions** are told to the agent at the start of every session. When you change a field, a bar at the
bottom says you have unsaved changes. **Save** commits the change to the goal's repository. **Start session**
opens a session with this agent.

Editing an agent needs the goal's admin role. **People** lets you grant a person or group the use of this
agent; see [Roles and access](/docs/organization/access).

### Access is denied unless granted

Each agent may use only the connectors, secrets, skills and Auto Lab actions its access rules grant. An agent
with no rule for one of these gets none of it. The rules live in the goal manifest (`kortix.yaml`), and the
**Access** topics edit them for you. The default agent of a new goal is granted everything.

An agent never gets more than the person who started its session. In Chat, the goal's agent uses the default
agent's connector access.

### Add or change an agent with the agent

Select **New**, then **Create in chat**. Auto Lab opens a session where the agent asks what the new agent should
do, writes it and opens a change request. To rewrite an agent's source the same way, open its page, select the
**⋯** menu and choose **Edit source in a chat**. Nothing changes until someone applies the change request; see
[Approvals and autonomy](/docs/goals/approvals).

## Skills

A skill is a written procedure: how to do one kind of task, step by step, with any templates or scripts it needs.
The agent sees a one-line description of every skill and opens the full text only when a task needs it. That keeps
its instructions short while the goal's know-how grows.

In Chat, the goal's agent and its task agents (except the browser) can open the goal's own skills. **Built-in**
skills come with Auto Lab, are read-only and are used in sessions.

### Where skills come from

| Source | How |
|---|---|
| You | Select **New** on **Brain › Skills**. Auto Lab opens a session where the agent writes the skill with you and opens a change request. |
| The agent | Select **Edit with agent** on an existing skill. The agent makes the change in a session and opens a change request. |
| Learning | After a long task, the agent writes down how it did it as a skill named `learned-…`. See [Learning](/docs/brain/learning). |
| Marketplace | Add a ready-made skill. See [Add a skill from the Marketplace](#add-a-skill-from-the-marketplace). |

### Edit a skill

1. Open **Brain › Skills** and select the skill. Its file tree opens beside the text.
2. Select the file to change, usually `SKILL.md`.
3. Select **Edit source**, make the change, then select **Save to project**.

The file is committed to the goal's repository right away. Saving does not run the skill.

The direct editor works on existing text files up to 256 KiB inside the skill's folder. Built-in skills and
executable files stay read-only, and you cannot add, rename or delete files here. For those changes, select
**Edit with agent**: the agent makes the change in a session and opens a change request.

If someone else saved the file first, your draft is kept. See
[When someone saved first](/docs/brain#when-someone-saved-first).

Editing skills needs the goal's admin role. To pin, archive or restore a skill, use the **Skills** section of
**Brain › Learning**; see [Look after its skills](/docs/brain/learning#look-after-its-skills).

## Add a skill from the Marketplace

**Brain › Marketplace** lists skills and other ready-made items from community and vendor registries. Select an item to
read what is inside and what it requires.

1. Use the add button on the item and choose this goal.
2. The dialog lists any secret, connector or tool the item needs. Confirm.
3. Auto Lab starts an import session that adds the item's files and opens a change request.
4. Review and apply the change request. Until then, the item is not installed.

The Marketplace is on by default. It can be turned off for a goal in
[Feature flags](/docs/goals/settings#feature-flags).

## Tools

**Brain › Tools** lists custom tools that are written as code and stored in the goal's repository. An agent can
call them while it works in a session. Open a tool to read it, edit its text with **Edit source**, or select
**Edit with agent**. To add a tool, select **Create with agent**: the agent writes and tests it, then opens a
change request.

The apps the agents use, such as Slack or a CRM, are connectors, not tools. See
[Connectors](/docs/connect/connectors).
