fix/codex-claude-hook-manifest
develop
${CLAUDE_PLUGIN_ROOT}
/hooks/...
hooks/hooks.json
$JSC_HOME/current/jsc-hooks
tools/wire-cli.sh
plugin-user-prompt-root
skills/hooks-install/SKILL.md
plugin.json
.claude-plugin/plugin.json
.codex-plugin/plugin.json
wire-cli.sh status codex
python3 -m json.tool hooks/hooks.json >/dev/null && python3 -m json.tool plugin.json >/dev/null && python3 -m json.tool .claude-plugin/plugin.json >/dev/null && python3 -m json.tool .codex-plugin/plugin.json >/dev/null && find tools hooks -type f -name '*.sh' -exec sh -n {} \; && git diff --check
grep
command": "sh \"${CLAUDE_PLUGIN_ROOT}/hooks/
./tools/wire-cli.sh status codex
plugin-user-prompt-root missing
CODEX_HOME
degraded
plugin-user-prompt-root present
./hooks/comment-scope.sh sweep
No dependencies set.
The note is not visible to the blocked user.
摘要
${CLAUDE_PLUGIN_ROOT}未設定而把 UserPromptSubmit hook 路徑展開成/hooks/...。變更內容
hooks/hooks.json${CLAUDE_PLUGIN_ROOT},沒有時退回$JSC_HOME/current/jsc-hooks。tools/wire-cli.shplugin-user-prompt-root,可查出已安裝快取仍含舊版 Claude-only command。skills/hooks-install/SKILL.mdplugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json設計重點
${CLAUDE_PLUGIN_ROOT}行為。$JSC_HOME/current/jsc-hooks。wire-cli.sh status codex能把舊快取風險列成缺漏項目。測試結果
python3 -m json.tool hooks/hooks.json >/dev/null && python3 -m json.tool plugin.json >/dev/null && python3 -m json.tool .claude-plugin/plugin.json >/dev/null && python3 -m json.tool .codex-plugin/plugin.json >/dev/null && find tools hooks -type f -name '*.sh' -exec sh -n {} \; && git diff --check:通過。grep舊版command": "sh \"${CLAUDE_PLUGIN_ROOT}/hooks/:未找到。./tools/wire-cli.sh status codex:目前本機已安裝快取仍是舊版,因此正確回報plugin-user-prompt-root missing。CODEX_HOME模擬新版快取後,./tools/wire-cli.sh status codex回到預期degraded,且plugin-user-prompt-root present。./hooks/comment-scope.sh sweep:通過。前置 Push Request