Skills
Skills are based on the Agent Skills open standard, originally developed by Anthropic. AgentUse implements this standard to enable portable, reusable instruction modules across different AI agent platforms.What Are Skills?
Skills are reusable instruction modules that agents can load on-demand. Think of them as specialized knowledge packages - each skill contains detailed guidance for a specific type of task. Unlike sub-agents that execute independently, skills provide instructions that the agent follows directly. This makes skills ideal for:- Specialized workflows: Code review checklists, deployment procedures, data analysis patterns
- Domain expertise: Writing guidelines, compliance requirements, best practices
- Reusable templates: Project scaffolding, documentation formats, testing strategies
- Cross-agent knowledge: Share instructions across multiple agents without duplication
Quick Start
- Create a skill directory:
- Add a
SKILL.mdfile with YAML frontmatter and markdown content:
- The skill is automatically available to your agents!
Skill Locations
Skills are discovered from these directories (in priority order):If duplicate skill names exist, the first discovered skill takes precedence.
For AI Coding Assistants
Install the assistant-facing AgentUse skill so Claude Code, Codex, Cursor, and other assistants can drive AgentUse workflows:agentuse skills get core, keeping instructions aligned with the installed CLI version.
Skill Structure
Each skill lives in its own directory with aSKILL.md file:
SKILL.md Format
Skills use markdown with YAML frontmatter:Frontmatter Fields
Name Requirements
Skill names must:- Be 1-64 characters long
- Use only lowercase letters, numbers, and hyphens
- Not start or end with a hyphen
- Not contain consecutive hyphens (
--) - Match the parent directory name
code-review, seo-analyzer, db-migration
Invalid names: Code-Review, my_skill, -invalid, too--many
Allowed Tools
Theallowed-tools field documents which tools your skill needs. It’s a space-separated list of tool names for documentation purposes.
Skills use whatever tools the agent has configured. The
allowed-tools field documents dependencies and provides validation warnings for builtin tools.Validation
Only builtin tools are validated against the agent’s configuration:Read,Write,Edit- checked againsttools.filesystemBash,Bash(command:*)- checked againsttools.bash.commands
Bash Tool Configuration
Other tool names (like MCP tools) are accepted but not validated - they serve as documentation only.
If validation fails:
- A warning is logged to the console
- The LLM sees a warning message
- The skill still loads (graceful degradation)
Agent Tool Configuration
Skills run with the agent’s tools. For a skill to use the tools it documents, the agent must have them configured. Agents useskills: auto by default, even when the field is omitted. This makes installed skills discoverable and lets the model load relevant skills on demand. By default a skill is discovered but granted nothing: to run a command a skill documents, it must be in tools.bash.commands, or you must trust the skill.
Trusting a skill grants it the bash commands it declares in its SKILL.md allowed-tools, so you do not have to re-list them. Trust per skill:
- To require approval for a subset of what a skill grants, list that pattern in
tools.bash.gated. For example, a skill declaresBash(birdc:*), so trusting it grantsbirdc *. If you wantbirdc reply *behind approval, add it totools.bash.gated. Gated-wins precedence gatesbirdc replywhilebirdc readstill auto-runs.
agentuse doctor flags granted commands that look irreversible, so you know what to consider gating.
Preloading skills
List a skill to preload it: its instructions are injected before the task starts, so the agent does not have to infer the trigger from the user instruction. Use this when a skill is core to the agent’s job.This reverses pre-
0.16.0 behavior, where skills: [x] was an allowlist that silently hid every other skill. Restricting is now an explicit, deliberate act (see below).auto: false:
auto: false) rather than a silent side effect of listing.
Per-skill map values may be empty or trusted (including the object form
{ trusted: true }). The pre-0.16 allow key has been removed. Grant
individual commands through tools.bash.commands instead.
Skill config forms
To inspect a skill’s grants:
allowed-tools, pipes, and command substitutions. AgentUse does not treat the output as a permission manifest.
Add --last-run when the agent has already failed or behaved unexpectedly. Doctor will inspect the latest recorded session for that agent and report actual blocked bash commands from runtime, which is more accurate than static skill-doc extraction.
Example
Skill (code-review/SKILL.md):
reviewer.agentuse):
Read, Bash(git:*), and mcp__github. The agent provides all three through its tools and mcpServers configuration.
How Agents Use Skills
Skills are exposed to agents via a specialskill tool. The agent sees available skills listed in XML format and can load them on demand.
When the agent loads a skill, it receives:
- The skill name and base directory
- Any tool warnings (if required tools are missing)
- The full markdown content with instructions
Skill File Reader
After loading a skill, agents can read additional files from the skill directory using theskill_read tool. This is useful for accessing:
- Helper scripts bundled with the skill
- Data files or templates
- Configuration examples
The skill must be loaded first before reading files from its directory.
Skill Directory Variables
When a skill is loaded, AgentUse substitutes these placeholders in the skill’s content with the skill’s absolute directory path. Use them so bundled scripts and assets resolve regardless of where the skill is installed:$SKILL_DIR (no braces) is left untouched so runtime shell expansion still works inside scripts.