Add the marketplace
/plugin marketplace add kazukinagata/analyzing-claude-pluginInstall plugins
/pluginRun these commands in Claude Code to add this plugin to your environment. The marketplace must be added before you can install its plugins.
Companion plugin used to trigger validator errors (probes 02 and 20)
Isolated UserPromptExpansion violator for probe 20
Minimal env-propagation probe (plugin-level / frontmatter / body) for CLI vs Cowork comparison
CLAUDE_PLUGIN_ROOT pre-substitution test (top-level vs bash -c) for CLI vs Cowork
Isolate which SessionStart hook command form fails to surface on Cowork
PreToolUse block-method matrix (decision/permissionDecision/exit2) CLI vs Cowork
Tests ${CLAUDE_PLUGIN_ROOT}/hooks/script.sh launch in plugin-level SessionStart hook. Designed to be installed via the Cowork GUI marketplace flow (not zip upload) and compared against zip-upload baseline.
Disambiguator probe. Adds double-quote and $HOME observation points to settle whether Cowork hook command runtime is (a) shell-bypassed launcher or (b) bash -c with $-escape + path-prefix pre-sub.
Proves whether a skill frontmatter PreToolUse:Bash hook fires on Cowork by emitting only a block decision (no echo). Mac re-verification of frontmatter hook behavior.
Tests skill-body ${CLAUDE_PLUGIN_ROOT} substitution value on Mac Cowork, whether the VM Bash tool can use it, and whether the Read tool can read a bundled file at that host path (article section 3).
Tests hook command exec form (args present) on Cowork: whether ${CLAUDE_PLUGIN_ROOT} resolves to a real path via launcher text pre-substitution vs env-var export, where shell form (§2.1/§2.2) failed both.
Tests whether Cowork runs plugin-level PreToolUse hook commands through cmd.exe (like SessionStart) or a POSIX shell, and whether the inline tool_input=$(cat)|grep&&echo-block pattern actually blocks the bash tool.
Tests whether a plugin-level UserPromptExpansion hook fires on Cowork (slash-invoked), with SessionStart/UserPromptSubmit controls. Windows: expected validator reject (§2.3); macOS: may install, letting firing be observed for the first time.
Tests whether a value persisted to $CLAUDE_PLUGIN_DATA from a plugin-level SessionStart hook survives across Cowork chat sessions. Write+read-back runs in the host hook (persist.sh) because the VM body has DATA unset; surfaces accumulated per-session markers so cross-session persistence is read from SessionStart context.