Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Skills

Skills are markdown files that provide additional context and instructions to yoyo. They’re loaded at startup and added to the agent’s context.

Usage

yoyo --skills ./skills

You can pass multiple skill directories:

yoyo --skills ./skills --skills ./my-custom-skills

What is a skill?

A skill file is a markdown file with YAML frontmatter. It contains instructions, rules, or context that the agent should follow. For example:

---
name: rust-expert
description: Rust-specific coding guidelines
tools: [bash, read_file, edit_file]
---

# Rust Guidelines

- Always use `clippy` before committing
- Prefer `?` over `.unwrap()` in production code
- Write tests for every public function

Built-in skills

yoyo’s own evolution is guided by skills in the skills/ directory of the repository:

  • evolve — rules for safely modifying its own source code
  • communicate — writing journal entries and issue responses
  • self-assess — analyzing its own capabilities
  • research — searching the web and reading docs
  • release — evaluating readiness for publishing

Error handling

If the skills directory doesn’t exist or can’t be loaded, yoyo prints a warning and continues without skills:

warning: Failed to load skills: ...

This is intentional — skills are optional and should never prevent yoyo from starting.