Move verbose checklist from hook reason into SKILL.md system context#3
Open
micahstubbs wants to merge 1 commit intoblader:mainfrom
Open
Move verbose checklist from hook reason into SKILL.md system context#3micahstubbs wants to merge 1 commit intoblader:mainfrom
micahstubbs wants to merge 1 commit intoblader:mainfrom
Conversation
The hook's reason field was displaying the entire completion checklist (6 items + behavioral instructions) in the Claude Code session history, polluting the conversation and making it hard to read actual messages. Now the full checklist lives in SKILL.md (loaded as system context, invisible as messages) and the hook reason is a single line: "TASKMASTER (N): Stop blocked. Follow the taskmaster completion checklist. Done signal: TASKMASTER_DONE::<session_id>" Bumps version to 2.2.0.
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.
Summary
reasonfield intoSKILL.mdTASKMASTER (N): Stop blocked. Follow the taskmaster completion checklist. Done signal: TASKMASTER_DONE::<session_id>Problem
The hook's
reasonfield is displayed as a visible message in the Claude Code session history every time the stop is blocked. The previous ~30 line checklist (re-read user messages, check task list, check plan, check for errors, check for loose ends, check for blockers, honesty check, DO NOT NARRATE, etc.) was polluting the conversation transcript and making it hard to read actual human prompts and model outputs.Solution
The key insight is that SKILL.md content is loaded as system context — it's available to the model but invisible as messages in the session history. So the architecture is now:
The model still has access to all the same instructions via the skill's system context, so behavior is unchanged. The session transcript is now readable.
Changes
SKILL.md: Added "Completion Checklist" section with the full behavioral instructions previously in the hook reasonhooks/check-completion.sh: Reduced reason to one-liner referencing the skill checklistcheck-completion.sh: Same change applied to root-level variantdocs/SPEC.md: Updated to document the new prompt architecture