Skills
Create reusable prompt modules with SKILL.md files that inject domain-specific instructions into agent conversations.
Skills
Skills are reusable prompt modules. Each skill is a SKILL.md file containing domain-specific instructions, workflows, and references. When the LLM recognizes a task matches a skill, it loads the skill's content into the conversation — giving the agent specialized knowledge for that task without modifying the system prompt.
Skills are not executable tools. They don't run code, have no security checks, and produce no visualization. They're pure instruction content.
Creating a Skill
Create a folder in .agents/skills/ inside your workspace, then add a SKILL.md file:
your-workspace/
└── .agents/
└── skills/
└── code-review/
└── SKILL.md
The folder name doesn't matter — the skill's identity comes from the name field in the frontmatter.
SKILL.md Format
YAML frontmatter + markdown body:
---
name: code-review
description: Review code for bugs, style issues, and best practices
user-invocable: true
---
# Code Review
When reviewing code, focus on:
- Bug detection
- Performance issues
- Security vulnerabilities
- Code style consistency
## Process
1. Read the files to review
2. Analyze each file systematically
3. Provide specific, actionable feedback
Frontmatter fields:
| Field | Required | Description |
|---|---|---|
| name | Yes | Unique skill identifier |
| description | Yes | Shown in the tool description so the LLM knows when to use the skill |
| user-invocable | No | Whether users can trigger this skill directly (default: true) |
The markdown body is the instruction content that gets injected into the conversation when the skill is loaded.
How Skills Work
When a session starts in a workspace:
- Jean2 scans
.agents/skills/for subdirectories containingSKILL.mdfiles - Available skills are listed in the
skilltool's description — the LLM sees them as options - When the LLM recognizes a task matches a skill, it calls
skill({ name: "code-review" }) - The server returns the skill content wrapped in a
<skill_content name="...">block - The content is injected into the conversation, giving the agent specialized instructions
Bundled Resources
Skills can include additional files in their folder (scripts, templates, references). When a skill is loaded, the server includes its base directory as a file URL — so relative paths in the skill content can reference these resources:
.agents/skills/
└── code-review/
├── SKILL.md
├── checklist.md
└── templates/
└── feedback.md
The skill content can reference these files, and the LLM can use read-file to access them via the base directory path.
Preconfig Filtering
Preconfigs can control which skills are available through the skills field in the preconfig definition:
| Value | Behavior |
|---|---|
Omitted or null |
All skills available (default) |
[] |
No skills available |
["code-review", "testing"] |
Only these named skills available |
This lets you create specialized agents that only have access to relevant skills — for example, a deployment agent that can only load infrastructure-related skills.
Workspace Scope
Skills are per-workspace. Each workspace has its own .agents/skills/ directory. An agent working in one workspace cannot see or use skills from another workspace.