You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/app/docs/kagent/concepts/agents/page.mdx
+43-6Lines changed: 43 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,11 +50,11 @@ Kagent comes with a set of built-in tools that you can use to interact with your
50
50
51
51
## Skills
52
52
53
-
Skills are descriptions of the capabilities that an agent has to act more autonomously. They make the LLM's responses more than just reactions to prompts by orienting them toward goals.
53
+
Skills are descriptions or even executable implementations of the capabilities that an agent has to act more autonomously. They make the LLM's responses more than just reactions to prompts by orienting them toward goals.
54
54
55
55
In some frameworks, skills are expressed as wrapped functions, reusable prompt templates, or even a synonym for a tool.
56
56
57
-
In kagent, think of skills like a catalog that expresses what the agent is capable of doing for a user. Unlike tools, skills are not a specific function that produces an output, like "fetch a website" or "tell the weather." Unlike system instructions, they are not rules that apply to all interactions, such as "Follow my company's style guide."
57
+
Think of skills like a catalog that expresses what the agent is capable of doing for a user. Unlike tools, skills are not a specific function that produces an output, like "fetch a website" or "tell the weather." Unlike system instructions, they are not rules that apply to all interactions, such as "Follow my company's style guide."
58
58
59
59
Instead, skills are building blocks that guide the agent's tool usage and planning. They help the agent understand what its goals are, and when and how to use tools effectively.
60
60
@@ -63,13 +63,50 @@ For example, two agents may share the same tools but use them differently based
63
63
- A troubleshooting agent might use a `describe` tool to check the events of a crashing pod before taking a recovery action, such as restarting the pod.
64
64
- A research agent might use the same `describe` tool to gather details about a pod in order to answer a user's question.
65
65
66
-
Kagent supports two types of skills:
66
+
Skills can refer to two broad types:
67
67
68
-
1.**A2A skills** (metadata): Structured descriptions of capabilities defined in `a2aConfig.skills`. These consist of a description, examples, ID, and tags that help guide the agent's behavior. The description and examples provide context for both humans and the agent itself, often incorporated into system instructions. The ID and tags help you manage skills, such as by making it simpler to compare and reuse them across agents.
68
+
***A2A skills**: Metadata-based skills that are defined inline in the agent specification.
69
+
***Kagent's container-based skills**: Executable skills packaged as container images and loaded from registries, for reuse across agents. You can use the [agentregistry project](https://github.com/agentregistry-dev/agentregistry) to build and push skills to a registry.
69
70
70
-
2.**Container-based skills**: Executable skill implementations packaged as container images. These skills contain instructions, scripts, and resources that are loaded from container registries and made available to the agent at runtime. You can build and push skills as container images, then reference them in `spec.skills.refs` to load them into your agents.
71
+
### A2A skills metadata
71
72
72
-
Skills in kagent are similar to [Claude's Agent Skills](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview), but with a key advantage: any agent can use skills, regardless of the LLM provider. You're not limited to Anthropic Claude. You can use skills with OpenAI, Google Vertex AI, Azure OpenAI, Ollama, and any other LLM provider that kagent supports.
73
+
Actions-to-actions (A2A) skills are metadata—structured descriptions of capabilities, not executable code. Think of A2A skills as a machine-readable catalog entry about what a tool can do.
74
+
75
+
A2A skills metadata describes:
76
+
77
+
- What a capability is
78
+
- What the capability can do
79
+
- The inputs and outputs
80
+
- Safety requirements
81
+
- How a model should think about the capability
82
+
83
+
A2A skills metadata does not:
84
+
85
+
- Provide runtime code
86
+
- Execute actions
87
+
- Bundle actual logic for performing the skill
88
+
89
+
In kagent, you define A2A skills in `a2aConfig.skills`. These consist of a description, examples, ID, and tags that help guide the agent's behavior. The description and examples provide context for both humans and the agent itself, often incorporated into system instructions. The ID and tags help you manage skills, such as by making it simpler to compare and reuse them across agents.
90
+
91
+
A2A skills are instructions about capabilities, not the capabilities themselves. That is why A2A is sometimes described as "just metadata"—it's descriptive information, not executable code.
92
+
93
+
### Container-based skills
94
+
95
+
Kagent's container-based skills are executable skill implementations packaged as container images. These are runnable procedural logic that the agent can use as an extension of itself.
96
+
97
+
Container-based skills include:
98
+
99
+
- Executable code snippets or procedures
100
+
- Behavior modules that the agent can call at inference time
101
+
- Validation and step-by-step behaviors
102
+
- Reusable functions
103
+
- Direct execution capabilities
104
+
105
+
These skills contain instructions, scripts, and resources that are loaded from container registries and made available to the agent at runtime. You can build and push skills as container images, then reference them in `spec.skills.refs` to load them into your agents.
106
+
107
+
Container-based skills are actual, callable capabilities—not just descriptions of capabilities.
108
+
109
+
Kagent's skills are similar to [Claude's Agent Skills](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview), but with a key advantage: any agent can use skills, regardless of the LLM provider. You're not limited to Anthropic Claude. You can use skills with OpenAI, Google Vertex AI, Azure OpenAI, Ollama, and any other LLM provider that kagent supports.
Copy file name to clipboardExpand all lines: src/app/docs/kagent/examples/skills/page.mdx
+5-107Lines changed: 5 additions & 107 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,123 +14,21 @@ export const metadata = {
14
14
15
15
Skills are descriptions of capabilities that help agents act more autonomously. They guide the agent's tool usage and planning by orienting responses toward goals rather than just reacting to prompts.
16
16
17
-
In this guide, you learn how to add skills to your agents in kagent. Kagent supports two types of skills:
17
+
In this guide, you learn how to add container-based skills to your agents in kagent.
18
18
19
-
1.**A2A skills** (metadata): Structured descriptions of capabilities defined inline the agent specification in the `a2aConfig.skills` field.
20
-
2.**Container-based skills**: Executable skills packaged as container images and loaded from registries, for reuse across agents. You can use the [agentregistry project](https://github.com/agentregistry-dev/agentregistry) to build and push skills to a registry.
19
+
<Asidetype="tip">
20
+
Want to containerize and manage your skills? Try out the [agentregistry project](https://github.com/agentregistry-dev/agentregistry) to build and push skills to a secure, AI-first container registry. Agentregistry also has a [repo of example skills](https://github.com/agentregistry-dev/skills) based on Claude Skills that you can use as a starting point.
21
+
</Aside>
21
22
22
23
## Before you begin
23
24
24
25
1. Install kagent by following the [quick start](/docs/kagent/getting-started/quickstart) guide.
25
26
26
27
2. Review the concepts of [agents and skills](/docs/kagent/concepts/agents) in kagent.
27
28
28
-
## Inline A2A skills metadata
29
-
30
-
Create an agent that uses skills to guide its behavior. This example creates a Kubernetes troubleshooting agent with skills for diagnosing and fixing issues.
31
-
32
-
Skills are defined under `a2aConfig` in the agent specification. Even if you're not exposing your agent via the A2A protocol, defining skills under `a2aConfig` helps guide the agent's behavior and tool usage in all conversations.
33
-
34
-
```yaml
35
-
kubectl apply -f - <<EOF
36
-
apiVersion: kagent.dev/v1alpha2
37
-
kind: Agent
38
-
metadata:
39
-
name: k8s-troubleshooting-agent
40
-
namespace: kagent
41
-
spec:
42
-
description: A Kubernetes agent specialized in troubleshooting cluster issues
43
-
type: Declarative
44
-
declarative:
45
-
modelConfig: default-model-config
46
-
systemMessage: |-
47
-
You are a Kubernetes troubleshooting expert. Use your skills to diagnose
48
-
and resolve issues in the cluster. When investigating problems, follow a
49
-
systematic approach: gather information, identify root causes, and propose
50
-
solutions.
51
-
tools:
52
-
- type: McpServer
53
-
mcpServer:
54
-
name: kagent-tool-server
55
-
kind: RemoteMCPServer
56
-
toolNames:
57
-
- k8s_get_resources
58
-
- k8s_describe_resource
59
-
- k8s_get_logs
60
-
- k8s_get_events
61
-
a2aConfig:
62
-
skills:
63
-
- id: diagnose-pod-issues
64
-
name: Diagnose Pod Issues
65
-
description: Investigate and diagnose problems with Kubernetes pods, including crashes, restarts, and resource constraints
66
-
inputModes:
67
-
- text
68
-
outputModes:
69
-
- text
70
-
tags:
71
-
- troubleshooting
72
-
- pods
73
-
- diagnostics
74
-
examples:
75
-
- "Why is my pod crashing?"
76
-
- "Investigate the pod restarts in the production namespace"
77
-
- "Check why the pod is not starting"
78
-
- "Diagnose resource issues with my deployment"
79
-
- id: analyze-cluster-health
80
-
name: Analyze Cluster Health
81
-
description: Assess the overall health and status of the Kubernetes cluster
82
-
inputModes:
83
-
- text
84
-
outputModes:
85
-
- text
86
-
tags:
87
-
- cluster
88
-
- health
89
-
- monitoring
90
-
examples:
91
-
- "What's the health status of my cluster?"
92
-
- "Check if there are any issues in the cluster"
93
-
- "Analyze cluster resource usage"
94
-
- "Review cluster events for problems"
95
-
EOF
96
-
```
97
-
98
-
### Understand the A2A skills metadata configuration
99
-
100
-
Review the following table to understand the A2A skills metadata configuration.
101
-
102
-
| Field | Description |`diagnose-pod-issues` skill |`analyze-cluster-health` skill |
|**id**| A unique identifier for the skill |`diagnose-pod-issues`|`analyze-cluster-health`|
105
-
|**name**| A human-readable name for the skill | Diagnose Pod Issues | Analyze Cluster Health |
106
-
|**description**| What the skill enables the agent to do | Investigate and diagnose problems with Kubernetes pods, including crashes, restarts, and resource constraints | Assess the overall health and status of the Kubernetes cluster |
107
-
|**inputModes**| The data types that the skill accepts as input |`text`|`text`|
108
-
|**outputModes**| The data types that the skill produces as output |`text`|`text`|
109
-
|**tags**| Categories for organizing and filtering skills |`troubleshooting`, `pods`, `diagnostics`|`cluster`, `health`, `monitoring`|
110
-
|**examples**| Sample queries that trigger this skill | "Why is my pod crashing?"<br/>"Investigate the pod restarts in the production namespace"<br/>"Check why the pod is not starting"<br/>"Diagnose resource issues with my deployment" | "What's the health status of my cluster?"<br/>"Check if there are any issues in the cluster"<br/>"Analyze cluster resource usage"<br/>"Review cluster events for problems" |
111
-
112
-
### Test A2A skills
113
-
114
-
For agents with A2A skills metadata, test with queries that match the skill examples.
115
-
116
-
```bash
117
-
kagent invoke --agent k8s-troubleshooting-agent --task "Can you find any unhealthy pods in the kagent namespace?"
118
-
```
119
-
120
-
Example output: The agent uses its "Diagnose Pod Issues" skill to systematically investigate the problem.
121
-
122
-
```json
123
-
{"artifacts":[{"artifactId":"b626f5ea-1994-48e0-8266-0141bda3322d","parts":[{"kind":"text","text":"All the pods in the kagent namespace appear to be healthy. They are all in the \"Running\" status with all containers ready (1/1) and no restarts reported. There are no unhealthy pods in the kagent namespace at this time. Is there anything specific you would like me to check or troubleshoot further?"}]}],
124
-
...
125
-
```
126
-
127
29
## Container-based skills
128
30
129
-
Container-based skills are executable skill implementations packaged as container images. These skills contain instructions, scripts, and other resources that the agent can discover and use at runtime. This way, you can reuse skills across agents. You might pair the inline metadata skills with more general purpose, container-based skills depending on your agent's needs.
130
-
131
-
<Aside type="tip">
132
-
You can use the [agentregistry project](https://github.com/agentregistry-dev/agentregistry) to build and push skills to a registry. Agentregistry also has a [repo of example skills](https://github.com/agentregistry-dev/skills) based on Claude Skills that you can use as a starting point.
133
-
</Aside>
31
+
Container-based skills are executable skill implementations packaged as container images. These skills contain instructions, scripts, and other resources that the agent can discover and use at runtime. This way, you can reuse skills across agents.
0 commit comments