Skip to content

📝 Agent Manifest Specification


Overview

The Traylinx Agent Manifest (traylinx-agent.yaml) is the standard format for describing an agent. It defines:

  • Identity: Name, version, author
  • Capabilities: What the agent can do
  • Endpoints: How to interact with it
  • Pricing: How usage is billed
  • Requirements: Infrastructure needs

Manifest Standard v1.0

Full Example

# traylinx-agent.yaml
manifest_version: "1.0"

# ─────────────────────────────────────────────────────────────
# IDENTITY
# ─────────────────────────────────────────────────────────────
info:
  name: "deep-research-agent"
  display_name: "Deep Research Specialist"
  version: "1.2.0"
  description: |
    An autonomous agent that performs comprehensive web research,
    analyzes sources, and produces structured reports with citations.
  icon_url: "https://assets.traylinx.com/agents/research.png"

  author:
    name: "Traylinx Labs"
    email: "agents@traylinx.com"
    url: "https://traylinx.com"

  license: "MIT"
  homepage: "https://github.com/traylinx/deep-research-agent"

  tags:
    - research
    - analysis
    - web-scraping

# ─────────────────────────────────────────────────────────────
# CAPABILITIES (for Registry Discovery)
# ─────────────────────────────────────────────────────────────
capabilities:
  - key: domain
    value: research

  - key: op
    value: analyze
    description: "Analyze documents and web pages"

  - key: op
    value: summarize
    description: "Generate summaries from content"

  - key: input_format
    value: text

  - key: output_format
    value: markdown

# ─────────────────────────────────────────────────────────────
# ENDPOINTS
# ─────────────────────────────────────────────────────────────
endpoints:
  - path: "/a2a/research"
    method: "POST"
    description: "Start a research task"
    schema:
      input: "./schemas/research_input.json"
      output: "./schemas/research_output.json"
    timeout_seconds: 300

  - path: "/a2a/summarize"
    method: "POST"
    description: "Summarize provided content"
    schema:
      input: "./schemas/summarize_input.json"
      output: "./schemas/summarize_output.json"
    timeout_seconds: 60

  - path: "/health"
    method: "GET"
    description: "Health check"
    auth_required: false

# ─────────────────────────────────────────────────────────────
# PRICING
# ─────────────────────────────────────────────────────────────
pricing:
  model: "usage_based"  # "usage_based" | "subscription" | "free"
  currency: "CREDITS"

  rates:
    - metric: "request"
      amount: 50
      description: "50 credits per research request"

    - metric: "compute_minute"
      amount: 10
      description: "10 credits per minute of compute"

  # Optional: subscription tiers
  subscription_tiers:
    - name: "starter"
      credits_per_month: 1000
      price_usd: 9.99

    - name: "pro"
      credits_per_month: 10000
      price_usd: 49.99

# ─────────────────────────────────────────────────────────────
# INFRASTRUCTURE
# ─────────────────────────────────────────────────────────────
infrastructure:
  min_memory: "1GB"
  min_cpu: "0.5"
  network_access: true

  environment:
    - OPENAI_API_KEY    # Required
    - SERPER_API_KEY    # Optional

  dependencies:
    - external_api: "openai"
      required: true
    - external_api: "serper"
      required: false

Field Reference

info (Required)

Field Type Required Description
name string Unique identifier (lowercase, hyphens)
display_name string Human-readable name
version semver Semantic version
description string What the agent does
icon_url url 512x512 PNG icon
author object Author information
license string SPDX license identifier
tags string[] Discovery tags

capabilities (Required)

Array of key-value pairs for Registry discovery:

Key Common Values Purpose
domain research, weather, travel, ecommerce Service domain
op search, analyze, generate, translate Operation type
input_format text, json, image, audio Input types
output_format text, json, markdown, image Output types
scope public, private Data scope

endpoints (Required)

Field Type Required Description
path string URL path (use /a2a/ prefix)
method string HTTP method
description string What endpoint does
schema.input path JSON Schema for input
schema.output path JSON Schema for output
timeout_seconds int Max execution time
auth_required bool Default: true

pricing (Required for non-free agents)

Field Type Description
model enum usage_based, subscription, free
currency string Always CREDITS for Traylinx
rates array Pricing per metric
subscription_tiers array Optional subscription plans

Validation Rules

  1. name must be unique across the platform
  2. version must follow semantic versioning
  3. Endpoints must start with /a2a/ for A2A compatibility
  4. At least one capability must be defined
  5. Pricing required unless model: free

CLI Validation

# Validate manifest before publishing
$ traylinx validate

Validating traylinx-agent.yaml...
 Schema valid
 Endpoints reachable
 Pricing configured
 Ready to publish!

# Publish to Traylinx
$ traylinx publish

Comparison to Other Standards

Feature Traylinx OpenAI Plugin AGENTS.md
Format YAML JSON Markdown+YAML
Capabilities ✅ Key-value ⚠️ Limited
Pricing ✅ Built-in
Versioning ✅ Semver ⚠️
Schema Validation ✅ Pydantic
Portable ✅ File-based ❌ Hosted ✅ File-based