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
| Type | Contains | Use case |
|---|---|---|
tool | Single tool implementation | Script (Python/WASM/Node/Shell) |
skill | Tool bundle + config | Multi-tool skill package |
competency | COMPETENCY.toml + prompts + knowledge | Agent behavior definition |
agent-template | Full agent config | Pre-configured agent |
workflow-template | Workflow JSON + agent refs | Multi-agent pipeline |
integration | MCP server implementation | External service connector |
Validation rules
| Field | Rule |
|---|---|
name | Lowercase, digits, hyphens. No leading/trailing/consecutive hyphens. 3–64 chars |
version | Valid semver (MAJOR.MINOR.PATCH, optional pre-release) |
description | Non-empty, ≤500 characters |
license | Non-empty SPDX identifier |
dependencies | Each must be a valid semver range |
standards.openapi_spec | Only valid for tool, skill, integration types |
standards.mcp_compatible | Only valid for tool, skill, integration types |
Semver constraint syntax
| Syntax | Meaning | Example |
|---|---|---|
* | Any version | Matches everything |
^1.2.3 | Compatible updates | >=1.2.3, <2.0.0 |
~1.2.3 | Patch-level only | >=1.2.3, <1.3.0 |
=1.2.3 | Exact match | Only 1.2.3 |
>=1.0.0, <2.0.0 | Range | Compound constraint |
COMPETENCY.toml
See the competency authoring guide for full field reference.
Key fields
| Field | Type | Required |
|---|---|---|
id | string | Yes |
name | string | Yes |
description | string | Yes |
category | enum | Yes |
required_skills | string[] | Yes (at least 1) |
[agent].name | string | Yes |
[agent].system_prompt | string | Yes |
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: