Skip to main content

Capabilities

Create Capability

A Capability is a versioned, reusable unit of agent behaviour with defined inputs and outputs. Agents invoke capabilities during task execution to perform specific, well-scoped operations — without re-implementing the same logic in every agent.

Open via: Agents dropdown → Capabilities

Capability types

Capabilities have a type field that classifies their purpose:

TypeDescription
skillA user-invocable behaviour, often available via slash command
powerA more complex automation, typically used internally by agents
talentA specialised capability for a specific domain or task

Custom types can be registered and handled by a matching executor.

Where capabilities live

Codebolt discovers capabilities from three locations, in priority order:

SourcePathScope
Project.codebolt/capabilities/{name}/This project only
Global~/.codebolt/capabilities/{name}/All projects on this machine
Built-inShipped with CodeboltAlways available

Capability configuration

Each capability directory contains a capability.yaml:

name: summarise-changes
type: skill
version: 1.0.0
description: Summarises the changes in a git diff
author: yourname
tags: [git, summarisation]
inputs:
- name: diff
type: string
required: true
description: The git diff to summarise
outputs:
- name: summary
type: string
description: Human-readable summary of the changes

The Capabilities panel

The panel has three tabs:

Capabilities tab

Lists all discovered capabilities with their name, type, version, and source. Use the type filter and search bar to narrow the list. Click Refresh to re-scan the filesystem after adding a new capability.

Skills tab

Shows capabilities of type skill from the marketplace. Browse, search by name or author, and download skills directly into your global capabilities directory.

Executors tab

Shows the executor runtimes available for running capabilities. See Executors for details.

How agents invoke capabilities

Agents call capabilities through the Capability Manager. The call includes:

  • The capability name and version
  • Input values
  • The current thread ID (so the capability has conversation context)

The Capability Manager routes the call to the appropriate executor, waits for the result, and returns it to the agent. Execution is tracked with the agent's run ID for observability.