Skip to content

Commit 79a7830

Browse files
committed
Revise and remove A2A
Signed-off-by: Art Berger <art.berger@solo.io>
1 parent 18c7af3 commit 79a7830

File tree

2 files changed

+48
-113
lines changed

2 files changed

+48
-113
lines changed

src/app/docs/kagent/concepts/agents/page.mdx

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@ Kagent comes with a set of built-in tools that you can use to interact with your
5050

5151
## Skills
5252

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.
5454

5555
In some frameworks, skills are expressed as wrapped functions, reusable prompt templates, or even a synonym for a tool.
5656

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."
5858

5959
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.
6060

@@ -63,13 +63,50 @@ For example, two agents may share the same tools but use them differently based
6363
- 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.
6464
- A research agent might use the same `describe` tool to gather details about a pod in order to answer a user's question.
6565

66-
Kagent supports two types of skills:
66+
Skills can refer to two broad types:
6767

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.
6970

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
7172

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.
73110

74111
### Best practices for skills
75112

src/app/docs/kagent/examples/skills/page.mdx

Lines changed: 5 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -14,123 +14,21 @@ export const metadata = {
1414

1515
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.
1616

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.
1818

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+
<Aside type="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>
2122

2223
## Before you begin
2324

2425
1. Install kagent by following the [quick start](/docs/kagent/getting-started/quickstart) guide.
2526

2627
2. Review the concepts of [agents and skills](/docs/kagent/concepts/agents) in kagent.
2728

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 |
103-
|-------|------------|----------------------|-------------------------|
104-
| **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-
12729
## Container-based skills
12830

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.
13432

13533
### Step 1: Build a skill container
13634

0 commit comments

Comments
 (0)