Skip to main content
AI/MLCrestApps

orchardcore-ai-a2a-host

Skill for configuring the CrestApps A2A Host feature in Orchard Core. Covers exposing Agent AI Profiles as A2A agents, host authentication, agent cards, endpoints, and host settings. Use this skill when requests mention Orchard Core A2A Host, Configure an A2A Host, Feature Overview, Enable the Host Feature, Create Agent Profiles, Host Settings in Configuration, or closely related Orchard Core implementation, setup, extension, or troubleshooting work. Strong matches include work with CrestApps.OrchardCore.AI.A2A.Host, CrestApps.OrchardCore.AI, AIProfile, ExposeAgentsAsSkill, agentName, AuthenticationType, OrchardCore:CrestApps_AI:A2AHost, ApiKey. It also helps with Create Agent Profiles, Host Settings in Configuration, Agent Exposure Modes, plus the code patterns, admin flows, recipe steps, and referenced examples captured in this skill.

Stars
13
Source
CrestApps/CrestApps.AgentSkills
Updated
2026-05-29
Slug
CrestApps--CrestApps.AgentSkills--orchardcore-ai-a2a-host
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/CrestApps/CrestApps.AgentSkills/HEAD/plugins/crestapps-orchardcore/skills/orchardcore-ai-a2a-host/SKILL.md -o .claude/skills/orchardcore-ai-a2a-host.md

Drops the SKILL.md into .claude/skills/orchardcore-ai-a2a-host.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

Orchard Core A2A Host - Prompt Templates

Configure an A2A Host

You are an Orchard Core expert. Generate configuration and guidance for exposing Orchard Core Agent AI Profiles through the CrestApps A2A Host feature.

Guidelines

  • Use the A2A Host feature ID CrestApps.OrchardCore.AI.A2A.Host.
  • The host exposes AI Profiles whose Type is Agent.
  • Agent cards are served from /.well-known/agent-card.json.
  • By default, the well-known endpoint returns a JSON array of agent cards, one per Agent AI Profile.
  • Each card points to /a2a?agent={agentName} through its url property.
  • When ExposeAgentsAsSkill is enabled, the host returns a single combined agent card and routes requests using the agentName metadata field.
  • Keep agent Description accurate because it becomes part of the external agent or skill description.
  • Prefer authenticated host access in shared or production environments.

Feature Overview

Feature Feature ID Description
A2A Host CrestApps.OrchardCore.AI.A2A.Host Expose Agent AI Profiles via the Agent-to-Agent protocol

Enable the Host Feature

{
  "steps": [
    {
      "name": "Feature",
      "enable": [
        "CrestApps.OrchardCore.AI",
        "CrestApps.OrchardCore.AI.A2A.Host"
      ],
      "disable": []
    }
  ]
}

Prerequisite: Create Agent Profiles

Only AI Profiles of type Agent are exposed by the host.

The AIProfile recipe format is source-agnostic. Omit Source and bind the agent to deployments by technical name.

{
  "steps": [
    {
      "name": "AIProfile",
      "profiles": [
        {
          "Name": "research-agent",
          "DisplayText": "Research Agent",
          "Description": "Researches topics and returns sourced summaries.",
          "Type": "Agent",
          "ChatDeploymentName": "research-chat",
          "UtilityDeploymentName": "research-utility",
          "Properties": {
            "AIProfileMetadata": {
              "SystemMessage": "You are a research assistant.",
              "Temperature": 0.2,
              "MaxTokens": 4096
            },
            "AgentMetadata": {
              "Availability": "OnDemand"
            }
          }
        }
      ]
    }
  ]
}

Host Settings in Configuration

{
  "OrchardCore": {
    "CrestApps_AI": {
      "A2AHost": {
        "AuthenticationType": "None",
        "ApiKey": "your-api-key-here",
        "RequireAccessPermission": false,
        "ExposeAgentsAsSkill": false
      }
    }
  }
}

Agent Exposure Modes

Multi-Agent Mode (Default)

Use ExposeAgentsAsSkill: false when you want one agent card per Agent profile.

  • /.well-known/agent-card.json returns a JSON array of cards.
  • Each card advertises a single agent.
  • Each card points clients to /a2a?agent={agentName}.

Skill Mode

Use ExposeAgentsAsSkill: true when you want a single combined agent card.

  • The well-known endpoint returns one combined card.
  • Each Agent AI Profile is represented as a skill.
  • Requests are routed using the agentName metadata field.

Endpoints

Endpoint Purpose
/.well-known/agent-card.json Agent discovery endpoint
/a2a?agent={agentName} Sends messages to a specific exposed agent

Authentication Guidance

The host configuration supports authentication settings through AuthenticationType and related options in OrchardCore:CrestApps_AI:A2AHost.

Use these settings as your starting point:

  • AuthenticationType: "None" for local development only.
  • Set ApiKey when using API-key-based access.
  • Use RequireAccessPermission: true when you want Orchard permission checks enforced for host access.

Example Host Configuration for a Shared Environment

{
  "OrchardCore": {
    "CrestApps_AI": {
      "A2AHost": {
        "AuthenticationType": "ApiKey",
        "ApiKey": "{{A2AHostApiKey}}",
        "RequireAccessPermission": true,
        "ExposeAgentsAsSkill": true
      }
    }
  }
}

Best Practices

  • Use Agent profiles, not Chat profiles, for A2A host exposure.
  • Write strong profile descriptions so remote clients can pick the right agent.
  • Keep ExposeAgentsAsSkill disabled when clients should select named agents directly.
  • Enable ExposeAgentsAsSkill when clients prefer one consolidated card with multiple skills.
  • Avoid AuthenticationType: "None" outside local development.