Plugins and marketplaces
Plugins extend TalkOps Kubernetes Agent (k8s-autopilot) with domain skills, custom subagents, MCP server connections, and slash commands without modifying the core runtime. k8s-autopilot natively supports standard plugin.json manifests as well as .claude-plugin/plugin.json and .opscode-plugin/plugin.json packages.
Plugin types
k8s-autopilot automatically determines how a plugin binds based on its directory contents:
| Type | Detection rule | How it binds |
|---|---|---|
| Agent plugin | Contains an agents/ directory | Registers a dedicated subagent with isolated skills, MCP servers, and tool scope |
| Vertical plugin | No agents/ directory | Binds skills (skills/), commands (commands/), and .mcp.json directly to the main Supervisor agent |
Only install plugins and marketplaces from trusted publishers. Enabled plugins can inject system instructions and spawn MCP server processes under the agent's permissions.
Install plugins from the Settings UI
Navigate to Settings → Plugins to view the four management tabs (Discover, Installed, Marketplaces, and Errors):

Click + Add Marketplace and enter a GitHub repository (owner/repo), an HTTPS URL serving a marketplace.json catalog, or a local directory path:

Switch to the Discover tab to inspect each plugin's version, author, and bundled skills, then click Install:

Installed plugins activate immediately without restarting containers.
Plugin directory structure
my-plugin/
├── plugin.json # Required (also supports .claude-plugin/plugin.json)
├── agents/ # Optional — subagent definitions (makes it an agent plugin)
│ └── my-agent/
│ └── AGENTS.md
├── skills/ # Optional — domain skills
│ └── my-skill/
│ └── SKILL.md
├── commands/ # Optional — custom slash commands
│ └── my-command.md
├── .mcp.json # Optional — bundled MCP server configuration
└── resources/ # Optional — templates, scripts, and static assets
plugin.json manifest
{
"name": "kubernetes-security-auditor",
"version": "1.0.0",
"description": "Audits Kubernetes namespaces for Pod Security Standards and NetworkPolicy coverage.",
"author": {
"name": "Platform Security"
}
}
Runtime variable substitution in .mcp.json
When a plugin includes a .mcp.json file, k8s-autopilot resolves the following variables automatically at startup:
| Variable | Resolves to |
|---|---|
${PLUGIN_ROOT} | The plugin's installation directory |
${PLUGIN_DATA} | Persistent data directory allocated to the plugin |
${PROJECT_DIR} | Active project workspace directory |
${ENV_VAR} | Any host or runtime environment variable |
Host a team marketplace
Create a Git repository containing a marketplace.json catalog at the root to distribute internal plugins across your organization:
{
"name": "platform-engineering-plugins",
"description": "Internal Kubernetes and cloud platform plugins",
"plugins": [
{
"name": "kubernetes-sre",
"displayName": "Kubernetes SRE Runbooks",
"description": "Incident triage playbooks and post-mortem generators",
"source": "./plugins/kubernetes-sre"
},
{
"name": "cost-analyzer",
"displayName": "Cluster Cost Analyzer",
"description": "Kubecost and cloud billing optimization skills",
"source": "./plugins/cost-analyzer"
}
]
}
Storage locations
| Location | Contents |
|---|---|
~/.k8s-autopilot/plugins/ | Marketplace-installed plugins |
~/.k8s-autopilot/plugins/marketplaces/ | Cloned marketplace catalog repositories |
.k8s-autopilot/plugins/ | Project-scoped plugins committed to Git |
| Configuration database | Plugin enablement state and persisted skill backups |