From sysadmin-homelab
Provision a new sysadmin-homelab workspace on disk. Use when the user wants to start managing a new server, container host, NAS, SBC, or LAN. Accepts a workspace name and optional variant (linux-servers | docker | conda | proxmox | nas-synology | android-debug | single-board-computers | remote-admin | lan). Scaffolds the workspace, personalises CLAUDE.md from the user's global memory, and (by default) creates a GitHub repo.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin sysadmin-homelabThis skill is limited to using the following tools:
Creates a new workspace for administering a remote machine (server, container host, NAS, SBC, or LAN). This plugin's commands (`/sysadmin-homelab:status`, `/sysadmin-homelab:diagnose`, etc.) are globally available once installed — this skill only provisions the **data scaffold** (CLAUDE.md, context/, outputs/) that those commands read from and write to.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Creates a new workspace for administering a remote machine (server, container host, NAS, SBC, or LAN). This plugin's commands (/sysadmin-homelab:status, /sysadmin-homelab:diagnose, etc.) are globally available once installed — this skill only provisions the data scaffold (CLAUDE.md, context/, outputs/) that those commands read from and write to.
$ARGUMENTS is parsed as:
~/repos/github/my-repos.--variant=<name> (optional): which scaffold to copy. Default: linux-servers. Options: linux-servers, docker, conda, proxmox, nas-synology, android-debug, single-board-computers, remote-admin, lan.--local-only (optional): skip GitHub repo creation and push. Default: create a public GitHub repo and push.--private (optional): create the GitHub repo as private./sysadmin-homelab:new-workspace home-proxmox --variant=proxmox
/sysadmin-homelab:new-workspace office-nas --variant=nas-synology --private
/sysadmin-homelab:new-workspace rpi-kitchen --variant=single-board-computers --local-only
/sysadmin-homelab:new-workspace docker-host --variant=docker
Extract workspace name, target parent path, variant, and flags from $ARGUMENTS. If workspace name is missing, ask the user for it before proceeding. If variant is missing, default to linux-servers.
The bundled scaffold lives at ${CLAUDE_SKILL_DIR}/../../template/<variant>/. Confirm it exists. If the variant is not one of the supported names, tell the user which variants are available.
Read ~/.claude/CLAUDE.md if it exists. Extract OS, locale, timezone, and user identity facts. These will personalise the workspace's CLAUDE.md at step 5.
mkdir -p <target-parent>/<workspace-name>
cp -r ${CLAUDE_SKILL_DIR}/../../template/<variant>/. <target-parent>/<workspace-name>/
Do not copy any .claude/ tree. The plugin's primitives are global.
Open the new workspace's CLAUDE.md and:
<your-host>, <your-user>, <your-lan-cidr> placeholders with the user's values, prompting if not inferable.Ask the user only for facts the plugin cannot infer. Typical prompts by variant:
Write answers to the appropriate file in the workspace (context/host-profile.md, context/nas-profile.md, context/device.md, etc.).
cd <target-parent>/<workspace-name>
git init
git add .
git commit -m "Initial workspace from sysadmin-homelab plugin"
Unless --local-only is set:
gh repo create <workspace-name> --<public|private> --source=. --push
Use --public by default, --private if flag was passed. Private is a reasonable default for workspaces that may record internal hostnames; suggest it if the user hasn't chosen.
Tell the user:
/sysadmin-homelab:status, /sysadmin-homelab:diagnose, /sysadmin-homelab:logs, /sysadmin-homelab:check-services.docker: also /sysadmin-homelab:status focuses on compose stacks.android-debug: adb / MVT scans are driven through the agent.lan: start with /sysadmin-homelab:status then scan from within the workspace.${CLAUDE_SKILL_DIR}/../../template/ (not ${CLAUDE_PLUGIN_ROOT} — that variable isn't exported in skill bash injection, only in hooks/MCP)..claude/commands/, .claude/agents/, or .claude/skills/ into the new workspace. If the user wants workspace-local overrides, they can add them manually later.