Telvine Docs

Plugin components

What Codex and Claude plugins can contain, and which signals Telvine records.

Plugins are the installed product. Skills are one executable component inside that product. Telvine stores a versioned inventory of declared components and records runtime events only where the plugin author or host can reliably emit them.

Documented component surface

ComponentCodexClaude Code / CoworkTelvine telemetry
Skillsskills/*/SKILL.mdSkills bundled in pluginsskill.* execution events; inventory
Apps / connectors.app.json app mappingsCowork connectorsplugin.component.* if the connector integration emits; inventory otherwise
MCP config.mcp.json.mcp.json; Cowork may bundle local MCP-backed connectorsplugin.component.* from a wrapper or integration; never tool arguments
Hookshooks/hooks.jsonhooks/hooks.jsonplugin.component.* from hook code; inventory
Agents / sub-agentsNot listed as a Codex plugin component in current docsagents / Cowork sub-agentsInventory; execution only when explicitly emitted
Tools, channels, model providers, memory, context engines, and harness adaptersRuntime-specific plugin surfacesRuntime-specific plugin surfacesplugin.component.* when the runtime or wrapper emits; inventory otherwise
LSP servers, monitors, executables, settingsNot listed in current Codex plugin docsClaude Code documents these componentsInventory; execution only when wrapped
Assets / UI resourcesPresentation assetsPlugin resources where packagedInventory only

Sources: Codex plugin authoring, Codex Skills, Claude Code plugins, and Claude Cowork plugins.

Register a component inventory

Create a plugin with POST /v1/plugins, then record each shipped version:

{
  "version": "1.2.0",
  "manifest_format": "codex",
  "manifest_hash": "4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a",
  "components": [
    { "component_type": "skill", "name": "close-books", "telemetry_mode": "skill_events" },
    { "component_type": "mcp_config", "name": "xero", "telemetry_mode": "component_events" },
    { "component_type": "asset", "name": "logo", "telemetry_mode": "declaration_only" }
  ]
}

telemetry_mode is one of skill_events, component_events, declaration_only, or host_unavailable. The distinction prevents a package inventory from being mistaken for observed usage.

Emit component events

Use a plugin-scoped write key for package-level events:

{
  "event_type": "plugin.component.invoked",
  "plugin_id": "plg_abc12345",
  "version": "1.2.0",
  "installation_id": "inst_xyz12345",
  "occurred_at": "2026-05-27T12:34:56.789Z",
  "idempotency_key": "01HX0000000000000000000000",
  "runtime": "codex-app",
  "properties": {
    "component_type": "mcp_config",
    "component_name": "xero",
    "operation": "configured",
    "duration_ms": 200
  }
}

Do not emit prompts, connector payloads, tool arguments, file paths, retrieved records, hook input, or generated content. For a component the host does not expose, store it in inventory with host_unavailable; do not infer usage.

On this page