Skip to content

Package Structure

Every Selu agent is a self-contained directory (or Git repository) with a well-defined structure. The orchestrator reads this structure at install time to register the agent, its system prompt, and any bundled capabilities.

At minimum, an agent package contains two files:

  • Directorymy-agent/
    • agent.yaml
    • agent.md
  • agent.yaml — The machine-readable manifest. It declares the agent’s name, version, routing rules, capability references, and metadata for the marketplace.
  • agent.md — The system prompt. This Markdown file is injected at the start of every LLM conversation and defines the agent’s personality, instructions, and behavioural constraints.

Most useful agents also ship with one or more capabilities:

  • Directorymy-agent/
    • agent.yaml
    • agent.md
    • Directorycapabilities/
      • Directoryweather/
        • manifest.yaml
        • prompt.md
        • Dockerfile
        • Directorysrc/
          • server.py
      • Directorycalendar/
        • manifest.yaml
        • prompt.md
        • Dockerfile
        • Directorysrc/
          • server.go

Each sub-directory inside capabilities/ is a standalone capability with its own manifest.yaml, optional prompt.md, a Dockerfile, and whatever source code it needs.

FileRequiredPurpose
agent.yamlYesAgent metadata, routing, capability list, version
agent.mdYesSystem prompt sent to the LLM
capabilities/*/manifest.yamlPer capabilityCapability metadata, resource limits, parameters
capabilities/*/prompt.mdNoExtra instructions appended to the system prompt when this capability is available
capabilities/*/DockerfilePer capabilityBuilds the container image for the capability’s gRPC server
  • The root directory name doesn’t matter — the name field in agent.yaml is the canonical identifier.
  • Capabilities can also be referenced by Docker image URI instead of bundled locally. See the agent.yaml Reference for details.
  • Keep agent.md focused and under 2,000 tokens. Long system prompts increase latency and cost.

Dive into the individual file references: agent.yaml, agent.md, and Routing & Sessions.