Skills, Tools & Plugins
Teach your agents new tricks. Write a skill in Markdown, add a tool in JavaScript, or install a whole package from GitHub with one command.
Four kinds of extensions
| Type | Format | What it adds |
|---|---|---|
| Skill | .md | Instructions the agent follows for a kind of task, loaded when relevant |
| Tool | .js | A new action the agent can call |
| Plugin | .js | A new slash command for you |
| CLI | executable | A program the agent can run by name |
Where to put them
Each type loads from three tiers. When names clash, workspace beats global, which beats built-in.
| Tier | Location |
|---|---|
| Workspace | .agentos/skills/ · tools/ · plugins/ · clis/ |
| Global (every workspace) | ~/.agentos/skills/ · tools/ · plugins/ · clis/ |
| Built-in | Shipped with AgentOS |
After editing, run /skills reload, /tools reload or /plugins reload. You don't need to restart.
Writing a skill
# Skill: release_notes
## Description
Write customer-facing release notes from recent commits.
## Trigger
When asked for release notes or a changelog.
## Instructions
1. Run git_log for commits since the last tag.
2. Group changes into Added / Changed / Fixed.
3. Write in plain language for non-technical readers.
## Output Format
Markdown, saved to RELEASE_NOTES.md.
Writing a tool
export const description = {
name: 'my_tool',
description: 'What this tool does',
parameters: {
type: 'object',
properties: { input: { type: 'string', description: 'The input value' } },
required: ['input'],
},
};
export async function execute({ input }) {
return `Result: ${input}`;
}
Writing a plugin (slash command)
export const description = {
command: 'standup',
usage: '/standup',
description: 'Summarize yesterday\'s work for standup',
};
export async function execute(args, { emit, runIteration }) {
emit('info', 'Preparing standup…');
await runIteration('Summarize what changed in this workspace yesterday as standup notes.');
}
Plugins receive workspaceDir, agentosDir, emit, sendMessage and runIteration in their context.
Installing from GitHub: /install
Point AgentOS at a repository and it works out what to install. That can be skills (SKILL.md), Claude Code plugins,
MCP servers, CLIs or AgentOS tools and plugins. It shows you a plan first, and nothing is installed until you confirm.
/install anthropics/skills --only pdf,docx
/install confirm
| Command | What it does |
|---|---|
/install <source> | Analyze a GitHub URL, owner/repo[#ref], git URL or local folder and show the plan |
/install confirm · cancel | Install or discard the pending plan |
/install list | Installed packages and what each one added |
/install remove <package> | Uninstall a package and everything it added |
/install config <package> KEY=value | Set API keys or arguments for a package's MCP server |
Options: --yes, --dry-run, --only / --skip, --env KEY=value,
--global (install for every workspace) and --force. If a repo has no recognizable layout, the agent reads
its README, proposes install steps and asks before running them.