Extensibility

Custom skills and agents

Create reusable slash-command skills and specialized subagent definitions, scoped to individual users or specific projects.

Updated 2026-03-20

Skills: reusable prompt templates

A skill is a markdown file that Claude loads when you invoke it with / in the chat input. Skills encapsulate workflows, coding conventions, or domain knowledge into a reusable command.

  • User skills — ~/.claude/skills/{name}/SKILL.md — available in all projects.
  • Project skills — {project}/.claude/skills/{name}/SKILL.md — available only in that project.

Create a skill

Go to Skills in the sidebar and click New Skill. Each skill has:

  • Name — Becomes the slash command (e.g., "deploy" is invoked as /deploy).
  • Description — Shown in the command palette when browsing available skills.
  • Content — Markdown instructions that Claude follows when the skill is invoked. Can include step-by-step procedures, code templates, or architectural rules.
  • Scope — User-level (global) or project-level (local).

Agents: specialized Claude instances

An agent is a Claude instance with its own system prompt, model, tool restrictions, and permission mode. Agents are defined as markdown files with YAML front matter.

  • name — Display name.
  • description — What the agent does.
  • model — Override: opus, sonnet, or haiku.
  • tools — Comma-separated whitelist of allowed tools.
  • disallowedTools — Comma-separated blacklist.
  • permissionMode — plan (review first), ask (read-only), or code (full access).
  • maxTurns — Maximum conversation turns.
  • skills — Comma-separated skills to pre-load.

Scoping

Agents follow the same scoping model as skills. User agents are in ~/.claude/agents/ and project agents are in {project}/.claude/agents/. The Agents page shows both levels with scope tabs.