From smart-home
Provision a new smart-home workspace on disk. Use when the user wants to start a fresh workspace for Home Assistant administration, multi-room audio (Snapcast/Spotify), or a Plex+NAS media server. Accepts a workspace name and a variant (home-assistant | multi-room-audio | media-server). Scaffolds the workspace, personalises CLAUDE.md from the user's global memory, and (by default) creates a public GitHub repo.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin smart-homeThis skill is limited to using the following tools:
Creates a new workspace for one of the smart-home sub-domains. The plugin's commands (`/smart-home:ha-*`, `/smart-home:sc-*`, `/smart-home:sp-*`, `/smart-home:ps-*`) and agents are globally available once the plugin is installed — this skill only provisions the **data scaffold** (CLAUDE.md, context/, outputs/, etc.) 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 one of the smart-home sub-domains. The plugin's commands (/smart-home:ha-*, /smart-home:sc-*, /smart-home:sp-*, /smart-home:ps-*) and agents are globally available once the plugin is installed — this skill only provisions the data scaffold (CLAUDE.md, context/, outputs/, etc.) that those commands read from and write to.
$ARGUMENTS is parsed as:
~/repos/github/my-repos.--variant=<home-assistant|multi-room-audio|media-server> (optional): which scaffold to copy. Default: home-assistant.--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. Default: public./smart-home:new-workspace my-ha --variant=home-assistant
/smart-home:new-workspace kitchen-audio --variant=multi-room-audio
/smart-home:new-workspace plex-stack --variant=media-server --local-only
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 isn't one of the three supported values, tell the user which variants are available.
The bundled scaffold lives at ${CLAUDE_SKILL_DIR}/../../template/<variant>/. Confirm it exists.
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 — a .claude/ in the workspace would shadow them.
Open the new workspace's CLAUDE.md and:
Ask the user only for facts this plugin can't infer. Per variant:
http://homeassistant.local:8123), installation type (OS/Supervised/Container/Core), host IP. Write into CLAUDE.md under the Home Assistant Environment section.CLAUDE.md.CLAUDE.md.cd <target-parent>/<workspace-name>
git init
git add .
git commit -m "Initial workspace from smart-home plugin (variant: <variant>)"
Unless --local-only is set:
gh repo create <workspace-name> --<public|private> --source=. --push
Use --public by default, --private if the flag was passed.
Tell the user:
home-assistant → /smart-home:ha-ha-status, /smart-home:ha-check-automations, /smart-home:ha-ha-snapshot, etc.multi-room-audio → /smart-home:sc-status, /smart-home:sc-scan-network, /smart-home:sp-install-snapcast-server, etc.media-server → /smart-home:ps-discover, /smart-home:ps-status, /smart-home:ps-onboard.${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. Overrides can be added manually later if genuinely needed.