CUGA LogoCUGA AGENT
Guides & Examples

Agent Skills

Add reusable skill packs to CUGA, try the PPTX skill, and choose a sandbox backend

Agent Skills

Agent skills are reusable instruction packs for specialized workflows. Each skill is a folder with a SKILL.md file, frontmatter, and optional helper files or scripts.

CUGA discovers skills at startup, lists short descriptions in the agent prompt, and exposes a load_skill tool so the model only loads the full instructions when the task needs them.

Reusable playbooks

Capture domain workflows once, then use them across tasks.

On-demand context

Keep prompts smaller by loading the full skill body only when it matches the task.

Sandbox-ready assets

Ship scripts and helper files with the skill so sandboxed runs can use them.

Where Skills Live

For project-local skills, use:

.agents/skills/**/SKILL.md

This is the path written by the universal agent target in the skills CLI.

Global installs with -g go under ~/.config/agents/skills/. CUGA also scans legacy paths such as ~/.config/cuga/skills/ and <CUGA folder>/skills/.

Try It

From the CUGA repository root:

cuga start demo_skills

demo_skills turns on skills and shell tooling for that run. By default, CUGA uses sandbox_mode = "native" from src/cuga/settings.toml, which runs through macOS sandbox-exec on macOS and falls back to local on other platforms.

This is the quickest way to verify skill discovery, load_skill, and bundled skill files without editing settings first.

Add the PPTX Skill

The Anthropic skills repository includes a pptx skill for creating, reading, and editing PowerPoint presentations.

Install the skill into the project-local universal agent skills folder:

npx skills add https://github.com/anthropics/skills --skill pptx -a universal

Start the skills demo:

cuga start demo_skills

Ask CUGA to work with a deck, for example:

Create a 5-slide sales overview deck about our product roadmap.

After install, the skill is available at:

.agents/skills/pptx/SKILL.md

Use -g if you want the skill globally available from ~/.config/agents/skills/ instead of only this project.

Sandbox Options

CUGA can run skill helper scripts through different sandbox backends. Choose the one that matches your environment.

Best for local development on macOS. This is the default in src/cuga/settings.toml.

[advanced_features]
sandbox_mode = "native"

Run:

cuga start demo_skills

Use OpenSandbox when you want skills and shell-style tools to execute in a separate sandbox service, including remote or cloud-hosted isolation.

[advanced_features]
sandbox_mode = "opensandbox"

Then run:

uv sync --extra opensandbox
cuga start demo_skills

When OpenSandbox is selected, demo_skills verifies the sandbox is reachable and syncs skill payloads into the sandbox workspace.

Use local mode only in trusted development environments. It runs shell-style tools directly on the host, so keep tool approval enabled for commands such as run_command.

[advanced_features]
sandbox_mode = "local"
enable_shell_tool = true

[policy]
enabled = true

Then run:

cuga start demo_skills

Configuration Reference

For a persistent setup, configure the relevant sections in src/cuga/settings.toml:

[skills]
enabled = true

[advanced_features]
enable_shell_tool = true
sandbox_mode = "native" # "native", "opensandbox", "e2b", or "local"

[policy]
enabled = true
SettingUse
skills.enabledEnables skill discovery, the load_skill tool, skill metadata APIs, and sandbox skill upload.
advanced_features.enable_shell_toolEnables shell-style tools such as run_command and write_file.
advanced_features.sandbox_modeSelects where shell-style skill helpers run.
policy.enabledEnables the policy system, including tool approvals.

Use local only for trusted development environments. It runs directly on the host and should be paired with tool approval.

What Success Looks Like

When the demo is running, CUGA should discover installed skills, expose load_skill, and use the pptx skill automatically for PowerPoint tasks. If you choose OpenSandbox, bundled scripts and helper files are copied into the sandbox workspace before execution.