Skip to main content

/hook-plan

plans one business hook

Ground a named hook​

/hook-plan
<ground> @import-accounts-payable </ground>

<ground> holds @*.hook.ts, *-hook-plan.md, or collection/slug

Ground a hook file​

/hook-plan
<ground> @import-bill-of-materials.hook.ts </ground>

A seen hook file is the operand. At most five Read calls. Zero reads are legal.

Ground a hook-plan​

/hook-plan
<ground> @warehouse-freeze-bin-hook-plan.md </ground>

A seen hook-plan file is the operand for patch, spawn, or handoff-critic.

Create hook from an existing hook​

/hook-plan
<prime> @import-bill-of-materials.hook.ts </prime>

Prime <prime> will understand the hook and expect a follow-up task inspired by the hook referenced

Hook from hook stacked​

/hook-plan
<ground> @hook-plan.md </ground> <prime> @import-bill-of-materials.hook.ts </prime>

Prime <prime> will understand the hook while <ground> will explain the new plan

No ground​

/hook-plan

The first message does not name a job. It does not name a type. Empty <ground> is success.

Examples​

/hook-plan
<ground> @hook-plan.md </ground> <prime> @import-bill-of-materials.hook.ts </prime>
Thought1s

The first message named a hook path. Pass 0 is local intake. Do not call MCP.

Fill seen and kind. Then ask which live job this run is.

Worked for 12s

What job is this run?

Question

What job is this run?

  1. Aimpact — a user story that may have upstream/downstream blast
  2. Bpatch — a change to the seen hook
  3. Cspawn — a new hook
  4. Dretire — unwiring or deleting the seen hook
  5. Eexplain — reading the seen stream with no change planned

Skip does not bind a job. Pass 2 starts only when job is a Pass 2 job.

Thought4s

spawn is a Pass 2 job. Call MCP. Bind one LogicHookPattern. Map execute() to Pattern grammar.

The primed hook is a reference only. Write the new hook-plan. Do not emit hook source. Do not change import-bill-of-materials.

Worked for 1m 40s

Wrote hook-plan.md. Job spawn.

Pattern, evidence ledger, decorator fields, execute() phases, result contract, replay, transaction, error policy, downstream calls, open questions.

Run /hook-plan-critic.

hook-plan.md

Source: MCP after job `spawn`. Primed `import-bill-of-materials`. Grain: one new hook. No `*.hook.ts`.

The hook-plan file holds all of:

  • Pattern decision and rejection of narrower or wrong patterns
  • Evidence ledger (VERIFIED / INFERRED / UNKNOWN)
  • Decorator fields (idempotent, concurrency, timeout) with justification
  • execute() phase list matching Pattern grammar
  • Result contract (ok + data)
  • Replay, transaction, error policy
  • Downstream calls
  • Open questions

The primed hook is a reference. It is not the artifact to change.

Pick a job​

The skill starts in Pass 0. It shows an <intake> block. Then it asks which live job this run is.

The question box shows only live jobs. Do not add jobs outside the catalog.

This example grounded a hook-plan and primed a hook file. Live jobs are the ones in the question. spawn is selected.

Pass 0live
seen=nonespawn, handoff-discovery
kind=hook.ts or named collection/slugimpact, patch, spawn, retire, explain, handoff-logic-plan
kind=hook-plan.mdpatch, spawn, handoff-critic
jobPassPrepares
impact2a user story that may have upstream/downstream blast
patch2a change to the seen hook
spawn2a new hook
retire2unwiring or deleting the seen hook
explain1 terminalread the seen stream with no change planned
handoff-logic-plan1 terminalplan many documents and hooks in order
handoff-discovery1 terminalfind facts first
handoff-critic1 terminalaudit the hook-plan that exists

Several hooks or order-of-work → handoff-logic-plan.

patch / explain: understand the seen execute() stream only. Do not traverse callee hooks in that step. Extract, split, and reclassify are flavors of patch, not extra jobs.

spawn: a seen hook is a reference only. Do not treat it as the artifact to change. A primed hook is that reference.

If the job you want is missing, change <ground> or <prime> and send again.

Next steps​

When the hook-plan file exists, run /hook-plan-critic.