From 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.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin claude-paThis skill uses the workspace's default tool permissions.
The plugin ships a pre-built throwaway repo at `${CLAUDE_PLUGIN_ROOT}/templates/test-scaffold/` containing `.claude/settings.json` (plugin enabled, `CLAUDE_PA_MAX_TIER=0`, `CLAUDE_PA_AUTOINIT=1`), a `CLAUDE.md` with the dispatch protocol, and a `STALL.md` synthetic stalling task. This skill just gets it onto disk where the user wants it.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
The plugin ships a pre-built throwaway repo at ${CLAUDE_PLUGIN_ROOT}/templates/test-scaffold/ containing .claude/settings.json (plugin enabled, CLAUDE_PA_MAX_TIER=0, CLAUDE_PA_AUTOINIT=1), a CLAUDE.md with the dispatch protocol, and a STALL.md synthetic stalling task. This skill just gets it onto disk where the user wants it.
Pick a destination. Default: /tmp/claude-pa-test-$(date +%s). If the user names a path, use that. If they say "right here" / "current dir", use $PWD/claude-pa-test.
Resolve the source. SRC="${CLAUDE_PLUGIN_ROOT}/templates/test-scaffold". If CLAUDE_PLUGIN_ROOT isn't set, walk up from this skill file two levels.
Copy. cp -r "$SRC" "$DEST". Refuse and ask for confirmation if $DEST already exists.
Bootstrap user config if missing. The settings.json sets CLAUDE_PA_AUTOINIT=1 so the dispatcher self-bootstraps on first call, but doing it eagerly surfaces problems before Claude is summoned:
CLAUDE_PA_AUTOINIT=1 bash -c 'source "$0/bin/paths.sh" && claude_pa_autoinit_config' "$CLAUDE_PLUGIN_ROOT"
Smoke-test the dispatch path. Fire one tier-0 dispatch with the tier cap already in place:
CLAUDE_PA_AUTOINIT=1 CLAUDE_PA_MAX_TIER=0 \
"$CLAUDE_PLUGIN_ROOT/bin/dispatch.sh" attention:generic --tier 0 --no-signal --no-flash
If that errors, surface the error verbatim — fix it before handing off, since the user's session will hit the same wall.
Print the handover. Tell the user:
cd "$DEST" && clauderm -rf "$DEST"CLAUDE_PA_MAX_TIER in the scaffold. If the user wants to test higher tiers, they edit .claude/settings.json themselves so they understand what they're enabling.ls "$CLAUDE_PLUGIN_ROOT/sounds/voices/wildcard/attention/" shows the rendered MP3s.paplay fails / no audio: the dispatch path is fine but the local sink isn't reachable. Suggest setting local_audio.sink in ~/.local/share/claude-pa/config.json (or running pactl list short sinks to find the right name).python3-tk for overlay mode, or libnotify-bin for notify mode. Check the resolved mode by running bin/screen-flash.sh waiting directly.