Claude Code

Runs on your computers with your Claude subscription or an Anthropic API key. Claude Code reads the bot’s CLAUDE.md.

Steps

  1. Turn it on. In Settings → AI providers, enable it. Your computers install it within a couple of minutes.
  2. Sign in on each computer that runs these bots, using Sign in in Settings → Computers. For a Docker computer, you can also run this in a terminal from that computer’s install directory (/opt/tico-runner-<name> for a named install; /opt/tico-runner for an unnamed install):
    docker compose -f runner.compose.yaml exec -u bot runner claude setup-token
  3. Create the bot. Open Settings → Bots → Add from template, or ask BotOps, and brief it like a new teammate. BotOps builds its repo.
  4. Pick the model in Settings → Bots: a Claude model, such as Opus 5 or Fable 5.1.
  5. Activate it and give it the first piece of its goal.

Tico skills in your own Claude Code

Working on bots yourself? Add Tico’s skills to your own Claude Code:

claude plugin marketplace add ticoteam/tico
claude plugin install tico@tico

The bot’s repo

Every hosted bot is a Git repo named bot-<name>. Add from template or BotOps makes it for you; you can also start from example-support.

bot-support/
├── AGENT.md          instructions (required)
├── AGENTS.md         → AGENT.md, for Codex
├── CLAUDE.md         → AGENT.md, for Claude Code
├── bot.yaml          name, routines, tools
├── state.md          what it’s working on now
├── memory/           learnings.md, decisions.md
├── knowledge/        docs it works from
├── playbooks/        how it does recurring jobs
├── software/         tools it builds for itself
└── skills/
Example: AGENT.md
# Support

## Owns
Replies to Acme customer support questions, from first message to resolution.

## Goal
Accurate, friendly replies that follow our guidelines, sent within 5 minutes.

## How I work
- Answer from our documentation in knowledge/.
- When I’m unsure, open a task for Dana instead of guessing.
- Save great replies to my catalog in software/ and turn repeats into macros.

## Never
- Promise refunds or discounts. Ask Dana.
Example: bot.yaml
name: support
display_name: "Support"
labels: [owner:support]
reasoning_effort: medium
max_run_minutes: 60
outbound_send: false
routines: []
tools: []

Leave runtime and model out of bot.yaml. Choose them in Settings → Bots instead.