One package for reusable capabilities
A Rudder Plugin is a distribution package containing one or more Skills, MCP server definitions, or Apps. It may use the Codex Plugin folder format with a.codex-plugin/plugin.json manifest, or be deterministically generated as a
Skills-only package from a public source compatible with skills add.
Plugins organize capabilities that belong together. They do not introduce a
separate Rudder runtime: Skills still run through an Agent, MCP servers still
use Managed MCP setup and access policy, and Local Apps still launch through
their existing App runtime.
What installation does
Rudder inspects a package without executing it and shows its identity, source, digest, supported components, warnings, and errors. Installation creates an Organization-scoped snapshot. You can then assign package Skills to Agents and finish any MCP authentication or access setup. Input may be Rudder’s curated catalog, a compatible public GitHub Skills source, a folder, bounded ZIP, local Codex marketplace, or an HTTPS GitHub marketplace pinned to a full commit SHA. Curated and URL sources resolve to an immutable Release or default-branch commit before Detail appears. Marketplace installation and authentication policy is preserved as provenance. It never bypasses Rudder’s Preview or installs a Plugin silently. When a package Skill conflicts with an Organization Skill, installation pauses until the operator explicitly keeps the existing Skill, replaces it, or installs both under distinct identities. Local Apps also appear in Hub > Plugins as app-only entries. Their direct launch behavior and existing/apps/... routes remain unchanged. A new App
Builder revision becomes a pending immutable update; the current revision stays
active until the operator previews and applies it.
Choosing Customize on a package Skill creates an independent, editable
Organization Skill with package provenance. The copy is no longer controlled
by Plugin updates, disablement, or uninstall.
In composer @ search, an installed Plugin appears as one capability entry.
Rudder does not list every Skill inside that Plugin as a separate result.
Independent and customized Skills remain individually searchable.
Use a Plugin when several capabilities belong to one reusable workflow, or when
an App should be distributed as a single capability. Keep a standalone Skill
independent when users need to find, assign, and evolve it on its own.
Lifecycle and trust
Disabling a Plugin removes its package capabilities from new work without deleting external connections, App source, or App data. Re-enabling restores the previous package Skill assignments. Uninstalling removes package-owned projections while preserving user work and independently managed resources. An update is inspected before it replaces the active package. Rudder prepares the new component projections first, keeps the current version active if that preparation fails, and retains the previous immutable package for explicit rollback. The Preview compares old and new execution surfaces and requires an explicit confirmation when Skill execution or MCP access expands. An active Managed MCP connection may expose HTML UI resources. Rudder lists and opens those resources in a network-disabled sandbox;.app.json aliases never
activate this path.
Treat every imported package as untrusted input. Inspect its publisher, version,
files, credential references, unsupported fields, and compatibility report
before installation. Rudder V1 does not run Plugin workers, jobs, webhooks, UI
slots, hooks, browser extensions, scheduled-task templates, or arbitrary package
code. It also never invokes npx or a repository’s install lifecycle.
Follow Install and Manage a Plugin for the complete
workflow.