Passive-aggressive PA system for Claude Code. Claude barks status updates at you over a speaker; if ignored, escalates across the house via Home Assistant.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin claude-paAdd a friend (name + phone) to $CLAUDE_PA_HOME/config.json so Claude can call them via /claude-pa:place-call with target=friend. Optional fields: role (e.g. "a coworker"), per-friend Vapi overrides.
Bark a status update at the user via the PA cascade. Audio + signal-bulb fire together. Use whenever you'd otherwise sit silent waiting for input or finish a long task.
Mute the claude-pa system. Pass a duration (e.g. "30m", "2h", "until 17:00") to auto-resume, or "indefinite" to mute until explicitly cleared. With no argument, prints status.
First-run setup for Claude-PA. Creates $CLAUDE_PA_HOME, copies the config template, generates a 30s radio-static bed via ffmpeg, optionally renders a personalised name clip via Fish Audio if the API key is set, and offers to chain into the HA-entities setup agent. No API key required for the plugin to work — voice clips ship pre-rendered with the plugin.
Place an outbound Vapi call to the user or their spouse via the Claude-PA dispatcher assistant, with a context-rich reason (what Claude is stuck on, repo, idle time). Use the `place-call` skill — never invoke pa-phone-call.sh directly without first assembling a real reason.
Set or inspect when claude-pa is allowed to fire. Two modes — recurring time-of-day windows (e.g. weekdays 9-5) or session-scoped ("active for the next 2 hours"). Outside the schedule the dispatcher is silent.
Install and start the claude-pa escalator daemon — the watchdog that fires higher cascade tiers when you don't respond. Idempotent; safe to re-run.
Walk through wiring Claude-PA to Home Assistant — discovers candidate entities (speakers, chime, doorbell, lights, RGB signal-bulb), tests each one live, and writes the validated config to $CLAUDE_PA_HOME/config.json.
Wire bin/check-usage.sh into a Claude Code Stop hook so usage warnings fire automatically on threshold crossings (50/75/90/95%).
Create (or update) the Claude-PA dispatcher assistant in Vapi using the shipped system prompt, then write its assistant_id and a default phone_number_id back into $CLAUDE_PA_HOME/config.json under user_call.vapi and spouse_call.vapi.
Update the Claude-signal RGB bulb pattern (continuous status channel, separate from the audio cascade). Use when state changes — thinking, waiting, working, done, error, clear.
Clear any active claude-pa mute and resume normal dispatching. Does not affect the recurring schedule (use /claude-pa:schedule off for that).
Place an outbound Vapi phone call to the user, their spouse, a named friend from the config, or an ad-hoc number. ALWAYS attaches a context-rich `reason` (what Claude is stuck on, why the user is needed) plus optional repo / idle-minutes / last-tag. Supports round-robin calling — Claude can dial through a list of friends in sequence until someone picks up. Use when the in-room escalation cascade has failed, when the user has explicitly asked to be phoned, or when Claude has a status update important enough to warrant a phone call. NEVER place a call without a real reason — a generic "they're not at their desk" call is worse than not calling.
Mute, pause, or schedule claude-pa from natural-language requests. Translates phrases like "shut up claude-pa", "pause for an hour", "be quiet until 5pm", "stay loud for the next 90 minutes", "active during work hours", or "resume" into the right mute / schedule call. Use when the user wants to silence the PA system, time-bound a quiet window, or define active hours — without making them remember the slash command syntax.
Provision (or update) the Claude-PA dispatcher assistant in Vapi using the shipped system prompt, then wire its assistant_id + phone_number_id into $CLAUDE_PA_HOME/config.json under user_call.vapi and spouse_call.vapi. Use when the user runs /claude-pa:setup-vapi-assistant or asks you to set up the Vapi side of Claude-PA.
Drop the pre-built Claude-PA test scaffold into a chosen location so the user can verify dispatch + escalation cascade end-to-end without disturbing the household. The scaffold ships with the plugin at templates/test-scaffold/ — this skill just copies it, sanity-checks it, and prints the next command. Tier cap is hard-coded to 0 (local desk speaker only). Use when the user says "test claude-pa", "is this working?", "let's try the PA system", etc.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
External network access
Connects to servers outside your machine
Uses power tools
Uses Bash, Write, or Edit tools
Share bugs, ideas, or general feedback.
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Memory compression system for Claude Code - persist context across sessions
No description provided.
Streamline people operations — recruiting, onboarding, performance reviews, compensation analysis, and policy guidance. Maintain compliance and keep your team running smoothly.
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 claim