One-Line Summary: A harness plugin is a packaged directory of extensions (sub-agents, hooks, slash commands, skills, MCP servers) that can be installed into a harness as a unit; a marketplace is the discovery layer that turns plugins into a distributed ecosystem — ruflo's marketplace and Claude Code's plugin system are the reference implementations in 2026.

Prerequisites: Sub-agents as primitives, hooks and lifecycle events, slash commands, settings and configuration files

What Is a Plugin? What Is a Marketplace?

A plugin is the unit of redistributable harness extension. Concretely, a plugin is a directory that follows a known layout — typically .claude-plugin/plugin.json (or equivalent manifest) plus subdirectories for agents/, commands/, hooks/, skills/, and possibly an MCP server. Installing a plugin amounts to dropping its directory in the right place and the harness picking up its extensions on next startup.

A marketplace is a registry of plugins with discovery (search, categories), versioning, ratings, and an install command. Ruflo runs a marketplace at ruvnet.github.io/ruflo with 32 native plugins plus 21 npm-distributed ones. Claude Code supports installing from any marketplace via /plugin marketplace add <repo> — a deliberately decentralized model.

How They Work

In Claude Code's model, a plugin is structured as:

my-plugin/
├── .claude-plugin/
│   └── plugin.json         # Manifest: name, version, what it provides
├── agents/                 # Sub-agent definitions
├── commands/               # Slash commands
├── hooks/                  # Hook scripts
├── skills/                 # Skill bundles
├── mcp/                    # Optional bundled MCP servers
└── README.md

The user installs via /plugin install <name>@<marketplace>. The harness clones the plugin into .claude/plugins/<name>/ and merges its extensions into the active set. Updates pull a new version; uninstalls remove the directory.

Marketplace plugins are usually git repositories. Versioning is git tags. A ruflo-core@0.7.2 install resolves to "checkout tag v0.7.2 of the ruflo-core plugin from the registered marketplace." The simplicity is deliberate — it means plugins do not need a centralized registry server, and a private marketplace is just a private git repo.

Why It Matters

Plugins are the path from "I built a useful agent extension" to "anyone can use it without copying files by hand." That path being short is what made ruflo's ecosystem grow. Plugins also make harness configurations modular: a team can install ruflo-security-audit and inherit a security-review pipeline without authoring it; another team installs ruflo-sparc and inherits a methodology.

The second-order effect is that the plugin format becomes a de facto standard for sharing agent patterns. Reading plugin source is now the fastest way to learn how someone else solved a problem — better than blog posts, more complete than gists.

Key Technical Details

  • Plugin manifests declare what they provide: agents, hooks, skills, commands, MCP servers. The harness uses this to render a UI ("This plugin will install 3 sub-agents and 2 hooks") and to refuse to install if a name conflict would silently overwrite.
  • Permissions are inherited from the harness: A plugin's hooks run with the user's privileges. Treating plugin install as analogous to npm install (with comparable supply-chain risk) is the right mental model.
  • Plugins can depend on other plugins: Ruflo's ruflo-loop-workers depends on ruflo-core. Dependency resolution is shallow but real.
  • Versioning is git-tag driven in Claude Code's model; semver convention is recommended but not enforced.
  • Cross-harness portability is partial: An MCP server inside a plugin is portable; a slash command file is mostly portable; hooks may need to be retargeted.
  • Marketplaces can be private: A team can run a private marketplace by pointing /plugin marketplace add at an internal git host.

How Harnesses & Frameworks Implement This

Harness / FrameworkPlugin systemMarketplace
Claude CodeNative, decentralizedAdd any git repo as a marketplace
Claude Agent SDKCode-level, no marketplaceN/A
rufloNative, marketplace-drivenruvnet.github.io/ruflo (32 native + 21 npm)
LangGraphnpm packagesnpm
AutoGennpm/PyPIPyPI
CrewAIPyPIPyPI
OpenAI Agents SDKnpm/PyPInpm/PyPI
Codex CLILimitedLimited
CursorVS Code-style extensions (limited agent surface)Cursor / VS Code marketplace

Connections to Other Concepts

  • sub-agents-as-primitives.md, slash-commands.md, hooks-and-lifecycle-events.md, skills-vs-tools.md — Each plugin component, expanded.
  • mcp-as-the-universal-tool-bus.md — MCP servers are often distributed as plugins.
  • agent-definitions-and-personas.md — Sub-agents bundled in plugins.
  • permission-and-tool-scoping-primitives.md — Plugin install as a supply-chain decision.

Further Reading

  • ruvnet, ruflo Plugin Marketplace — Browse and install plugins; reading their source is excellent learning.
  • Anthropic, Claude Code Plugins documentation.