For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.
Create a harness agent
Write an Agent definition that references plugins, skills, and instructions, and publish it to the catalog.
Before you begin
Set up an OIDC provider so that users can authenticate with the registry.
Install Solo Enterprise for agentregistry in an AWS EKS cluster and the
arctlCLI.Port-forward the Solo Enterprise for agentregistry server on port 12121 if you have not done so already. The registry is not exposed externally by default, so you need port-forwarding to reach it from your local machine.
kubectl -n agentregistry-system port-forward svc/agentregistry-enterprise-server 12121:12121
Prepare agent artifacts
Add a few sample artifacts to the catalog. All artifacts that are referenced in the Agent resource must exist in the catalog before you deploy the agent harness.
Create a plugin definition file and publish the plugin to the registry. The following example uses the
hello-pluginfrom the Solo.iodoc-examplesrepository.arctl apply -f- <<EOF apiVersion: ar.dev/v1alpha1 kind: Plugin metadata: name: hello-plugin spec: title: Hello Plugin description: A simple test plugin with a /hello slash command. harnesses: - claude-code source: type: git git: repository: url: https://github.com/solo-io/doc-examples branch: main subfolder: agentregistry/plugin EOFRegister the Solo.io documentation MCP server.
arctl apply -f- <<EOF apiVersion: ar.dev/v1alpha1 kind: MCPServer metadata: name: solo-docs spec: title: Solo.io docs MCP description: "MCP server for Solo.io product documentation." remote: type: streamable-http url: https://search.solo.io/mcp EOFCreate a prompt to use as the agent’s system prompt.
arctl apply -f- <<EOF apiVersion: ar.dev/v1alpha1 kind: Prompt metadata: name: my-prompt spec: title: My Prompt description: System prompt for the hello agent. content: You are a helpful coding assistant with access to Solo.io product documentation. EOFCreate a skill. The following example uses the
myskillskill from the Solo.iodoc-examplesrepository.arctl apply -f- <<EOF apiVersion: ar.dev/v1alpha1 kind: Skill metadata: name: myskill spec: title: myskill description: A sample skill that demonstrates the echo skill template. source: repository: url: https://github.com/solo-io/doc-examples branch: main subfolder: agentregistry/myskill EOFVerify that your artifacts are created.
arctl get allExample output:
mcps NAME TAG DESCRIPTION solo-docs latest MCP server for Solo.io product documentation. skills NAME TAG DESCRIPTION myskill latest A sample skill that demonstrates the echo skill te... prompts NAME TAG DESCRIPTION my-prompt latest System prompt for the hello agent. plugins NAME TAG DESCRIPTION hello-plugin latest A simple test plugin with a /hello slash command.
Create the harness agent
Use the Agent resource to define your harness agent.
Create an agent definition file and apply it to the registry catalog. The following example composes an agent from a plugin, MCP server, skill, and prompt (instructions).
arctl apply -f- <<EOF apiVersion: ar.dev/v1alpha1 kind: Agent metadata: name: hello-agent spec: title: Hello Agent description: A sample coding assistant composed from a plugin, skill, MCP server, and system prompt. compatibleHarnesses: - type: claude-code plugins: - name: hello-plugin tag: latest skills: - name: myskill tag: latest instructions: name: my-prompt tag: latest mcpServers: - name: solo-docs tag: latest EOFField Description spec.compatibleHarnesses[].typeThe harness that this agent is designed to run on. Supported values are claude-codeandopenclaw.spec.plugins[].nameThe catalog name of a published plugin to include. The registry resolves the plugin’s pinned commit and materializes the bundle at deploy time. Note that the plugin must be compatible to run in the harness that you defined in spec.compatibleHarnesses[].type.spec.skills[].nameThe catalog name of a published skill to include. spec.instructions.nameThe catalog name of a published prompt to use as the agent’s system prompt. spec.mcpServers[].nameThe catalog name of a published MCP server to add to the agent. Use this for catalog-level MCP servers that are not already declared inside a plugin bundle. Example output:
✓ Agent/hello-agent (latest) createdVerify that the agent appears in the catalog.
arctl get agentExample output:
NAME TAG DESCRIPTION hello-agent latest A sample coding assistant composed from a plugin, skill, ...