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.
How this skill is triggered — by the user, by Claude, or both
Slash command
/smart-home:new-workspaceThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
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.
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.npx claudepluginhub danielrosehill/claude-code-plugins --plugin smart-homeGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.