Skip to main content

Skills

A skill is a reusable, self-contained AI task definition — a system prompt plus the context, schemas and templates it needs to do one job well. Skills follow the open SKILL.md standard, so they're portable across tools, and they run with your project's memory loaded in.

Anatomy of a skill

Each skill is a directory:

my-skill/
├── SKILL.md # system prompt + agentdesk config (provider, model, output schema, extraction)
├── references/ # context docs the skill should read (Markdown, JSON, text)
├── schemas/ # JSON schemas to validate structured output
├── templates/ # output scaffolds
└── scripts/ # optional helper scripts

The SKILL.md front matter configures which provider/model to use, whether to validate output against a schema, what to pre-fetch from memory, and whether to auto-extract results back into memory on approval.

Bundled skills

AgentDesk ships with starter skills you can use or copy:

  • developer — a senior engineer that executes coding tasks end-to-end with full project context. Works through the Claude API, no CLI required.
  • aws-architect — AWS infrastructure design.
  • trading — live market data and trade execution.

How a skill runs

  1. Start — you trigger the skill; it returns a session id immediately and runs in the background.
  2. Context — it loads relevant Event facts, any pre-fetch entries, and the skill's reference files.
  3. ReAct loop — the model thinks and acts: read/write files, run git and bash, search memory, call MCP tools. Output is validated against the skill's schema.
  4. Approval gate — the skill pauses at waiting_approval. You approve, refine or restart.
  5. Merge & extract — on approval, changes are merged and committed (worktree branch or in-place, with a configurable merge strategy). If enabled, results are extracted back into memory — so the next skill run is smarter.

Sync to your CLIs

A skill is exported to each AI CLI's native format, so the same task is available everywhere:

ToolWhere it lands
Claude Code.claude/commands/{name}.md
Codex CLI.codex/agents/{name}.md
Gemini CLI.gemini/agents/{name}.md

Sync happens on project creation and whenever you edit a skill — so authoring a skill once makes it usable from the web UI, the MCP server and all three CLIs.

Next: MCP server →