You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
P2 feature expansion. Research date 2026-09-06; Agent Bundle baseline 5fc8de37c9695b816d55bdcf18a6bcb1dfee69f5. Official OpenClaw documents read; no gateway, plugin install or native invocation was executed.
Correction to the initial Ponytail-based classification: OpenClaw is not limited to ClawHub skills. Current docs describe native in-process plugins and compatible Agent Plugins/Codex/Claude/Cursor bundles. These have materially different capabilities and trust boundaries; one host issue should name the tiers explicitly.
Pin actual host/parser/SDK versions before implementation. A compatibility badge or successful manifest parse is not proof that every declared hook executes.
Tier A: prove existing composite/portable output
Compatible bundles use their own manifests, not openclaw.plugin.json. Current docs map skills and supported MCP tools; some Claude/Cursor commands become skills. In contrast, Claude hooks/hooks.json automation and several agent/rule/output-style components are detected but not executed. Native OpenClaw hook packs require OpenClaw's own HOOK.md plus JS/TS handler layout.
Proposed first acceptance artifact:
composite-root/
plugin.json
mcp.json # only when a server is declared
skills/review/SKILL.md
mcp/example.mjs
Inspect the detected format and effective capabilities. Verify the gateway restart/session boundary rather than promising automatic live adoption. Test all candidate manifests present in a composite and determine which wins; never infer that OpenClaw simultaneously combines their semantics.
Tier B: native plugin only where required
A native plugin's root openclaw.plugin.json is inspected before executable code is loaded. It declares identity/configuration metadata; runtime entry points and registration belong to the documented package/SDK contract, not arbitrary executable properties added to the manifest.
Only add a compiled native entry when the application needs native-only callbacks/tools. Reuse canonical schemas and operation functions, but verify host-provided SDK imports and callback/result semantics. Do not bundle an entire OpenClaw runtime into every plugin, loosen standalone external policy globally, or execute native registration just to inspect metadata.
Native static MCP declarations can reuse canonical executable records. In operator configuration the documented shape is mcp.servers, and transport selection is explicit:
Bundled/native manifest MCP configuration and operator config are distinct layers. User overrides and tool policy remain authoritative. For remote endpoints explicitly choose the supported transport; a bare URL must not accidentally select a different legacy transport. Credentials stay in native secret/environment mechanisms.
Tier C: ClawHub skill distribution
A skill contains SKILL.md and supporting files. The host handles discovery, gating and activation. Ponytail generates separate skill packages for ClawHub; that does not prove a single composite npm tarball automatically publishes a skill collection there.
Keep skill publication optional and explicit. Validate the current ClawHub CLI/schema before emitting publish instructions, preserve package provenance/version, and never publish or overwrite a skill as part of an ordinary Agent Bundle build. A content-only package must start no native plugin runtime.
Composite / security requirements
Represent supported versus detected-but-ignored components in inspection. A Claude hook process must not be claimed to work merely because the bundle is accepted.
Preserve PLUGIN_ROOT/PLUGIN_DATA separation and native path containment. Do not write to installed code or purge unrelated gateway data.
Namespaced/sanitized MCP names can collide or be truncated. Test native names against canonical operation IDs and expose the mapping without creating duplicate operations.
Native plugins execute trusted code; compatible bundles can still launch MCP processes. Manifest/config validation and gateway enablement do not grant arbitrary tool approvals.
Pin host version, detected manifest precedence and supported bundle subset.
Skills-only artifact loads with no synthetic MCP, Flight, SQLite or native SDK entry.
Existing portable MCP artifact installs from directory and actual archive, then completes a tool call without the source checkout.
Unsupported foreign hooks/agents/rules are diagnosed as unsupported/detected-only, never silently advertised as runnable.
Native-only fixture registers exactly the declared functionality, with correct callback cancellation/error/lifetime semantics.
Config overrides, disabled plugins, permission gates and remote transport choices remain native-authoritative.
Test canonical operation naming versus native sanitization collisions.
Verify restart/update/remove and receipt-owned cleanup preserve user data and unrelated configuration.
Test reversed composite target ordering and forbidden foreign discovery.
Capture native successful execution separately from static inspection and ClawHub publication validation.
No gateway deployment, model/provider orchestration, new messaging channels, memory engine, unrestricted native UI, or automatic external publishing is required.
Scope / research status
P2 feature expansion. Research date 2026-09-06; Agent Bundle baseline
5fc8de37c9695b816d55bdcf18a6bcb1dfee69f5. Official OpenClaw documents read; no gateway, plugin install or native invocation was executed.Correction to the initial Ponytail-based classification: OpenClaw is not limited to ClawHub skills. Current docs describe native in-process plugins and compatible Agent Plugins/Codex/Claude/Cursor bundles. These have materially different capabilities and trust boundaries; one host issue should name the tiers explicitly.
Authoritative references
Pin actual host/parser/SDK versions before implementation. A compatibility badge or successful manifest parse is not proof that every declared hook executes.
Tier A: prove existing composite/portable output
Compatible bundles use their own manifests, not
openclaw.plugin.json. Current docs map skills and supported MCP tools; some Claude/Cursor commands become skills. In contrast, Claudehooks/hooks.jsonautomation and several agent/rule/output-style components are detected but not executed. Native OpenClaw hook packs require OpenClaw's ownHOOK.mdplus JS/TS handler layout.Proposed first acceptance artifact:
Inspect the detected format and effective capabilities. Verify the gateway restart/session boundary rather than promising automatic live adoption. Test all candidate manifests present in a composite and determine which wins; never infer that OpenClaw simultaneously combines their semantics.
Tier B: native plugin only where required
A native plugin's root
openclaw.plugin.jsonis inspected before executable code is loaded. It declares identity/configuration metadata; runtime entry points and registration belong to the documented package/SDK contract, not arbitrary executable properties added to the manifest.Illustrative minimal manifest:
{ "id": "example-plugin", "configSchema": {"type":"object","additionalProperties":false,"properties":{}}, "skills": ["./skills"] }Only add a compiled native entry when the application needs native-only callbacks/tools. Reuse canonical schemas and operation functions, but verify host-provided SDK imports and callback/result semantics. Do not bundle an entire OpenClaw runtime into every plugin, loosen standalone external policy globally, or execute native registration just to inspect metadata.
Native static MCP declarations can reuse canonical executable records. In operator configuration the documented shape is
mcp.servers, and transport selection is explicit:{ "mcp": { "servers": { "example": { "command": "node", "args": ["/absolute/installed-plugin/mcp/example.mjs"] } } } }Bundled/native manifest MCP configuration and operator config are distinct layers. User overrides and tool policy remain authoritative. For remote endpoints explicitly choose the supported transport; a bare URL must not accidentally select a different legacy transport. Credentials stay in native secret/environment mechanisms.
Tier C: ClawHub skill distribution
A skill contains
SKILL.mdand supporting files. The host handles discovery, gating and activation. Ponytail generates separate skill packages for ClawHub; that does not prove a single composite npm tarball automatically publishes a skill collection there.Keep skill publication optional and explicit. Validate the current ClawHub CLI/schema before emitting publish instructions, preserve package provenance/version, and never publish or overwrite a skill as part of an ordinary Agent Bundle build. A content-only package must start no native plugin runtime.
Composite / security requirements
PLUGIN_ROOT/PLUGIN_DATAseparation and native path containment. Do not write to installed code or purge unrelated gateway data.Acceptance
No gateway deployment, model/provider orchestration, new messaging channels, memory engine, unrestricted native UI, or automatic external publishing is required.