Skill v1.0.1
Automated scan100/100+1 new
version: "1.0.1" name: ntm user-invocable: false skill_api_version: 1 hexagonal_role: supporting consumes:
- task-intent
produces:
- ntm-robot-state
- agent-worker-transcript
context_rel:
- kind: supplier-to
with: agent-native metadata: capabilities: [ntm] effects: [] canonical_status: canonical disposition: keep_optional_adapter tier: execution dependencies: [] description: 'Use NTM as an optional pane adapter for caller-supplied roles and commands. Triggers: "ntm", "tmux panes", "ntm robot state".' practices:
- pragmatic-programmer
NTM — optional pane adapter
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.
Boundary
- Never start or probe NTM merely because it is installed.
- Discover the live command contract with
ntm --help,
ntm --robot-capabilities, and ntm --robot-snapshot before unfamiliar actions.
- Dispatch each caller-supplied command once. NTM does not select work, retry a
failed command, validate a candidate, integrate changes, or decide what runs next.
- Pane roles are descriptive. They grant no ownership, admission, Git, release,
or delivery authority.
- Concurrent writers require caller-supplied disjoint scopes and whatever
isolation the repository requires. NTM does not infer safe concurrency.
- Safety, lock, mail, and pipeline features remain substrate facts. Their state
cannot change an RPI phase result or semantic verdict.
One-shot dispatch
- Record the explicit session, pane, role, working directory, and command.
- Inspect robot capabilities and current snapshot.
- Create or select only the named pane.
- Send the command once.
- Observe robot state, attention, and transcript until the command exits or the
caller's observation window ends.
- Return the factual result and stop.
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.
Output
Return:
- session and pane identifiers;
- role and exact command;
- start and observation timestamps;
- exit status when known;
- robot state and relevant transcript references;
- degraded or unavailable substrate surfaces;
- effects that were and were not observed.
A timeout, nonzero exit, or degraded source is reported as evidence. The caller decides whether to invoke another experiment.
Useful live surfaces
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.