Package Catalog

The catalog is Hoziron's ecosystem of reusable components — competencies, skills, workflow templates, and collections packaged for distribution. Think of it as the layer that turns one team's work into building blocks everyone can use.

Packages follow semantic versioning, support cryptographic signatures, and resolve dependencies automatically. You can consume packages from the public Hoziron registry, host your own private registry behind your firewall, or use scoped packages to partition namespaces across multiple registries.

What you'll find here

GuideDescription
Browsing and installingSearch the catalog, install packages, manage updates across your agents
Publishing packagesThe full publish flow: init, build, lint, sign, and push to a registry
Private registriesStand up your own registry, configure auth tokens, and use scoped packages
CollectionsGroup related packages into installable sets with the closure invariant

Common tasks

Key concepts

Semver resolution — Dependencies declare version constraints (^1.0, ~2.3, >=1.0, <3.0). The resolver picks the newest version satisfying all constraints across your dependency graph.

Scoped packages — The @scope/name syntax routes resolution to a specific registry, preventing name collisions between your internal packages and the public catalog.

Lockfilepackages.lock records exact resolved versions so every environment gets identical dependencies.

Package anatomy

Every package contains a MANIFEST.toml that declares its name, version, type, dependencies, and compatibility constraints. The manifest is what the resolver reads during installation — it's the contract between a package author and the catalog.

my-competency/
├── MANIFEST.toml       # Name, version, dependencies, type
├── COMPETENCY.toml     # (for competency packages) behavior definition
├── prompts/            # System prompts and templates
└── tools/              # Tool schemas