Skip to content
Latest (currently 2026.9.0) has the newest features, bug fixes, and CVE patches of Solo Enterprise for agentregistry.

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

Page as Markdown

Write an Agent definition that references plugins, skills, and instructions, and publish it to the catalog.

Before you begin

  1. Set up an OIDC provider so that users can authenticate with the registry.

  2. Install Solo Enterprise for agentregistry in an AWS EKS cluster and the arctl CLI.

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

  1. Create a plugin definition file and publish the plugin to the registry. The following example uses the hello-plugin from the Solo.io doc-examples repository.

    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
    EOF
  2. Register 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
    EOF
  3. Create 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.
    EOF
  4. Create a skill. The following example uses the myskill skill from the Solo.io doc-examples repository.

    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
    EOF
  5. Verify that your artifacts are created.

    arctl get all

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

  1. 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
    EOF
    FieldDescription
    spec.compatibleHarnesses[].typeThe harness that this agent is designed to run on. Supported values are claude-code and openclaw.
    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) created
    
  2. Verify that the agent appears in the catalog.

    arctl get agent

    Example output:

    NAME          TAG      DESCRIPTION
    hello-agent   latest   A sample coding assistant composed from a plugin, skill, ...
    

Next steps