doctorlisted
Install: claude install-skill mubit-ai/plugins
Work in this order and stop at the first thing that is broken. Each step costs more than the
one before it, and the cheap steps answer most questions.
## Step 0 — the Codex-only failure: hooks that never ran
Under Codex this comes first, because it is the one fault that leaves **no trace at all** and
looks exactly like a plugin that was never installed.
A hook registered in `$CODEX_HOME/hooks.json` does not run until it is trusted. Under
`codex exec` an untrusted hook is skipped **silently** — no prompt, no warning, exit 0 — and
editing a registration changes its content hash and returns it to untrusted. So a working
install can go inert after an upgrade with nothing anywhere reporting it.
The symptom is total absence: no `status/` directory under the data dir, no `runs/`, no
markers, nothing. Compare that against a plugin whose capture is merely *disabled*, which
still writes a status marker at `SessionStart`. Absence of the marker means the hooks did not
run; a marker with zero captures means they ran and were told not to capture.
Confirm it, do not guess. Ask Codex what it sees:
```bash
codex app-server <<'RPC'
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"clientInfo":{"name":"doctor","title":"doctor","version":"1"}}}
{"jsonrpc":"2.0","method":"initialized","params":{}}
{"jsonrpc":"2.0","id":2,"method":"hooks/list","params":{}}
RPC
```
Each entry carries `trustStatus`. Anything other than `"trusted"` on a `mubit` hook is the
answer, and the fix is `mubit-