Table of Contents

Class SkillDiscoveryController

Namespace
nanoFramework.WebServer.Skills
Assembly
nanoFramework.WebServer.Skills.dll

Controller providing A2A-compatible skill discovery and invocation endpoints. Serves the Agent Card at .well-known/agent-card.json and skill invocation at skills/invoke.

public class SkillDiscoveryController
Inheritance
SkillDiscoveryController
Derived
Inherited Members
Extension Methods

Constructors

SkillDiscoveryController()

public SkillDiscoveryController()

Properties

AgentDescription

Gets or sets the agent description displayed in the Agent Card.

public static string AgentDescription { get; set; }

Property Value

string

AgentName

Gets or sets the agent name displayed in the Agent Card.

public static string AgentName { get; set; }

Property Value

string

AgentUrl

Gets or sets the agent URL for the Agent Card.

public static string AgentUrl { get; set; }

Property Value

string

AgentVersion

Gets or sets the agent version displayed in the Agent Card.

public static string AgentVersion { get; set; }

Property Value

string

Methods

GetAgentCard(WebServerEventArgs)

Handles GET requests to .well-known/agent-card.json. Returns an A2A-compatible Agent Card with the registered skills. Supports optional query parameters: ?skill=id to filter by skill, ?tag=value to filter by tag.

[Route(".well-known/agent-card.json")]
[Method("GET")]
public void GetAgentCard(WebServerEventArgs e)

Parameters

e WebServerEventArgs

The web server event arguments.

InvokeSkillAction(WebServerEventArgs)

Handles POST requests to skills/invoke. Invokes a skill action with the provided arguments. Request body: { "skill": "skill-id", "action": "ActionName", "arguments": { ... } } Response content type matches the action's declared ContentType.

[Route("skills/invoke")]
[Method("POST")]
public void InvokeSkillAction(WebServerEventArgs e)

Parameters

e WebServerEventArgs

The web server event arguments.

ListSkills(WebServerEventArgs)

Handles GET requests to the skills endpoint. Returns a lightweight JSON response with just the skills array.

[Route("skills")]
[Method("GET")]
public void ListSkills(WebServerEventArgs e)

Parameters

e WebServerEventArgs

The web server event arguments.