Skills

Reusable multi-step subroutines for complex workflows.

What Are Skills

Skills are reusable subroutines. When activated, they add step-by-step instructions and optionally restrict the available tools. Unlike personas (which are behavioral modes), skills are task-oriented -- they define a specific workflow the agent should follow.

Skill Files

Skills live in the skills/ directory as markdown files:

---
name: deep-research
description: Multi-step research with source verification
allowedTools:
  - mcp__memory__search_nodes
  - mcp__brave-search__brave_web_search
  - mcp__firecrawl__firecrawl_scrape
---

1. Search for the topic using web search
2. Scrape the top 3 results
3. Extract key claims and citations
4. Cross-reference with existing knowledge
5. Save findings to the knowledge graph

How Skills Work

  1. Declare -- A skill is a markdown file in skills/ with frontmatter and step-by-step instructions
  2. Activate -- User runs /skill <name> or the agent activates it based on context
  3. Inject -- Skill instructions are added to the system prompt under "Active Skills"
  4. Restrict -- allowedTools limits which MCP tools the agent can use while the skill is active
  5. Execute -- The agent follows the skill's steps, calling tools as instructed

Only one skill can be active at a time. Activating a new skill deactivates the previous one.

Allowed Tools

The allowedTools field in skill frontmatter restricts which MCP tools are available while the skill is active. This prevents the agent from wandering off-task.

allowedTools:
  - mcp__memory__search_nodes    # Can search the graph
  - mcp__memory__add_observations # Can add observations
  - mcp__brave-search__*          # Can use any brave-search tool

Wildcard patterns using * are supported. If allowedTools is not specified, all tools remain available.

Deactivating Skills

/skill off          # Deactivate current skill
/skills             # List available and active skills

The /clear command also deactivates any active skill.

Example Skills

Document Ingestion

---
name: ingest-and-verify
description: Ingest a document and verify extraction quality
allowedTools:
  - mcp__memory__*
  - mcp__firecrawl__*
---

1. Read the document content
2. Extract all entities (people, organizations, concepts, technologies)
3. Search the graph for existing matches before creating new entities
4. Create entities with appropriate types
5. Create relations between related entities
6. Add observations with source attribution
7. Report what was extracted and what was skipped

Cross-Reference Research

---
name: cross-reference
description: Find contradictions and confirmations across sources
allowedTools:
  - mcp__memory__search_nodes
  - mcp__memory__open_nodes
  - mcp__brave-search__brave_web_search
---

1. Search the graph for the topic
2. Open all matching entities and their observations
3. Identify claims that agree or contradict
4. Search the web for additional evidence
5. Report findings with confidence levels
6. Save new findings with source attribution