doctrine-panelisted
Install: claude install-skill scottcrosby-securebine/doctrine-skills
# doctrine-pane
An interactive terminal session in a herdr pane, so the user sees exactly what you see and can take
the keyboard whenever they want it.
This skill does **not** require the `doctrine` hub. You are usually invoked mid-task, and loading
the whole posture to run two commands would be wrong. A doctrine run may still reach for this skill;
`doctrine-debug` names it.
## When this fires, and when it does not
**Interactive → a pane. Automated → whatever the project already uses.** That split is the user's
and it is not yours to re-decide. A bulk read you were not asked to watch belongs on an MCP server or
a script, because parsed output is what makes many results comparable. If the user asks to see the
connects, that is a request and it gets panes. **The axis is the request, never the shape of the
work**: ten devices you were asked to watch is ten sessions, and one device you were not is still a
script. A pane is for the session a human wants to watch or join.
**Never open a pane the user did not ask for.** There is no heuristic here and there should not be:
"pop a pane" is a request, and everything else is not.
Two kinds, and only one has any state:
- **Session** — a login you may drive and the user may take over.
- **Monitor** — a stream beside the work, `docker logs -f` or a firewall tail. You never write to
it. The user interrupts it the way they interrupt any terminal, by typing in it.
## The launcher
`node <plugin-root>/hooks/dctr-pane.mjs`, two directo