π§ Agent Skills (Experimental)
Agent Skills are modular capabilities that extend DAIV's agents with specialized knowledge, workflows, and domain expertise. Each Skill packages instructions, metadata, and optional resources that agents use automatically when relevant to a task.
Why Use Skills
Skills provide domain-specific expertise that transforms DAIV's general-purpose agents into specialists. Unlike one-off prompts, Skills are reusable, filesystem-based resources that load on-demand across multiple agent interactions.
Key benefits:
- Specialize agents: Tailor DAIV's capabilities for domain-specific tasks
- Reduce repetition: Create once, use automatically in relevant contexts
- Compose capabilities: Combine multiple Skills to build complex workflows
- Progressive disclosure: Skills metadata loads at startup, full instructions load only when needed
How Skills Work
DAIV implements Skills using a progressive disclosure pattern inspired by Anthropic's Agent Skills:
Three Levels of Loading
| Level | When Loaded | Token Cost | Content |
|---|---|---|---|
| Metadata | Always (at startup) | ~100 tokens per Skill | name and description from YAML frontmatter |
| Instructions | When Skill is triggered | Under 5k tokens | Full SKILL.md content with workflows and guidance |
| Resources | As needed | Variable | Supporting files (scripts, configs, reference docs) |
Skill Discovery Flow
graph TD
A["π Agent Starts"] --> B["π Scan Skills Directory<br/>(.daiv/skills/)"]
B --> C["π Parse YAML Frontmatter<br/>(name, description, scope)"]
C --> D["π Inject Skills Metadata<br/>into System Prompt"]
D --> E["π€ User Request"]
E --> F["π Agent Checks Skills<br/>Does request match a skill?"]
F -->|Yes| G["π Read Full SKILL.md"]
G --> H["β‘ Follow Skill Instructions"]
H --> I["π Access Supporting Files<br/>(scripts, configs, etc.)"]
F -->|No| J["π€ Normal Agent Execution"]
style B fill:#e1f5fe
style D fill:#fff3e0
style G fill:#e8f5e8
style H fill:#e8f5e8
This architecture ensures minimal context usageβagents only know Skills exist until they're actually needed.
Skills Directory Structure
Skills live in the .daiv/skills/ directory at the root of your repository:
Builtin Skills
DAIV includes builtin Skills that are automatically loaded to the .daiv/skills/ directory at agent startup:
| Skill | Description | Scope |
|---|---|---|
generating-agents-md |
Generates or updates an AGENTS.md file reflecting repository structure and conventions | Issues |
creating-daiv-yml-config |
Creates or updates a .daiv.yml configuration file with sandbox settings (base_image and format_code commands) based on repository content | Issues |
maintaining-changelog |
Updates or creates a CHANGELOG.md file for pull request changes | Merge Requests |
You can override builtin skills by creating a Skill with the same name in your project's .daiv/skills/ directory.
Creating Custom Skills
SKILL.md Structure
Every Skill requires a SKILL.md file with YAML frontmatter:
| Markdown | |
|---|---|
Required Fields
| Field | Description | Constraints |
|---|---|---|
name |
Unique identifier for the Skill | Max 64 chars, lowercase letters, numbers, hyphens only |
description |
What the Skill does and when to use it | Max 1024 chars, must be non-empty |
Optional Fields
| Field | Description | Values |
|---|---|---|
scope |
When the Skill should be available | issue, merge_request, or omit for both |
Scope Configuration
The scope field controls when a Skill is available to the agent:
issue: Skill only loads when working on issuesmerge_request: Skill only loads when working on merge/pull requests- Omitted: Skill loads for both issues and merge requests
| YAML | |
|---|---|
Skill Authoring Best Practices
Skill Authoring Guide
For more detailed information on how to author Skills, see also Anthropic's Skill Authoring Guide.
Write Clear Instructions
Be specific and actionable: Tell the agent exactly what steps to follow.
| Markdown | |
|---|---|
Include Trigger Conditions
Help the agent recognize when to use the Skill:
| YAML | |
|---|---|
Provide Examples
Concrete examples improve agent accuracy:
| Markdown | |
|---|---|
Bundle Supporting Files
Skills can include helper scripts, templates, and reference documents:
| Text Only | |
|---|---|
Reference these files in your SKILL.md:
| Markdown | |
|---|---|
Example Skills
Code Review Skill
Documentation Generator Skill
Security Considerations
Use Skills from Trusted Sources Only
Skills provide agents with new capabilities through instructions and code. Only use Skills you created yourself or obtained from trusted sources.
Key security considerations:
- Audit thoroughly: Review all files in a Skill before using it
- Check external references: Skills that fetch data from external URLs pose additional risk
- Review script code: Any Python scripts or executables should be carefully examined
- Limit scope: Use the
scopefield to restrict Skills to appropriate contexts
Troubleshooting
Skill Not Loading
Check file location: Ensure the Skill is in .daiv/skills/<skill-name>/SKILL.md
Verify YAML frontmatter: The frontmatter must be valid YAML between --- delimiters:
Check required fields: Both name and description are required.
Skill Not Triggering
Review description: The description field should clearly indicate when to use the Skill. Agents match user requests against this description.
Check scope: If you set a scope, the Skill only loads in that context (issue or merge_request).
Agent Not Following Instructions
Simplify instructions: Break complex workflows into clear, numbered steps.
Add examples: Concrete examples help agents understand expected behavior.
Test incrementally: Start with a minimal Skill and add complexity gradually.
βοΈ Next Steps
Now that you understand Agent Skills:
- Review MCP Tools - Understand how MCP tools extend agent capabilities
- Configure DAIV - Customize DAIV for your workflow
- Explore the Overview - Learn about all available agents