Skills
Skills are reusable prompt modules. By loading SKILL.md, you can inject domain-specific instructions into a session.
Overview
- Reuse domain knowledge as skills.
- Share consistent behavior across projects.
- Enable or disable skills per session.
In Laravel, use SessionConfig skillDirectories and disabledSkills.
Basic usage
skillDirectories are explicit roots for discovering skills.
They can be used independently of the enableConfigDiscovery setting.
If you set a parent directory, each SKILL.md in its subdirectories is discovered.
This is for discovery only and does not grant the agent general file access permissions.
You can also pass the config as an array.
Disable specific skills
Use disabledSkills to disable selected skills after discovery.
Directory structure
Point skillDirectories to the parent folder, such as skills/.
Relative paths are resolved once, against the effective workingDirectory at the time they are specified.
- Omitted or
null: other discovery sources are left unchanged
[]: clears only the explicit SDK roots
disabledSkills, per-source disabling, and Managed Settings also apply to skills discovered from explicit roots.
SKILL.md is Markdown. You can optionally include YAML frontmatter.
Main frontmatter fields:
name: Skill identifier (used by disabledSkills)
description: Short skill description
If you omit name, the directory name is used.
Combine with custom agents
If you set customAgents[].skills, those skill contents are preloaded when that agent starts.
If you omit skills, no skill content is injected into that agent.
Inspect and manage via RPC
You can discover, enable, and disable skills through RPC.
Best practices
- Split skills by domain (
skills/security, skills/testing, etc.).
- Add both
name and description in frontmatter.
- Explicitly exclude conflicting instructions with
disabledSkills.
- Verify each skill alone before combining multiple skills.
Last modified on October 19, 2026