boshu2/agentops-ntm
Use NTM as an optional pane adapter for caller-supplied roles and commands. Triggers: "ntm", "tmux panes", "ntm robot state".
This is a copy. The original lives at boshu2/ntm.
npx skills add https://github.com/boshu2/agentops --skill ntm
NTM hosts explicit agent roles in persistent panes. It is transport, not an
AgentOps lifecycle controller. The caller chooses the panes, roles, commands,
write scopes, and stopping point.
Robot surfaces work because they report what the pane is doing, not what was
sent to it; a dispatch layer that only proved delivery would let every dead
worker look busy.
Judge pane liveness by the truth-stack, strongest first: new artifacts on
disk, then transcript growth, then robot state and attention flags, then bare
process existence. A successful prompt send sits below all of these and proves
nothing about work.
Named failure mode — kill-the-witness: restarting a stuck pane before
capturing its state, destroying the only evidence of why it stalled.
Anti-pattern: restarting an unresponsive pane as the default remedy.
Corrective: rescue before restart — snapshot robot state and transcript,
attempt a nudge, and restart only when the truth-stack shows no liveness at
any level.
ntm --help,ntm --robot-capabilities, and ntm --robot-snapshot before unfamiliar
actions.
failed command, validate a candidate, integrate changes, or decide what runs
next.
or delivery authority.
isolation the repository requires. NTM does not infer safe concurrency.
cannot change an RPI phase result or semantic verdict.
caller's observation window ends.
For a software-factory layout, the caller may name producer, tester, validator,
or integrator panes. The same identity rule still applies: a validator for a
candidate must have a distinct context identity from its author. Merely placing
two roles in different panes is a declared runtime fact, not proof of semantic
independence. Mixed-model judgment panes follow
the agent-native model-dispatch recipe (probe, disclose, never
claude -p).
Return:
Terminal outcomes are explicit, never a silent hang:
ntm absent or the robot surface unreachable: report itand stop; do not fall back to blind key injection or assume the pane is idle.
and transcript reference; the window ending is a stop, not a failure verdict.
was and was not observed.
experiment; report which panes were created or left running so nothing is
orphaned silently. NTM never retries or reaps on its own.
Prefer machine-readable robot surfaces for capability, snapshot, attention,
tail, and pipeline observations. Use interactive key injection only when the
caller explicitly requests an interactive action and no robot command provides
the needed behavior.
External NTM documentation and examples remain the authority for command syntax;
this skill owns only the AgentOps boundary above. NTM's CLI drifts across
versions, so confirm the surface at runtime (ntm --version,
ntm --robot-capabilities) rather than trusting a remembered command.
Take boshu2/agentops-ntm from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.