Skip to main content

Registry Resource Types & Source Types

RegistryResourceType (the type field)

SKILL · HOOK · PLUGIN · MCP · KNOWLEDGE · PROMPT · PERMISSION_PRESET · MEMORY_POLICY

Uniqueness is (organization, type, resourceKey) — the same key can be reused across different types.

RegistrySourceType (the sourceType field on publish)

ValueContent-backed?Meaning
INLINEYou paste the content directly. Default when sourceType is omitted.
UPLOADA packaged bundle (e.g. an entire plugin folder) sent as the content string.
GIT_BACKEDContent tracked in Git, synced in.
CATALOG_PACKAGEA vendored package.
EXTERNAL_REFERENCEA pointer to a vendor-hosted service — no content, metadata only.
CLAUDE_MARKETPLACEA reference to a plugin on a Claude Code marketplace. The worker resolves or installs the selected version when package installation is enabled; otherwise it must already be available.
AGENT_SKILLSA pointer to a skill in a real GitHub repo. Only valid for type: SKILL.
BUILT_IN_PROVIDERA capability the Runtime Provider itself already has natively.
PLATFORM_MANAGEDA platform-owned policy (e.g. secret redaction), not user content.
PACKAGE_INSTALLERAn install command run on the worker rather than static content.

"Content-backed" (✅) means content is required and gets uploaded to object storage as the version's payload — you'll get a 400 if you omit it. Not content-backed (❌) means metadata is required instead — omitting that is the 400 you'll get.

Metadata envelope (compatibility)

Every publish gets normalized into a schemaVersion: "agentmesh.registry/v2" envelope with a compatibility block:

{
"schemaVersion": "agentmesh.registry/v2",
"sourceType": "...",
"compatibility": {
"mode": "PORTABLE" | "NATIVE",
"adapterKeys": ["claude-code"],
"requiredFeatures": ["hooks"]
}
}

Default mode by type: HOOK/PLUGIN (and anything BUILT_IN_PROVIDER) default to NATIVE; everything else defaults to PORTABLE. Native resources must identify a compatible adapter. Legacy HOOK and PLUGIN metadata without adapterKeys falls back to claude-code; other native resources may be rejected when no adapter can be derived. requiredFeatures defaults by type: SKILLskills, HOOKhooks, PLUGINplugins, MCPmcp.

Adapter/feature identifiers are canonicalized to lowercase and must match [a-z0-9][a-z0-9._-]{0,119}claude/claude-cli both canonicalize to claude-code.

Referencing a resource from an Agent Profile

The ref format is resourceKey@version or resourceKey@latest. At dispatch time AgentMesh resolves the selected version and checks its provider compatibility:

  • A missing, wrong-version, or incompatible resource fails dispatch when its binding has required: true.
  • A missing, wrong-version, or incompatible optional resource is skipped.
  • A registered but inactive resource fails dispatch; deactivate or remove its binding before running the profile.

Required-resource failures return 409 CONFLICT before a workspace is provisioned.