Skip to main content
Skills are self-contained units of functionality that you can teach to Devin CLI. They bundle prompts, tool access, permissions, and workflows into a reusable package that can be invoked by either the agent or the human operator.

What Are Skills?

Think of skills as expert knowledge you give the agent. A skill might teach it how to:
  • Review code according to your team’s standards
  • Generate a specific type of component
  • Run a deployment workflow
  • Perform a security audit
  • Set up a new service from a template

Slash command invocation

Users can invoke skills with /skill-name in the chat.

Agent autonomy

The agent can invoke skills on its own when relevant.

Scoped permissions

Skills can have their own permission grants and restrictions.

Auto-approved tools

Pre-approve the tools a skill needs so it runs without permission prompts.

Subagent execution

Run skills as independent subagents with their own context window.

Model override

Use a different model for specific skills.

Quick Example

Create a code review skill at .devin/skills/review/SKILL.md (or .windsurf/skills/review/SKILL.md):
Now you can invoke it with /review in any session.

How Skills Work

When a skill is invoked:
  1. The skill’s prompt is injected into the conversation
  2. Tools listed in the skill’s allowed-tools (if specified) are auto-approved, so they run without a permission prompt. Unlisted tools stay available and go through the normal permission checks
  3. The skill’s permissions (allow, deny, ask) are applied. Use permissions.deny to block a tool while the skill runs
  4. The specified model is used (if different from the current one)
allowed-tools and permissions apply to skills that run inline. A skill that runs as a subagent (subagent: true or agent:) gets its tool access from the subagent profile instead.

Skill Triggers

Skills can be invoked in two ways:
Set triggers: [user] to prevent the agent from invoking a skill on its own.

Third-party Skills

We support the .agents skills standards, so third-party skill installation tools work with Devin CLI.
Third-party skills can execute arbitrary code, so install them at your own risk.

Where Skills Live

Skills can be scoped to a single project or shared across all projects: Project skills live in the .devin/skills/ or .windsurf/skills/ directory at your project root and are committed to version control, making them shareable with your team. Both locations use the same SKILL.md format. Global skills live in ~/.config/devin/skills/ (following XDG conventions) or ~/.codeium/<channel>/skills/ (where <channel> is windsurf, windsurf-next, or windsurf-insiders depending on your CLI channel) and are available in every project on your machine.
Windows: The global skills path follows your system’s application data directory. On Windows, use %APPDATA%\devin\skills\<name>\SKILL.md (typically C:\Users\<YourUser>\AppData\Roaming\devin\skills\<name>\SKILL.md) instead of ~/.config/devin/skills/.

Next Steps

Creating Skills

Learn the full skill format including frontmatter options, dynamic content, and examples.

Plugins

Bundle skills into a plugin you can install and share across projects.