03

Skills & Install

Reusable behavior modules that agents load on demand, and the install system that wires everything together.

Skills

A skill is a folder containing a SKILL.md file with structured instructions that an agent can load at runtime. Skills live in ~/.aws/cli-agent-orchestrator/skills/ and are managed via the CLI: cao skills add, cao skills remove, cao skills list.

When an agent needs a skill, it calls the load_skill(name) MCP tool. For Kiro CLI, skills are delivered natively via skill:// resources in the agent JSON. Kiro CLI and OpenCode CLI discover skills natively; other providers load them on demand through the MCP server.

✎

What's in a Skill

A folder with a SKILL.md file containing step-by-step instructions, constraints, and examples. The agent receives this content verbatim when it loads the skill.

◈

How Agents Discover Them

Agents call load_skill(name) at runtime. The MCP server resolves the name to the skill folder, reads SKILL.md, and returns its content directly into the agent's context.

▶

Built-in Skills

CAO ships 11 built-in skills, including supervisor and worker protocols, memory usage, workflow authoring, session management, and agent routing. These cover the most common multi-agent patterns out of the box.

+
cao skills add ./my-custom-skill

Copies the skill folder into the skills directory, making it available to all agents immediately.

−
cao skills remove my-custom-skill

Removes the skill from the skills directory. Running agents that already loaded it are unaffected.

≡
cao skills list

Shows all installed skills with their names and descriptions.

Installing Agents

The cao install command takes a profile name, local path, or URL and sets it up for your provider automatically. No manual JSON editing or config wrangling required.

1
Install the profile

cao install code_supervisor — Resolves a built-in profile and writes a context file to agent-context/. Also accepts local paths (./my-agent.md) or URLs from an allowlisted host such as raw.githubusercontent.com.

2
Provider-specific setup happens automatically

For Kiro CLI, CAO writes the agent JSON with skill:// resources. For Claude Code and Codex, it writes a context file (no provider-specific config needed). You never touch provider configs directly.

3
Set secrets with cao env

cao env set ANTHROPIC_API_KEY sk-... — Stores the variable in ~/.aws/cli-agent-orchestrator/.env. Profiles reference them with ${VAR} syntax.

4
Verify the installation

cao profile list — Confirms the profile is registered and lists the name, source, and description. Use cao profile show <name> for the provider, role, and tool access.

terminal
# Install from built-in registry
cao install code_supervisor

# Install from a local file
cao install ./my-agent.md

# Install from URL with env var
cao install https://raw.githubusercontent.com/org/repo/main/agent.md \
  --env TEAM=platform

# Manage environment variables
cao env set ANTHROPIC_API_KEY sk-...
cao env list
cao env unset ANTHROPIC_API_KEY
What each command does
Downloads and registers the built-in code_supervisor profile
Installs a custom profile from a local markdown file
Fetches a remote profile and embeds the TEAM env var into it
Stores, lists, and removes environment variables used by profiles
⚡
Skills Compose with Profiles

A profile says WHAT the agent is — its role, provider, and system prompt. Skills say HOW it should behave in specific situations. A single profile can reference multiple skills, and the same skill can be shared across many profiles. This separation keeps agent definitions clean and behavior reusable.