Convert turn-halting prompt hooks to a non-blocking command hook; release v0.7.1#18
Merged
Conversation
…ease v0.7.1 All three plugin hooks were `type: prompt`, so each matching tool call (`eval`, `Write`/`Edit`) spent a separate decision-model call and ended the turn with "stopped continuation", even for scalar results. The prompts were also written as instructions to the main agent rather than the allow/deny criteria a prompt hook expects. The two prompt hooks that only restated skill guidance (display code before `eval`; expand results for color plots) are removed; the `julia-evaluation`/`julia-plot` skills already carry that guidance. The post-edit revise hook is rewritten as a non-blocking `type: command` hook (`hooks/revise-nudge.sh`) that injects an `additionalContext` reminder to call `revise` after a `.jl` edit, so the auto-revise nudge survives without a per-edit model call or a turn halt. Also updates the plugin validation test (it asserted the now-removed `PreToolUse` hook), fixes stale README references to a removed `julia-language` skill, and bumps 0.7.0 -> 0.7.1. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The plugin's three hooks were all
type: prompt, so each matching tool call (eval,Write/Edit) spent a separate decision-model call and ended the turn with "stopped continuation", even for scalar results. The prompts were also written as instructions to the main agent rather than the allow/deny criteria a prompt hook expects, so the contract was malformed on top of being wasteful.What changed
eval; expand results for color plots). The always-onjulia-evaluation/julia-plotskills already carry that guidance.type: commandhook (claude-plugin/hooks/revise-nudge.sh). On aWrite/Editof a.jlfile it prints{"hookSpecificOutput":{"hookEventName":"PostToolUse","additionalContext":"…call revise…"}}and nothing otherwise. PostToolUse cannot block, so the nudge never halts the turn; non-.jledits are a clean no-op (exit 0). Nojq/pythondependency.test/test_plugin_validation.sh: the oldPreToolUsegrep would now fail, so it checkshooks.jsonis valid JSON, has aPostToolUsehook, referencesrevise-nudge.sh, and that the script exists (26 checks, 0 failed).julia-languageskill that no longer exists (nowjulia-plot); reworded every "automatically calls revise" hook overclaim across README/CLAUDE.md/plugin README to describe the non-blocking reminder.Verification
revise-nudge.shemits validadditionalContextJSON for.jl, nothing for.md, exit 0 both.bash test/test_plugin_validation.sh→ 26 passed, 0 failed, version 0.7.1.julia --project=. -e "using Pkg; Pkg.test()"→ 339/339 pass.🤖 Generated with Claude Code