Manifest Schemas

Reference for MANIFEST.toml, COMPETENCY.toml, and COLLECTION.toml file formats.

MANIFEST.toml (Package Metadata)

[package]
type = "competency"                    # tool | skill | competency | agent-template | workflow-template | integration
name = "claims-intake"                 # kebab-case, 3-64 chars
version = "1.2.0"                      # semver 2.0
description = "FNOL processing"        # ≤500 chars
license = "MIT"                        # SPDX identifier
min_platform_version = "0.5.0"         # minimum Hoziron version

[package.author]
name = "Insurance Corp"
email = "platform@company.com"         # optional
url = "https://company.com"            # optional

[package.metadata]
repository = "https://github.com/..."  # optional, must be http(s)
homepage = "https://..."               # optional
keywords = ["insurance", "claims"]     # max 20, each ≤50 chars
categories = ["insurance/claims"]      # taxonomy paths
regions = ["us", "uk"]                 # deployment regions (empty = all)

[dependencies]
document-ocr = "^1.0"                  # semver constraint
postgresql-connector = ">=2.0.0, <3.0.0"

[optional-dependencies]
email-skill = "^1.2"

[peer-dependencies]
guidewire-claimcenter = "^3.0"         # must be installed separately

[standards]
mcp_compatible = true                  # exposes MCP tool interface
openapi_spec = "payload/openapi.yaml"  # only for tool/skill/integration

[signing]
publisher_key = "ed25519:mK3xR7..."    # populated by `package sign`
content_hash = "sha256:a1b2c3d4..."    # populated by `package build`

Package types

TypeContainsUse case
toolSingle tool implementationScript (Python/WASM/Node/Shell)
skillTool bundle + configMulti-tool skill package
competencyCOMPETENCY.toml + prompts + knowledgeAgent behavior definition
agent-templateFull agent configPre-configured agent
workflow-templateWorkflow JSON + agent refsMulti-agent pipeline
integrationMCP server implementationExternal service connector

Validation rules

FieldRule
nameLowercase, digits, hyphens. No leading/trailing/consecutive hyphens. 3–64 chars
versionValid semver (MAJOR.MINOR.PATCH, optional pre-release)
descriptionNon-empty, ≤500 characters
licenseNon-empty SPDX identifier
dependenciesEach must be a valid semver range
standards.openapi_specOnly valid for tool, skill, integration types
standards.mcp_compatibleOnly valid for tool, skill, integration types

Semver constraint syntax

SyntaxMeaningExample
*Any versionMatches everything
^1.2.3Compatible updates>=1.2.3, <2.0.0
~1.2.3Patch-level only>=1.2.3, <1.3.0
=1.2.3Exact matchOnly 1.2.3
>=1.0.0, <2.0.0RangeCompound constraint

COMPETENCY.toml

See the competency authoring guide for full field reference.

Key fields

FieldTypeRequired
idstringYes
namestringYes
descriptionstringYes
categoryenumYes
required_skillsstring[]Yes (at least 1)
[agent].namestringYes
[agent].system_promptstringYes

Valid categories

Insurance, Security, Productivity, Development, Communication, Data, Finance, Research, Operations, Other

COLLECTION.toml

name = "insurance-starter"
display_name = "Insurance Starter Kit"
description = "Everything needed to start processing claims"
version = "1.0.0"
license = "MIT"
featured = true
tags = ["insurance", "claims", "starter"]
icon = "shield-check"

[author]
name = "Hoziron Team"

[[packages]]
name = "claims-intake"
version = "1.2.0"
package_type = "competency"
is_dependency = false

Closure invariant

A collection must include ALL transitive dependencies. Installing a collection never requires fetching packages from outside it.


Related: