Skills
Skills are modular, self-contained capability packages that extend AI Agent capabilities by providing specialized knowledge, workflows, and tools. They act as "onboarding guides" for specific domains or tasks, transforming a general-purpose AI Agent into an expert with specialized procedural knowledge.
What Skills Provide
- Specialized Workflows: Automated multi-step procedures for specific domains.
- Tool Integration: Instructions for handling specific file formats or APIs.
- Domain Expertise: Company-specific knowledge, architecture, and business logic.
- Bundled Resources: Scripts, references, and assets for complex and repetitive tasks.
Skill Structure
Each Skill consists of a required SKILL.md file and optional bundled resources. Skills should be created in the .codebuddy/skills/ directory within the workspace.
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter metadata (required)
│ │ ├── name: (required)
│ │ └── description: (required)
│ └── Markdown instructions (required)
└── Bundled Resources (optional)
├── scripts/ - Executable code (Python/Bash, etc.)
├── references/ - Documentation intended to be loaded into context as needed
└── assets/ - Files used in outputs (templates, icons, fonts, etc.)SKILL.md (Required)
This is the core definition file for the Skill.
Metadata (YAML Frontmatter): The name and description determine when the AI will use this Skill. The description should specifically explain what the Skill does and when it should be used.
Example:
markdown
---
name: pdf-editor
description: This skill should be used when users ask to modify, rotate, or extract text from PDF files.
allowed-tools: # Optional, specify allowed tools
disable: false # Optional, whether to disable
---
# PDF Editor
To rotate a PDF...Bundled Resources (Optional)
1. Scripts (scripts/)
Executable code for tasks requiring deterministic reliability or that are repeatedly rewritten.
- Use Case: When code is repeatedly rewritten or requires high reliability.
- Example:
scripts/rotate_pdf.pyfor PDF rotation.
2. References (references/)
Documentation and reference materials intended to be loaded into context as needed to assist AI reasoning.
- Use Case: Database schemas, API documentation, domain knowledge, company policies, etc.
- Advantage: Keeps
SKILL.mdconcise, loading only when the AI determines it's needed.
3. Assets (assets/)
Files not intended to be loaded into context, but used in AI-generated outputs.
- Use Case: Brand assets, PowerPoint templates, HTML/React boilerplate code, etc.
Progressive Disclosure Design Principle
Skills use a three-tier loading system to efficiently manage context:
- Metadata: Always in context (~100 words).
- Skill Body (SKILL.md body): Loaded when the Skill is triggered (<5k words).
- Bundled Resources: Loaded by AI on demand (unlimited).
Skill Creation Process
- Understand Requirements: Clarify the Skill's use cases and trigger conditions.
- Plan Resources: Analyze whether scripts, reference documentation, or asset templates are needed.
- Create Directory: Create a new Skill directory under
.codebuddy/skills/. - Write SKILL.md:
- Fill in YAML metadata.
- Write Markdown instructions. Use imperative language (e.g., "To accomplish X, do Y").
- Reference bundled resources.
Best Practices
- Specific and Clear Description: Clearly state in
descriptionwhen the Skill should be used. - Imperative Language: Use verb-leading instructions in
SKILL.md, rather than second person. - Load on Demand: Place lengthy documentation in
references/to avoid bloatingSKILL.md. - Avoid Duplication: Information should exist in either
SKILL.mdor reference files, not both.
Skill Management
CodeBuddy provides a visual interface in the settings page to help you manage Skills.
In the settings management page, you can:
- Centralized Management: View and manage all Skills at the project level (Project Skills) and user level (User Skills).
- Import Skill: Click the "Import Skill" button in the upper right corner to import Skills you've obtained from the web.