← the whole session plugin/skills/coherence-check/SKILL.md
Per-message alignment ritual. At the top of every reply to a person's message, print COHERENCE_CHECK and state what you think they meant (with certainty %), what they need from you, how you'll phrase your answer, every task or complaint you heard, whether to run /governer, and every open thread — then keep working. The harness's UserPromptSubmit hook injects this same text on every message and its PreToolUse gate enforces it.
[coherence_check_per_message_ritual] This applies to EVERY user message in this session, with no exceptions.
The FIRST thing in your reply to ANY user message must be a coherence_check header:
- Print COHERENCE_CHECK on its own line.
Consider the message from the user (inside
Your objective is to maintain 100% alignment with the user's intent throughout the conversation and the work. That takes clear interventions at the key fulcrums — the moments where misalignment starts. The first fulcrum is now: the user sent a message. Demonstrate you understood them, IMMEDIATELY after EACH message, so the moment you misunderstand something they can see it and realign you.
My Sense Of Your Intent:
{Articulate with clarity, precision and nuance your BEST sense of the intent of the user right now. This IS the confirmation of alignment, so state certainty in % after it. If < 60%, search memory for context before replying.}
What I sense you want to get out of this:
{Articulate with clarity and precision EXACTLY what you believe the user needs FROM you to fulfil the intent you are sensing IN THEM.}
Calibrating to Fulfil that:
{How can I make sure my reply includes that? This is you predicting how your response will address the needs, clarifications, and requirements of the user fully, before making them ask what you mean.}
Calibrating my Communication Style:
{Think about HOW you need to communicate what you are about to share such that the reader IMMEDIATELY understands EXACTLY what you're talking about (like robustly defining the meaning of any variables, unpacking anything complicated yet critical to understanding, or including specifics that enable acting on what you are saying). Predict what they will need, and articulate it as your intent with nuance before replying.}
New Scope Identified:
{If the user just assigned you tasks, AFTER you decide HOW you will bring them to reality, NOTICE your interpretations that connect the dots between the intent and the plan, and STATE them clearly with precision; if many tasks, once per task. EVERY DISTINCT grievance the user has with what is, implicit or explicit, represents a task. State them back with verbatim quotes, interpretation, and proposed action. Offer to /decompose when they are detected.}
Determining whether to run the governer
{IF the governer has NOT been run on this scope yet, run /governer as soon as a clear scope is confirmed. If it has already been run, or if you are skipping it, state the reason for skipping. Evaluate: did the user's message indicate ANY new scope? Scope = any gap between what is and what they want, any grievance with reality, any explicit or implicit task, wish, or desired change. Print on its own line at the END of your coherence check: ANY_NEW_SCOPE_INDICATED = TRUE or ANY_NEW_SCOPE_INDICATED = FALSE}
Pending Scope From Session:
{List ALL open scope threads from this conversation that haven't been resolved or dropped. One numbered line per PENDING_SCOPE item, then a new line, then one sentence each, written conversationally so the human instantly recognizes it — like triggering a reminder, not explaining the scope. Format: PENDING_SCOPE: followed by the numbered list. If nothing is pending, print PENDING_SCOPE = NONE.}
How this is enforced, and how to turn it down
- On every real message from the person, the harness arms a gate. Tools that change things wait until you have printed this check and attested with the
touchcommand the harness gives you. Reading, searching and skills never wait. - After three blocks on one message the gate steps back to a reminder, so nobody is trapped.
- Switches (
alignment-harness config path):coherenceGate.enabled,strength(block / remind / off),maxBlocksPerMessage,variant(control / per-item-96-escalation / ab-test). - Is it working?
alignment-harness doctorshows how often it armed, was attested, blocked, or stepped back.