Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
By jmagar
Agents, commands, skills, and scripts for scaffolding, reviewing, aligning, and deploying homelab MCP server plugins. Includes canonical Python, TypeScript, and Rust server templates.
npx claudepluginhub jmagar/claude-homelab --plugin plugin-labAlign an existing plugin to the canonical lab/plugin spec
Target path relative to plugin root: `commands/my-plugin/inspect.md`
Scaffold a new lab plugin with a spec-conforming plan
Create or update Docker container config for a lab plugin
Implement or update the full CI/CD pipeline for a lab plugin
CLAUDE.md
Read the relevant agent docs before creating or editing agents here.
CLAUDE.md
Use this agent when the user wants an existing MCP plugin updated to match the homelab canonical plugin spec, wants a review report turned into implementation work, or wants stale scaffolding replaced with the `plugin-templates` repo and canonical patterns. <example> Context: User wants a plugin brought up to current standard. user: "Align this plugin to the current homelab spec." assistant: "I'll use ally-the-aligner to plan and implement the alignment." <commentary> This agent turns review findings into concrete changes while preserving justified deviations. </commentary> </example> <example> Context: User invokes the align command. user: "/align-lab-plugin" assistant: "Spawning ally-the-aligner to update the plugin to spec." <commentary> The command routes to this agent so alignment work uses the same methodology every time. </commentary> </example> <example> Context: User has a review report and wants the fixes implemented. user: "Roddy produced a review report yesterday. Now implement all the fixes." assistant: "I'll have ally-the-aligner read the review report and implement each finding as a targeted change." <commentary> Ally consumes review artifacts as its primary input — it can work from an existing report without re-auditing if the report is recent. </commentary> </example>
Use this agent when the user wants to containerize a lab plugin, create or update a Dockerfile, docker-compose.yaml, or entrypoint.sh, audit existing container config for drift, or plan a deploy strategy for a plugin. <example> Context: User wants Docker config created for a new plugin. user: "Containerize the Gotify plugin and set up Compose." assistant: "I'll launch dex-the-deployer to produce the Dockerfile, entrypoint, and Compose config." <commentary> This is the dedicated containerization agent. It reads the deploy-lab-plugin skill, gathers port and env var inputs, and produces a canonical multi-stage container config. </commentary> </example> <example> Context: User invokes the deploy command. user: "/deploy-lab-plugin" assistant: "Spawning dex-the-deployer to handle the container and deploy work." <commentary> The command routes here so all containerization and deploy work uses the same methodology. </commentary> </example> <example> Context: User needs to roll back a deployed plugin to a prior version. user: "The 1.3.0 release broke something — roll back the Overseerr plugin to 1.2.3." assistant: "I'll use dex-the-deployer to pin the prior image tag in docker-compose.yaml and produce the rollback commands." <commentary> Dex handles rollback via image tag pinning, not scale-to-zero. It's the right agent for any Compose-level deploy operation. </commentary> </example>
Bring an existing MCP plugin into full alignment with the homelab canonical plugin spec. Use when the user wants to update a plugin to current standards, replace stale scaffolding with the `plugin-templates` repo, reconcile manifest drift, standardize Docker and CI files, or turn a review report into a concrete alignment plan and implementation.
Containerize and deploy a lab plugin using Docker and Docker Compose. Use when the user wants to create or update a Dockerfile, docker-compose.yaml, entrypoint.sh, or health endpoint; audit an existing container config for drift; or plan a deploy strategy for a plugin. Trigger phrases include "Dockerize my Rust plugin", "containerize my Python MCP server", "set up Compose for my TypeScript plugin".
Research current primary-source guidance for MCP, Claude Code plugins, Codex plugins, and the language/runtime stack used by homelab plugins. Use when the user asks "what changed in the MCP SDK", "is this transport pattern still current", "find the latest docs for X", "before I scaffold this plugin I need to know...", or any time up-to-date information about MCP protocol changes, plugin manifests, SDK versions, transport patterns, package choices, Docker guidance, or the latest official docs is needed to scaffold, review, or align a plugin.
Implement or update the full CI/CD pipeline for a lab plugin. Use when the user wants to add or update GitHub Actions workflows (ci.yaml, publish-image.yaml, release-on-main.yaml), configure pre-commit or lefthook, set up automated releases, audit an existing pipeline for drift, or sync Justfile targets with CI steps.
Review an MCP plugin against the homelab canonical plugin spec and identify any and all misalignments. Use when the user wants a plugin audited for spec drift, wants to compare a plugin to canonical manifests and runtime patterns, wants to know whether deviations are documented and justified, or wants a detailed plugin review report.
Uses power tools
Uses Bash, Write, or Edit tools
Runs pre-commands
Contains inline bash commands via ! syntax
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Comprehensive plugin development toolkit for creating Claude Code plugins with AI-powered guidance for skills, agents, commands, and hooks
Build FastMCP 3.x Python MCP servers — covers provider/transform architecture (including CodeMode, Tool Search, and server-level transforms), component versioning, session state, authorization (MultiAuth, PropelAuth, connection-pooled token verifiers), evaluation creation, Pydantic validation, async patterns, STDIO and HTTP transports, nginx reverse proxy deployment, background tasks, Prefab Apps UI, security patterns, client SDK usage, testing, deployment, and migration from FastMCP v2. TypeScript is a legacy reference only and is not updated for v3.
Skills for designing and building MCP servers that work seamlessly with Claude — guides you through deployment models (remote HTTP, MCPB, local), tool design patterns, auth, and interactive MCP apps.
Multi-agent orchestration system with MCP tools and Claude Code plugin agents. 51 specialized agents for development workflows, code quality, deployment, research, and more.
Complete Claude Code plugin development system. PROACTIVELY activate when users want to: (1) Create/build plugins with 2025 features, (2) Add skills/commands/agents/hooks, (3) Validate plugin structure, (4) Publish to marketplace, (5) Get plugin development guidance. Provides: agent-first design patterns, progressive disclosure skills, hook automation, MCP integration, marketplace publishing. Includes plugin-expert agent and validation utilities.
Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
Query, monitor, and manage Unraid servers via GraphQL API through MCP tools. Supports system info, Docker, VMs, array/parity, notifications, plugins, rclone, and live telemetry.
Core homelab agents, commands, and setup/health skills for self-hosted service management. Includes interactive credential setup wizard and unified service health dashboard.
UniFi network management via MCP tools. Monitor devices, clients, network health, firewall rules, and perform management operations.
Gotify push notifications and management via MCP tools with HTTP fallback. Sends alerts for long-running tasks, plan completions, and blocked states.
Spider-powered self-hosted RAG engine — scrape, map, extract, crawl, embed, and query via MCP or CLI. 16 skills covering web crawling, GitHub/Reddit/YouTube ingest, semantic vector search, and grounded LLM answers over indexed content.
Canonical plugin-development toolkit for the homelab MCP ecosystem. Contains the agents, skills, commands, templates, hooks, and reference docs used to scaffold, review, align, tool, deploy, and pipeline homelab MCP plugins.
plugin-lab is the development workspace for building and enforcing plugin quality across the homelab. It is not a runtime server. It is also the working example of the canonical plugin shape, so every surface in this repo demonstrates what a well-formed plugin looks like.
It ships:
Skills are the operating procedures agents read before acting. Each skill lives under skills/<name>/SKILL.md and has a references/ subdirectory with supporting material.
| Skill | Slash command | Description |
|---|---|---|
scaffold-lab-plugin | /create-lab-plugin | Guides creation of a new MCP plugin from inputs to a concrete scaffold plan |
review-lab-plugin | /review-lab-plugin | Guides spec auditing of an existing plugin against the canonical contract |
align-lab-plugin | /align-lab-plugin | Guides turning review findings into implementation changes |
tool-lab-plugin | /tool-lab-plugin | Guides design and implementation of MCP tools using the action+subaction pattern |
deploy-lab-plugin | /deploy-lab-plugin | Guides containerization: Dockerfile, entrypoint, Compose, health endpoint |
pipeline-lab-plugin | /pipeline-lab-plugin | Guides CI/CD: ci.yaml, publish-image.yaml, release-on-main.yaml, pre-commit hooks, Justfile targets |
lab-research-specialist | /research-lab-plugin | Guides primary-source research on MCP, SDKs, runtimes, and protocol changes |
setup | /setup-homelab | Guides interactive credential setup for ~/.claude-homelab/.env |
docs | — | Reference skill docs mirrored from Claude and Codex agent/skill docs |
scaffold-lab-plugin — Collects plugin name, language, description, and docs links. Directs research before writing any files. Produces a written scaffold plan covering the tool contract, manifest list, and transport assumptions. Hands off to implementation only after the plan is coherent.
review-lab-plugin — Reads the canonical spec surfaces and compares them to the target plugin. Flags every misalignment as a finding, distinguishes undocumented drift from justified documented deviations, and writes a durable report to docs/reports/plugin-reviews/.
align-lab-plugin — Starts from a review report or performs a quick structural audit if none exists. Produces a prioritized alignment plan across ten surfaces (manifests, Docker, CI, tests, docs, skills, commands, agents, hooks, and version sync). Implements changes in a predictable order and writes a summary to docs/reports/plugin-alignments/.
tool-lab-plugin — Gathers the operation set for a resource domain. Designs an action+subaction contract. Produces the dispatch table, handler stubs, and a *_help companion tool. Reviews existing tools for pattern drift.
deploy-lab-plugin — Collects port, env var, and volume requirements. Produces a canonical multi-stage Dockerfile, a conforming entrypoint.sh with env var validation, a docker-compose.yaml with healthcheck, and .dockerignore. Confirms or stubs the /health endpoint.
pipeline-lab-plugin — Produces all four canonical workflow files: ci.yaml (lint → type-check → test gate), publish-image.yaml (image build and GHCR push with full tag strategy), release-on-main.yaml (manifest version → tag check → GitHub release), and the pre-commit hook config. Syncs Justfile targets to match CI steps.
lab-research-specialist — Gathers current primary-source docs for MCP protocol, Claude Code plugin format, Codex plugin format, language SDK patterns, and adjacent runtime guidance. Marks inferences explicitly and writes research artifacts other agents can consume.
setup — Checks whether ~/.claude-homelab/.env exists. Creates it from the template if absent. Walks through service credential groups interactively and validates each entry before moving on.
Each agent has a YAML front matter block that controls when it fires and what tools it may use. Agents read their corresponding skill before acting.