Skills System
Dynamic prompt enhancement via markdown files. Skills inject context-specific instructions when triggered by keywords in user messages.
Configuration
config.toml
[skills]
dir = "skills"
enabled = trueSkill File Format
Skills are markdown files with YAML-like frontmatter, stored in the skills directory:
skills/code-review.md
---
name: Code Review
description: Provides code review guidelines
triggers: review, code review, PR, pull request
---
When reviewing code, follow these guidelines:
1. Check for security vulnerabilities
2. Verify error handling
3. Assess readability and naming
4. Look for performance issues
5. Ensure tests are adequateFrontmatter Fields
| Key | Type | Default | Description |
|---|---|---|---|
name | string | โ | Display name of the skill |
description | string | โ | Brief description (shown in "Available Skills" list) |
triggers | string | โ | Comma-separated keywords that activate the skill |
Hybrid Matching
Skill activation uses a two-stage process:
- Pattern matching โ whole-word, case-insensitive keyword search. If any trigger appears as a complete word in the user’s message, the skill is a candidate.
- LLM confirmation โ the fast model validates whether each candidate skill is actually relevant to the user’s intent. This prevents false activations from coincidental keyword matches.
The confirmation step is fail-open: if the LLM call fails or times out, all pattern-matched candidates are activated.
System Prompt Injection
When skills are loaded, the system prompt is enhanced with:
- Available Skills โ lists all skill names and descriptions
- Active Skills โ full body of each matched skill
- Known Facts โ stored facts (injected below skills)
system prompt structure
## Available Skills
- Code Review: Provides code review guidelines
- DevOps: Infrastructure and deployment help
## Active Skill: Code Review
When reviewing code, follow these guidelines:
...
## Known Facts
### user
- name: DavidDynamic Skills
Beyond static filesystem skills, aidaemon supports runtime skill management through the manage_skills tool and optional registries.
manage_skills Tool Actions
| Action | Description |
|---|---|
add | Fetch a skill from a URL |
add_inline | Parse raw markdown content as a skill |
list | Show all loaded skills with metadata |
remove | Delete a skill by name |
enable / disable | Activate or deactivate a skill |
browse | Search across configured registries |
install | Install from a registry |
update | Re-fetch skill from source URL |
Auto-Promotion
A background task runs every 12 hours, evaluating frequently-used procedures for automatic promotion into reusable skills.