Pathrule
Studio workflows

Plugins

Connect a capability once and Pathrule writes it into every AI engine on your machine. What separates a plugin from a pattern, from an MCP server you configured by hand, and from an agent, and how the Plugins panel and the Marketplace present them.


A plugin is a packaged capability you connect once and then have everywhere. Connect Linear, and the tools it brings are written into every AI engine on your machine, not just the one you happened to be using when you clicked.

Four objects, and why the difference matters

Two of these look alike from a distance, so the distinction is worth stating plainly.

ObjectWhat it gives youWhere it landsWho owns it
Plugina capability: tools, skills, agentsyour engines' config files and skill directoriesthe author or the catalog
Patternknowledge: memories, rules, skillsyour Pathrule tree, at a pathyou, from the moment you import it
MCP serverone tool surface you configured by handthe config line you wroteyou
Agenta subagent definitionyour agent directoryyou, or a plugin

The carrier of the distinction is not the content, it is ownership. A plugin's skill is updated upstream by whoever publishes it. A pattern's skill becomes your knowledge the moment you import it, and it never changes underneath you again. The same thing can arrive by both routes, and that is the difference.

A single MCP line you typed yourself is not a plugin. It stays in its own group, and it keeps its own menu.

The Plugins panel

One scroll, three sections, and one row per thing you can manage on its own.

PLUGINS                        4    1 needs attention
  Drive          GLOBAL        Connected
  Notion         GLOBAL        Sign in again
  Supabase       PROJECT       5 tools
  Vercel         GLOBAL        3 tools, 1 agent
MCP SERVERS                    2
  postgres       PROJECT       Connected
AGENTS                         2
  code-reviewer  PROJECT

The rules the panel is built on:

  • A row is something you can remove or switch off by itself. A plugin is one row even when it carries five tools, and the MCP server a plugin brings never appears in the MCP SERVERS group, because you do not manage it separately.
  • A row carries identity and state, never an inventory. What a plugin contributes is a question about one plugin, so it lives on that plugin's page, named rather than counted. Pressing a row goes there.
  • Order is stable, always. Floating a broken row to the top would move the thing under your cursor between renders.
  • The row menu teaches the type. A plugin offers Update, Disable and Remove. A server you configured by hand offers Edit JSON, Auth, Disconnect and Delete. The asymmetry says what kind of thing you are looking at without a word of explanation.
  • A badge is only ever an action you need to take: an expired sign-in, a server that will not connect. "A new plugin is available" is never a badge.

The Marketplace

Discovery is a tab in the main layout rather than a modal, so it is independent of whether you were in Chat, Tasks or Design when you opened it. It has two tabs of its own, Plugins and Patterns, because they are the two things you can bring into a workspace.

Sections group the catalog and the section header opens the whole category. A card shows a logo, a name and one line of promise. What a plugin is made of and where it came from live on its page, not in the list, because a composition line does not separate two rows and this list exists to be scanned.

Installing writes to every engine

This is the part that is easy to miss and the reason plugins exist as their own object.

When you connect a plugin, Pathrule first writes it into the configuration of every Studio agent you have installed: Claude Code, Codex, Grok, Kimi, Antigravity and OpenCode. Pathrule CLI then carries the same plugin into Cursor, Windsurf and GitHub Copilot when you use those external integrations. Each agent keeps its MCP configuration in a different file, format and location. Pathrule knows all of them.

Skills the plugin ships are written into each engine's own skills directory, and duplicate targets are filtered so a skill is never written twice for engines that share a directory.

At install time you choose the scope:

  • Global, for every project on this machine. This is the default, because an account connection like Drive or Notion is meaningful at the machine level.
  • This project, for one workspace.

Engines with no project-level configuration fall back to global and show up as GLOBAL in your inventory. That is a quiet, correct fallback rather than an error you have to read.

What it does not do

Connecting a plugin does not give an agent new permissions over your machine. The tools it brings run under the engine's own permission model, and the rules and work-safety limits described in Rules as guardrails and Work safety still apply.