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:
/review in any session.
How Skills Work
When a skill is invoked:- The skill’s prompt is injected into the conversation
- Tool access is restricted to the skill’s
allowed-tools(if specified) - Additional permissions from the skill’s config are applied
- The specified model is used (if different from the current one)
Skill Triggers
Skills can be invoked in two ways:| Trigger | Description | Default |
|---|---|---|
user | User can invoke with /skill-name | Enabled |
model | Agent can invoke autonomously when relevant | Enabled |
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:| Location | Scope | Committed to git? |
|---|---|---|
.cognition/skills/<name>/SKILL.md | Project-specific | Yes |
~/.config/cognition/skills/<name>/SKILL.md | Global (all projects) | No |
.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.

