Add skills
Give an agent access to skills that are published in agentregistry. Skills are loaded into the agent at runtime and made available under the /skills folder.
Before you begin
- Follow the Get started guide to set up agentregistry and start the agentregistry daemon.
- Create an agent.
- Create a skill and publish it to agentregistry.
Add a skill
You can add a skill to your agent from two sources: a published skill in agentregistry, or a container image directly.
From the registry
Add a skill that was previously published to agentregistry by referencing the skill name in the registry.
-
List the skills that are published in agentregistry.
arctl skill listExample output:
NAME TITLE VERSION TYPE SOURCE hello-world-template 1.0.0 docker docker.io/user/hello-world-template:v1.0.0 -
Add the skill to your agent.
arctl agent add-skill my-skill \ --project-dir myagent \ --registry-skill-name hello-world-template \ --registry-skill-version 1.0.0 \ --imageIf the skill is packaged as a Docker image, you can reference it directly without publishing to the registry first.
arctl agent add-skill my-skill \ --project-dir myagent \ --image docker.io/user/hello-world-template:v1.0.0Example output:
✓ Added skill 'my-skill' to agent.yamlYou can optionally specify a version and a registry URL:
Flag Description --registry-skill-nameName of the skill in the registry. Required. --registry-skill-versionVersion to use. If omitted, the latest version is used. --registry-urlRegistry URL. If omitted, the default registry is used. -
After adding a skill, verify that the
agent.yamlfile was updated.cat myagent/agent.yamlExample output:
agentName: myagent image: ghcr.io/myagent:latest language: python framework: adk modelProvider: gemini modelName: gemini-2.0-flash description: "" skills: - name: my-skill registryURL: http://localhost:12121 registrySkillName: hello-world-template -
Re-build the agent image.
arctl agent build myagent -
Run the agent. When you run an agent locally, agentregistry resolves the skills from the registry and makes them available to the agent. Wait for the agent dialog to open.
arctl agent run myagentDuring startup,
arctl:- Resolves each skill in the agent manifest from the registry.
- Downloads the skill contents. Docker-packaged skills are extracted from the container image. GitHub-hosted skills are cloned from the repository.
- Places all skill files in a temporary directory and sets the
KAGENT_SKILLS_FOLDERenvironment variable to point to it. - Mounts the skills directory into the agent container at
/skills(read-only). The agent can then load and use the skills from the/skillsfolder at runtime.
-
Ask the agent to describe what skills it has access to. Verify that you see the
hello-world-templatetool.
Next
Deploy the agent to your environment.
Cleanup
To remove a skill from the agent, edit the agent.yaml file and remove the skill reference from the skills list. Then, re-build and re-run or re-deploy the agent.