Before you begin
For a technical overview of agents, please refer to the Technical Overview.
Agents declare their capabilities through a standardized manifest:
interface AgentCapabilities {
  tasks: string[]; // Supported task types
  inputFormats: string[]; // Accepted input formats
  outputFormats: string[]; // Supported output formats
  resources: Resource[]; // Required computational resources
}
Creating an Agent
Here's a basic example of creating a text processing agent:
import { Agent, Capability } from "@skainet/sdk";
const myAgent = new Agent({
  name: "TextProcessor",
  capabilities: [
    new Capability("text-analysis", ["sentiment", "classification"]),
    new Capability("language-detection", ["*"]),
  ],
  handler: async (input) => {
    // Agent logic here
  },
});