Skip to content
OpenComputer
Agent API

Skills

Package reusable instructions and supporting resources with an agent

A skill is a reusable instruction bundle that teaches an agent how to perform a task. A tool executes code; a skill provides a procedure, checklist, or domain playbook the agent can load when relevant.

Create a skill

Add a directory containing SKILL.md under the agent:

opencomputer/agents/campaign-writer/
├── agent.ts
└── skills/
    └── campaign-brief/
        ├── SKILL.md
        └── CHECKLIST.md

Write a clear name and routing description in the frontmatter, then put the full procedure in the body:

---
name: campaign-brief
description: Create a sourced campaign brief. Use when planning a new campaign or revising its audience and messaging.
---

# Campaign brief

1. Restate the product, audience, goal, and constraints.
2. Research the audience before proposing messaging.
3. Separate sourced facts from recommendations.
4. Produce a positioning statement, three message pillars, and five concepts.
5. Read `CHECKLIST.md` before returning the final brief.

The description should say both what the skill does and when it applies. The agent uses it to decide whether to load the instructions.

Use the skill

Skills do not need a hook. OpenComputer packages the entire skills/ directory with that agent, which can load a matching skill during the session.

Tell the agent when the skill should guide its work:

export default function Agent() {
  return [
    "Plan and improve marketing campaigns.",
    "For a new campaign brief, use the campaign-brief skill and follow its checklist.",
  ].join(" ");
}

Add supporting files

Keep the core procedure in SKILL.md. Put longer material beside it:

campaign-brief/
├── SKILL.md
├── CHECKLIST.md
├── VOICE.md
└── examples/
    └── launch-brief.md

Reference those files from SKILL.md so the agent knows when to read them. Supporting files are deployed with the skill and need no imports from agent.ts. Loading a skill lists them, and the agent reads one on request — so a long checklist or a set of examples costs nothing until it is needed.

An agent can only read files packaged with the skill it loaded. There is no path out of that directory, and no way to reach anything else on the machine.

Scope skills to an agent

Skills live under opencomputer/agents/<agent-id>/skills/, so each deployment receives only its own skill set. To reuse a skill, copy or generate the skill directory into each agent that needs it.

Skills versus tools

SkillTool
Markdown instructions and resourcesExecutable TypeScript
Teaches a repeatable workflowPerforms a specific operation
Loaded when its description matchesCalled with JSON Schema arguments
May tell the agent which tools to useProduces a JSON-compatible result

Many useful workflows combine both: a research skill explains the process while the GTM engineer example uses an Exa search tool to retrieve current sources.