Portable plugins
You can install a local Agent Plugins, Claude Code, or Codex plugin package into a running WAMP engine. The package can provide conforming Agent Skills and remote MCP servers without configured headers.
Install a package
Section titled “Install a package”Pass a plugin directory or ZIP to the CLI:
wamp ext install ./my-plugin# orwamp ext install ./my-plugin.zipwamp ext statusInstall from file in Desktop accepts the same ZIP. A plugin directory is
archived under its own directory name, which supplies the name for a
manifest-less Claude layout. A WAMP project with extension.json still takes
the usual build and pack path.
Agent Plugins use a root plugin.json with the Agent Plugins 1.0.0 or 1.1.0
schema. Claude and Codex plugins use .claude-plugin/plugin.json or
.codex-plugin/plugin.json; a directory with skills/, commands/, agents/,
hooks/hooks.json, or .mcp.json also qualifies without a manifest. When both
Claude and Codex manifests exist, the Claude manifest takes precedence.
What loads
Section titled “What loads”WAMP imports conforming skills from skills/ and declared skill paths. Each
skill’s frontmatter name must match its directory. ${CLAUDE_PLUGIN_ROOT}
and ${CLAUDE_SKILL_DIR} in skill Markdown are rendered to installed paths.
Skills requiring ${CLAUDE_PLUGIN_DATA} or ${CLAUDE_PROJECT_DIR} are skipped.
Agent Plugins mcp.json and Claude/Codex .mcp.json or mcpServers can provide
header-free Streamable HTTP or SSE servers. Remote URLs must use HTTPS, except
HTTP on a loopback host. Local subprocess servers and entries with headers are
reported but do not load.
Commands, agents, hooks, LSP servers, output styles, workflows, settings,
channels, binaries, and Codex apps are also reported. wamp ext status and the
Marketplace Installed row show the skipped parts and reasons. If a package has
no conforming skill or supported MCP entry, installation is refused and lists
the reasons.
WAMP writes a generated extension.json into the installed copy. Its origin
field records the original format and name plus diagnostics. The original plugin
manifest remains in the installed copy as provenance. An update may replace an
imported plugin only when its format and original name match.