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

# Skills

> Give the agent reusable playbooks, and call them from a task with a slash.

A skill is a folder with a `SKILL.md` file: instructions the agent can load when a task needs them. Bellows ships built-in skills, and your repository can add its own.

## Call a skill from a task

In the **New task** composer, type `/` at the start of the prompt or after a space. A **Skills** menu opens. Keep typing to filter by name, use the arrow keys, and press Enter to insert the name. Press Escape to close the menu.

```text Prompt theme={null}
/factory-fix PROJ-123: the notes list returns 500 when a note has no title
```

A `/name` in the prompt tells the agent to load that skill and follow it. Skills from your repository are tagged `repo` in the menu. A path such as `a/b` or a URL isn't treated as a skill.

A task can select up to 16 skills.

## Built-in skills

All built-in names start with `factory-`.

| Skill | What it does |
| - | - |
| `factory-fix` | A playbook for fixing a backend bug end to end under TDD: reproduce with a failing test, fix, publish the PR. |
| `factory-gates` | Runs the repository's gates from `.bellows.yaml` and reads their output. See [Gates](https://docs.bellows.cloud/guides/gates.md). |
| `factory-github` | Works with GitHub through `gh`: PR reviews, line comments, CI status, issues, replies. |
| `factory-jira` | Reads, searches and comments on Jira work items using the task's Jira connection. |
| `factory-pr-land` | Takes a pushed PR to landable: waits for CI, fixes red checks, answers review feedback. |
| `factory-review` | Asks an independent reviewer to review the work in a separate run. |
| `factory-task-title` | Sets a short title for the task in the task list. |

Some skills need a tool or a connection. `factory-github` and `factory-pr-land` need a GitHub connection. `factory-jira` needs a Jira connection. Add them under **Settings → Integrations**.

A task doesn't offer the agent a skill whose connection it doesn't hold, unless you selected that skill in the prompt. Bellows decides this once, when the task or its follow-up is created, so a connection you add later shows up from the next follow-up. `GET /api/jobs/:id` lists the hidden skills and why under `hiddenSkills`.

An organization admin can switch a built-in skill off with `PUT /api/org/skills/builtin/<name>/enabled` and the body `{"enabled": false}`. A switched-off skill leaves the menu and is hidden from new tasks in that organization.

## Add a skill to your repository

Commit a folder under `.claude/skills/` with a `SKILL.md`:

```text Repository layout theme={null}
.claude/skills/
  release-notes/
    SKILL.md
```

```markdown .claude/skills/release-notes/SKILL.md theme={null}
---
name: release-notes
description: Draft release notes from merged PRs. Use when asked to prepare a release.
---

# Release notes

1. List the PRs merged since the last tag.
2. Group them by area and write one line each.
```

| Field | Rule |
| - | - |
| `name` | Lowercase letters, digits and single hyphens, up to 64 characters. It can't start with `factory-`. |
| `description` | One line. Say what the skill does and when to use it. The agent and the menu both show it. |

Bellows reads up to 50 skill folders from the repository at the task's branch. A folder whose `SKILL.md` can't be read or parsed is skipped.

> [!NOTE]
>
> A repository skill can't take a `factory-` name, so it never replaces a built-in.

## Organization and workspace skills

Bellows also supports skills shared across your organization and skills owned by one member. Both live under **Settings → Skills**, in the My workspace and Organization sections: list them, switch one on or off, view its `SKILL.md` and files, download it as a zip, delete it, or (for an admin) promote a workspace skill to the organization. Members see the organization's skills read-only. Both are also created through the API, as a `SKILL.md` or a zip of up to 64 files and 5 MiB. When names clash, the more personal skill wins: your workspace skill, then the repository's, then the organization's, then a built-in. A stored skill can declare what it needs under `metadata:` with `requires-connections`, and is hidden from tasks without that connection like the built-ins above.

A zip upload takes the skill's name from its `SKILL.md`. Editing only the `SKILL.md` of a stored skill keeps its other files; send the `baseVersionId` you edited, and if someone saved a newer version first the edit is refused with `409 SKILL_VERSION_STALE` so you can reload. `GET /api/org/skills/<id>/zip` and `GET /api/workspace/skills/<id>/zip` download a skill as a zip, and `GET /api/skills/builtin/<name>` shows a built-in skill's files and the Bellows release it ships with.

> [!NOTE]
>
> On a running task, a workspace skill that the repository also holds isn't guaranteed to win. Give them different names.

## From the CLI

`bellows skill list` shows the skills available to you.


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