Skip to main content

/hook-plan-critic

criticizes a hook-plan

It does not write hooks. It does not write a new plan from REVISE unless asked.

Ground a hook-plan​

/hook-plan-critic
<ground> @payment-log-process-bank-import-hook-plan.md </ground>

<ground> holds {collection}-{slug}-hook-plan.md. The hook-plan file stays unchanged.

Skill path​

@.agents/skills/hook-plan-critic/SKILL.md
<ground> @payment-log-process-bank-import-hook-plan.md </ground>

If the slash name does not start the skill, put the skill file on line 1.

Examples​

/hook-plan-critic
<ground> @payment-log-process-bank-import-hook-plan.md </ground>
Thought1s

The critic is read-only. Re-query hook_graph for the planned path and callees.

Do not trust the plan graph. Do not rewrite the plan. Do not implement.

Gate claims against coder BIND and CHECK: one LogicHookPattern, Pattern grammar order, ok + data, no invented identities.

Worked for 1m 12s

Findings with plan section and MCP evidence.

Then a verdict: PASS, REVISE, or REJECT.

payment-log-process-bank-import-hook-plan.md

Source: live MCP `hook_graph`. The hook-plan file is unchanged.

Cite plan section and MCP evidence. Do not rewrite the plan. Do not write .ts.

CheckResult
PatternExact LogicHookPattern. hook is last resort with a rejection matrix.
Grammarexecute() order matches Pattern grammar.
Identity forbiddensPattern identity forbiddens hold. Example: no persist on read-only patterns.
Shared forbiddensNo invented names. No unbounded .all(). No swallowed errors.
RedundancyAn existing hook does not already do this job.
OverlapNo two planned writes to the same document. No competing unique keys.
Blast radiusUpstream callers and downstream effects named. 🟢 / 🟡 / 🔴 honest.
StyleOne class, one execute(), ok + data, structured errors, interface keys.
UnknownsUnknowns stay questions. They are not guessed fields.

Read the verdict​

The critic is read-only. Criticizing a hook-plan is scope=IN.

danger

If MCP tools are missing, stop. Fix Setup.

VerdictWhen
REJECTPattern wrong, grammar order violated, or required evidence UNKNOWN
REVISEIncomplete gates, overlap, or understated blast without a blocker
PASSNo blocker remains

If the verdict is not PASS, revise the hook-plan. Do not call /hook-code.

After PASS, implement with /hook-code.

ProblemCauseAction
Tools missingMCP not registeredStop. Fix Setup.
REJECT on patternWrong or generic LogicHookPatternReturn to /hook-plan
REJECT on grammarexecute() phases reorder the patternBind Pattern grammar order
Implement without PASSCritic skippedRe-run this skill. Do not write .ts

Next steps​

When /hook-code writes *.hook.ts, run /hook-critic.