Skip to content

Manifest Format ​

The agentverse.toml manifest file describes your artifact to the registry. It is used by agentverse publish to create or update artifacts.

Full Example ​

toml
# agentverse.toml

# ── Package identity ─────────────────────────────────────────────────────────
[package]
kind        = "skill"           # skill | agent | workflow | soul | prompt
namespace   = "myorg"           # your username or org name
name        = "code-linter"     # unique within kind+namespace
description = "A Python code linter skill with AST-based analysis"

# ── Capabilities ─────────────────────────────────────────────────────────────
[capabilities]
input_modalities  = ["text", "json"]
output_modalities = ["text", "json"]
protocols         = ["mcp", "openai-function"]
permissions       = ["network:read", "fs:read"]
max_tokens        = 4096

# ── Dependencies ─────────────────────────────────────────────────────────────
[dependencies]
"python-tools/ast-parser" = ">=1.0.0"
"myorg/base-linter"       = "^2.1.0"

# ── Metadata ─────────────────────────────────────────────────────────────────
[metadata]
tags     = ["python", "linting", "ast", "automation"]
homepage = "https://github.com/myorg/code-linter"
license  = "MIT"

Section Reference ​

[package] ​

KeyTypeRequiredDescription
kindstring✅Artifact type: skill, agent, workflow, soul, or prompt
namespacestring✅Owner namespace (your username or org)
namestring✅Artifact name (lowercase, hyphens, alphanumeric)
descriptionstring—Short description (shown in search results)

[capabilities] ​

Stored in the manifest and used for capability-based discovery.

KeyTypeDescription
input_modalitiesstring[]Accepted input types: text, json, image, audio, file
output_modalitiesstring[]Produced output types
protocolsstring[]Supported protocols: mcp, openai-function, a2a, etc.
permissionsstring[]Required permissions: network:read, fs:read, fs:write, etc.
max_tokensintegerMaximum token context size

[dependencies] ​

Declare other AgentVerse artifacts this artifact depends on.

toml
[dependencies]
"python-tools/ast-parser" = ">=1.0.0, <2.0.0"
"myorg/base-skill"        = "^1.2.0"

Version constraint syntax follows SemVer ranges.

[metadata] ​

KeyTypeDescription
tagsstring[]Searchable tags
homepagestringURL to project homepage or GitHub repo
licensestringSPDX license identifier (e.g. MIT, Apache-2.0)

Artifact Kinds ​

KindUse Case
skillReusable tool or capability (code-review, web-scrape, etc.)
agentAutonomous AI agent with a defined persona
workflowMulti-step orchestration pipeline or DAG
soulPersonality / persona configuration for an agent
promptOptimized prompt template or chain-of-thought

Content File ​

Alongside agentverse.toml, you can provide content.json with the actual artifact content (prompt text, agent config, workflow DAG, etc.):

json
{
  "schema_version": "1.0",
  "system_prompt": "You are a Python code linter...",
  "config": {
    "rules": ["E501", "F401"],
    "max_line_length": 88
  }
}

The CLI automatically reads content.json from the same directory as the manifest.

OpenClaw Extension ​

AgentVerse supports the OpenClaw metadata standard for richer skill descriptions. Include it under [metadata.openclaw]:

toml
[metadata]
tags     = ["python", "linting"]
homepage = "https://github.com/myorg/code-linter"
license  = "MIT"

[metadata.openclaw]
name        = "Python Code Linter"
description = "A Python code linter with AST-based analysis"
version     = "1.0.0"
author      = "myorg"

  [[metadata.openclaw.commands]]
  name        = "lint"
  description = "Lint Python source files"

    [[metadata.openclaw.commands.arguments]]
    name        = "files"
    description = "List of Python files to lint"
    required    = true

  [[metadata.openclaw.commands]]
  name        = "check"
  description = "Check a single file and return diagnostics"

Skills published with OpenClaw metadata are automatically compatible with the ClawHub skill registry and AI agent tools that use the OpenClaw standard.

Version Bumping ​

The --bump flag or default_bump server config controls versioning:

BumpBeforeAfter
patch1.2.01.2.1
minor1.2.01.3.0
major1.2.02.0.0

The first publish always starts at 0.1.0.

Validation Rules ​

FieldConstraint
kindMust be one of: skill, agent, workflow, soul, prompt
namespaceLowercase alphanumeric + hyphens; must match your username/org
nameLowercase alphanumeric + hyphens; unique within kind + namespace
protocolsSupported: mcp, openai-function, a2a, langchain
permissionsSupported: network:read, network:write, fs:read, fs:write

Released under the MIT License.