> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinework.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Install a plugin

> You install a plugin from a marketplace on the Customize page or with pinework plugin install, and you change a plugin's skill by installing your own copy and turning the original off.

A **plugin** is one install that bundles skills, MCP servers, commands and hooks from a single source. A **marketplace** is a git repo that publishes an index of plugins. This guide installs a plugin from a marketplace, then forks one of its parts so you can change it.

## Before you start

* You can sign in to the Pinework dashboard.
* For the CLI tab, you have run `pinework login`.
* A signed-in person installs a plugin or adds a marketplace. When an agent in a run tries, Pinework raises an approval instead. The change applies after you approve it.

## Install a plugin from a marketplace

Every workspace starts with two built-in marketplaces. `claude-plugins-official` shows as **Anthropic official plugins**. `cursor-plugins` shows as **Cursor official plugins**.

<Tabs>
  <Tab title="Dashboard">
    <Steps>
      <Step title="Open the catalog">
        Click **Customize** in the sidebar. On the **Plugins** tab, click **Add plugin**. The **Add a plugin** page opens on **Anthropic official plugins**.
      </Step>

      <Step title="Add another marketplace (optional)">
        Click **Marketplaces**. Paste the repo URL, such as `https://github.com/owner/repo`, and click **Add**. You see an "Added" toast with the number of plugins it offers. Pick it in the marketplace picker.
      </Step>

      <Step title="Pick a plugin">
        Search with **Search the catalog** or filter by category. Click a plugin card. The dialog lists what it bundles.
      </Step>

      <Step title="Install it">
        Click **Install** followed by the plugin's name. You see an "Installed" toast. Sometimes you see "Installing" first, and the plugin appears shortly after.
      </Step>

      <Step title="Check it">
        Click **Done**. The plugin now appears on the **Plugins** tab of **Customize**.
      </Step>
    </Steps>

    You can also paste an install command into the box under the tabs on the **Plugins** tab. It accepts commands such as `claude plugin install <plugin>@<marketplace>` or a plugin's GitHub link. Click **Install**, check the summary, then click **Install** again.
  </Tab>

  <Tab title="CLI">
    <Steps>
      <Step title="Add another marketplace (optional)">
        ```bash theme={null}
        pinework marketplace add https://github.com/owner/repo
        ```

        The marketplace's name comes from its index, not the repo name. List them with `pinework marketplace list`.
      </Step>

      <Step title="See what it offers">
        ```bash theme={null}
        pinework marketplace plugins claude-plugins-official
        ```

        The output lists each plugin. It also lists entries Pinework will not install, with the reason.
      </Step>

      <Step title="Install the plugin">
        ```bash theme={null}
        pinework plugin install --marketplace claude-plugins-official --plugin <plugin-name>
        ```

        The command prints the result as JSON.
      </Step>

      <Step title="Check it">
        ```bash theme={null}
        pinework plugin list --q <plugin-name>
        pinework plugin get <plugin-id>
        ```

        The output shows the plugin's source, author and how many parts of each kind it installed.
      </Step>
    </Steps>
  </Tab>
</Tabs>

## What the install turns on

* The plugin's skills are on for every agent in the workspace.
* Its MCP servers arrive switched off. To turn one on, open its **More actions** menu on the **MCP Servers** tab and click **Enable**.
* Its hooks do not run. The plugin's detail lists them, with no way to turn them on.
* Installing a plugin again from its marketplace updates it in place. Pasting the same GitHub link again fails, because the plugin already exists.
* To switch the whole plugin off, open its **More actions** menu on the **Plugins** tab and click **Disable**. In the CLI, run `pinework plugin update <plugin-id> --enabled false`.

## Fork a part to change it

The parts a plugin installs are read-only. Pinework refuses edits to a plugin's skill, MCP server or command. To change one, install your own copy and turn the original off. These steps fork a skill.

<Tabs>
  <Tab title="Dashboard">
    <Steps>
      <Step title="Copy the skill's source">
        Fork or copy the plugin's source repo into a public GitHub repo you control. Edit the skill's `SKILL.md` there.
      </Step>

      <Step title="Install your copy">
        In **Customize**, open the **Skills** tab. Paste an `npx skills` command into the box under the tabs, then click **Install**.

        ```bash theme={null}
        npx skills add your-org/your-repo --skill <skill-name>
        ```

        Check the summary and click **Install** again. You see a toast such as "Installed 1 skill from your-org/your-repo".
      </Step>

      <Step title="Turn the original off">
        On the **Skills** tab, find the plugin's version of the skill. Open its **More actions** menu and click **Disable**.
      </Step>
    </Steps>
  </Tab>

  <Tab title="CLI">
    <Steps>
      <Step title="Find the plugin's skill">
        ```bash theme={null}
        pinework skill list --plugin <plugin-id>
        ```

        Note the skill's id and slug.
      </Step>

      <Step title="Install your copy">
        Fork or copy the plugin's source into a public GitHub repo you control, and edit the skill. Then install it.

        ```bash theme={null}
        pinework skill add your-org/your-repo --skill <skill-name>
        ```

        Pinework looks for `SKILL.md` at the repo root and in `skills/`, `.agents/skills/` and `.claude/skills/`. Pass `--subdir <path>` if the skill lives elsewhere.
      </Step>

      <Step title="Turn the original off">
        ```bash theme={null}
        pinework skill update <plugin-skill-id> --enabled-by-default false
        ```
      </Step>
    </Steps>
  </Tab>
</Tabs>

Your copy does not belong to the plugin. Refreshing the plugin updates its own parts and leaves your copy alone. The original stays off after a refresh. Uninstalling the plugin removes the original but keeps your copy.

To fork an MCP server, add your own server and switch off the plugin's one. See [Add an MCP server](/guides/add-an-mcp-server).

## Troubleshooting

**The catalog says some entries "can't be installed".** Click the note to expand it. Each entry shows the reason Pinework skips it.

**Adding a marketplace fails with "No marketplace index found in".** The repo has no plugin index Pinework can read. Pinework looks for `.agents/plugins/marketplace.json`, `.claude-plugin/marketplace.json` and `.cursor-plugin/marketplace.json`. To install one plugin from its own repo, paste its GitHub link into the install box instead.

**Editing a plugin's skill fails with "owned by a plugin and is read-only".** That is expected. Follow the fork steps above.

**Your copy is skipped because the slug is taken.** Another skill of yours already uses that slug. Rename the skill in your copy, or delete the old one first. A plugin's skill never blocks your copy's slug.

<CardGroup cols={2}>
  <Card title="Plugins and skills" href="/concepts/plugins-and-skills">
    How plugins, skills and marketplaces fit together.
  </Card>

  <Card title="Add an MCP server" href="/guides/add-an-mcp-server">
    Turn on or add the MCP servers your agents use.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.