Skip to main content
Skills are self-contained units of functionality that you can teach to Devin for Terminal. They bundle prompts, tool access, permissions, and workflows into a reusable package that can be invoked by name.

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.

Custom tool access

Restrict which tools a skill can use for safety.

Quick Example

Create a code review skill at .cognition/skills/review/SKILL.md:
---
name: review
description: Review code changes before committing
allowed-tools:
  - read
  - grep
  - glob
  - exec
---

Review the current git diff and provide feedback:

1. Run `git diff --staged` (or `git diff` if nothing is staged)
2. Check for:
   - Logic errors or bugs
   - Missing error handling
   - Security issues
   - Style inconsistencies
3. Summarize findings and suggest improvements
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. Tool access is restricted to the skill’s allowed-tools (if specified)
  3. Additional permissions from the skill’s config are applied
  4. The specified model is used (if different from the current one)
After the skill completes, the session returns to normal configuration.

Skill Triggers

Skills can be invoked in two ways:
TriggerDescriptionDefault
userUser can invoke with /skill-nameEnabled
modelAgent can invoke autonomously when relevantEnabled
---
name: security-check
triggers:
  - user
  - model
---
Set triggers: [user] to prevent the agent from invoking a skill on its own.

Where Skills Live

Skills can be scoped to a single project or shared across all projects:
LocationScopeCommitted to git?
.cognition/skills/<name>/SKILL.mdProject-specificYes
~/.config/cognition/skills/<name>/SKILL.mdGlobal (all projects)No
Project skills live in the .cognition/skills/ directory at your project root and are committed to version control, making them shareable with your team. Global skills live in ~/.config/cognition/skills/ (following XDG conventions) and are available in every project on your machine.

Next Steps

Creating Skills

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