Skip to content
中文

Extensions

Extensions are the add-ons your agents use. HarnessKit lists every agent’s extensions in one table, where you switch each one on or off, install it on another agent, or delete it.

Filtering by kind, source and name, then installing a skill on another agent from its detail panel.
  • Skill. A folder with a SKILL.md file, or a single Markdown file, holding instructions the agent loads when a task needs them.
  • MCP server. A program the agent starts, or a URL it connects to, that gives the agent more tools. It is an entry in the agent’s config file.
  • Plugin. A package in one agent’s own plugin format. It can carry skills, commands, hooks or servers, and it works only in that agent.
  • Hook. A shell command the agent runs on an event, such as before a tool call.
  • CLI. A command-line tool on your computer that skills call. HarnessKit lists it with the skills and MCP servers that came with it.

Skills, MCP servers, hooks and CLIs can be installed on another agent. For a CLI, HarnessKit installs the skills and MCP servers that came with it, not the tool itself. Plugins stay with their agent.

AgentSkillsMCP serversPluginsHooksCLIs
Claude Code✓✓✓✓✓
Codex✓✓✓✓✓
Gemini CLI✓✓✓✓✓
Cursor✓✓✓✓✓
Antigravity✓✓——✓
Copilot✓✓✓✓✓
Devin Desktop✓✓—✓✓
OpenCode✓✓✓—✓
Hermes✓✓✓✓✓
Kiro✓✓—✓✓
Oh My Pi✓✓✓—✓
DeepSeek Harness✓✓✓—✓
Grok Build✓✓✓✓✓
Qoder CN✓✓✓✓✓
OpenClaw✓✓——✓
PenguinHarness✓————
Pi✓✓✓—✓

A dash (—) means HarnessKit does not manage this extension type for the agent yet.

Each row is one extension. The same skill on three agents is one row, and so is the same MCP server in Global and in a project. Install New, at the top, opens the Marketplace.

  • Filter. Pick a kind, an agent in All Agents, or a source in All Sources. Extensions from the same repository form a pack, and each pack is a source.
  • Search. The search box matches names and descriptions.
  • Hide built-in. This button appears only when DeepSeek Harness’s built-in extensions are present, and hides them.
  • Sort. Click a column header to sort by it. The Permissions column doesn’t sort.
  • Audit. This column shows the trust score, or -- if the extension hasn’t been audited yet. See Security audit.

Click a row to open its panel.

  • Header. The kind and, once the extension has been audited, its trust score and View Audit, which opens the Audit page at this extension. Update appears when an update is available.
  • Status and source. Enabled or Disabled switches the extension. Next to it is the source repository, or + Bind source.
  • Info, Agents and Paths. When it was installed, its scopes, the agents that have it in the current scope, and where each copy is on disk.
  • Install to Agent. See Install to another agent.
  • Permissions. What HarnessKit found the extension can reach.
  • CLI Details and Associated Extensions. For a CLI: its binary, version, install method and credentials file, then the skills and MCP servers that came with it.
  • Configuration. For an MCP server: its command and arguments, or its URL if it is remote. Environment variable and header values show as ****.
  • Documentation. For a skill or plugin: its files, each with a preview.
  • Delete… See Delete.

Use the Status column, the panel’s Enabled button, or several rows at once. From the column or the panel, a toast says the change takes effect in new sessions.

The switch acts on the whole row: every agent and every scope the row covers. MCP servers are grouped by name and hooks by their command, not by scope. So disabling an MCP server while you look at a project also disables the same-named server in Global and on every agent. Copies of a skill that share a source are one row across scopes too.

What changes on disk depends on the kind:

  • Skills. SKILL.md becomes SKILL.md.disabled, and a single-file skill, <name>.md, becomes <name>.md.disabled. On Hermes, HarnessKit adds the skill to skills.disabled in ~/.hermes/config.yaml instead.
  • MCP servers. Hermes, OpenClaw, Kiro, Oh My Pi, Pi, Grok Build and DeepSeek Harness have their own switch, which HarnessKit flips. Elsewhere, HarnessKit removes the entry from the config file and keeps a snapshot in its database, secrets included, to write back when you enable it.
  • Hooks. Grok Build and Kiro have their own switch. Elsewhere, hooks get the same snapshot as MCP servers.
  • Plugins. Claude Code, Codex, Gemini CLI, Hermes, Grok Build, DeepSeek Harness and Copilot’s VS Code plugins use the agent’s own plugin setting. Elsewhere, HarnessKit adds .disabled to the name of the plugin’s plugin.json, or of the plugin file itself.
  • CLIs. HarnessKit records a CLI’s state in its database, and switches the skills and MCP servers that came with it too.
Switching each kind off and on, installing extensions on more agents, and deleting a CLI.

Install to Agent in the detail panel lists your detected, enabled agents. An agent that already has the extension in the target scope shows a check mark. Click another agent to install it there.

  • Install to scope picks where the copy goes. It starts on the current scope. In All scopes you have to pick one first.
  • An agent that can’t take the extension is greyed out with (N/A). Hover over it to see why, for example that it has no hooks, can’t take this kind in a project, or can’t connect to this kind of remote MCP server.
  • For a skill on Hermes, you pick a skill category first, or add one with + New.
  • If the agent already has an extension of the same name in that scope, HarnessKit skips it and says there is nothing to install. To replace that copy, use Overwrite existing copies under Select several.

When it works, a toast says the install takes effect in new sessions.

Tick the boxes at the start of the rows, or the box in the header row to tick every row shown. A bar appears with Enable, Disable and Install to agents. Enable and Disable switch every selected row.

Install to agents sends every selected extension to every agent you tick:

  1. Check Install to scope. It starts on the current scope, and in All scopes you pick one.
  2. Tick agents under Target agents. None are ticked to start with.
  3. Tick Overwrite existing copies to replace copies agents already have. Without it, those are skipped.
  4. Click Install. Stop lets the install in progress finish, and the rest don’t run.

The summary lists what failed, with the error, and how many were skipped or not run. Click the skipped count to see each reason, such as already installed, agent-specific for a plugin, or not supported at this scope. Skills sent to Hermes go into its first skill category in alphabetical order, or local if it has none.

Click Delete… at the bottom of the detail panel.

  • Pick copies. For a skill, each folder on disk is one item, labelled with the agents that read it. A folder several agents read is marked shared, and deleting it removes the skill for all of them. For an MCP server, hook or plugin, each agent’s copy is one item. When there are several items, pick some, or All Items. The list shows the current scope, and All scopes shows every scope.
  • Symlinks. If an item is a symlink, the dialog shows where it points, with a warning. If other agents have symlinks to the item, it warns that those will stop working.
  • CLIs. Deleting a CLI uninstalls it. HarnessKit removes the skills and MCP servers that came with it and deletes the binary file, without running a package manager. The dialog lists both first.
  • Built-in plugins. DeepSeek Harness’s built-in plugins can be disabled but not deleted, so their Delete… button is greyed out.

You delete one extension at a time. The bar for selected rows has no delete.

Check Updates looks for new versions of skills that have a source: skills installed from Git or the Marketplace, or bound to a repository. It checks every scope. Other kinds aren’t checked. When updates are found, Update All (N) installs them all, and Update in a detail panel installs one.

  • No source. To include a skill you added yourself, open its panel, click + Bind source and enter owner/repo or a GitHub URL. The next Check Updates includes it.
  • skills CLI. A skill that the third-party skills CLI installed is updated through that CLI, so the CLI’s lockfile stays in step.

This checks extensions. To update HarnessKit itself, see Settings.