Introduction to Skills
Skills provide agents with structured domain expertise through instructions, scripts, and reference documentation.
Kern Skills integration, based on Anthropic's Agent Skills specification, is a way to extend your agent's capabilities by providing specific skills.
Using Skills, your agents will be able to gradually discover, obtain and utilize specialized knowledge and capabilities.
What is a Skill?
A skill is a self-contained package an Agent can use to extend its capabilities in a specific domain, or to acquire a new specific capability.
All skills contain:
- Instructions: Detailed guidance on when and how to apply the skill (in
SKILL.md) - Scripts: Optional executable code templates the agent can run
- References: Optional supporting documentation (guides, cheatsheets, examples)
Why Use Skills?
Domain Expertise on Demand
Instead of filling the system message with instructions to cover every usecase, skills let you organize domain knowledge into focused packages.
The agent loads only what it needs, allowing you to save tokens and ultimately reduce costs.
Reusable Knowledge Packages
Create skills once, use them across multiple agents. A code review skill can be shared between your debugging agent, PR review agent, and code generation agent.
Progressive Discovery
Skills use lazy loading to keep context windows efficient:
- Browse: The agent sees skill summaries in its system prompt
- Load: When a task matches a skill, the agent loads full instructions
- Reference: The agent accesses detailed documentation as needed
- Execute: The agent can run scripts from the skill
Quick Example
1from kern.agent import Agent2from kern.models.openai import OpenAIResponses3from kern.skills import Skills, LocalSkills45# Load skills from a directory6agent = Agent(7 model=OpenAIResponses(id="gpt-5.2"),8 skills=Skills(loaders=[LocalSkills("/path/to/skills")])9)1011# The agent now has access to skill tools:12# - get_skill_instructions(skill_name)13# - get_skill_reference(skill_name, reference_path)14# - get_skill_script(skill_name, script_path)Skill Structure
1my-skill/2├── SKILL.md # Instructions with YAML frontmatter3├── scripts/ # Optional executable scripts4│ └── helper.py5└── references/ # Optional reference documentation6 └── guide.md