Skills
Skills are Markdown files that provide sharur with specialized, reusable instructions for specific tasks. When a skill is invoked, its content is sent as a user message to the agent along with any arguments you provide.
How Skills Work
When sharur starts, it scans the skill directories and adds a list of available skills to the system prompt. The agent knows which skills exist and their descriptions. You can explicitly invoke a skill with /skill:<name> from the TUI, or the agent may choose to invoke one automatically via the read tool or a specialized skill tool call.
When you invoke a skill via /skill:<name>, it is executed as a skill tool, which loads the content and sends it to the agent:
Skill Discovery Directories
sharur searches for skills in these locations (in order):
| Path | Scope |
|---|---|
~/.sharur/skills/ | Global — available in all projects |
.sharur/skills/ (project root) | Project-specific skills |
Skills with the same name in a project directory override global ones.
Skill File Formats
Simple: Single .md file
Create a .md file directly in a skills directory. The filename (without extension) becomes the skill name.
Invoke with:
Structured: Directory with SKILL.md
Create a directory containing a SKILL.md file. The directory name becomes the skill name. This format lets you include supporting files (examples, templates) alongside the skill.
Invoke with:
Note: When a
SKILL.mdis found in a directory, subdirectories are not scanned further. This lets you bundle reference files with your skill.
Frontmatter (Optional)
Both formats support optional YAML frontmatter to provide metadata:
Frontmatter fields:
| Field | Description |
|---|---|
name | Override the skill name (defaults to filename/directory name) |
description | A short description shown to the agent in the system prompt |
Practical Examples
Code Review Skill
.sharur/skills/code-review.md
Invoke:
Or attach a file reference:
Structured Skill with Supporting Files
Global Utility Skill
~/.sharur/skills/explain.md
Tips
- Keep skills focused. One skill = one task type. Compose them with arguments rather than making a single skill do everything.
- Use relative file references — when your skill body references files, note they resolve relative to the skill’s directory. The agent is told the skill’s location so it can use the
readtool on supporting files. - Test your skill by invoking it with
/skill:<name>in the TUI. The skill’s content and its effect on the conversation will be visible in the tool output cards. - Override skills per-project — place a skill with the same name in
.sharur/skills/to override the global version for a specific project.