Agent Observe
Observe the current agent's nuclear family through the local daemon: parent,
siblings, direct children, and self. Observation is currently limited to family
members in the same worker; root siblings in other workers are not observable yet.
This skill is read-only: it can list family sessions, inspect one session, and fetch
bounded recent message previews. It cannot prompt, steer, clear, kill, rename, or
otherwise mutate another session.
Call directly from the kernel:
children = await rlm.list_subagents()
child = next((item for item in children if item.active_session_id), None)
if child is not None:
worker = await agent_observe.get_agent(child.session_name)
recent = await agent_observe.recent_messages(child.session_name, limit=6)
# Deletion is a parent-owned RLM operation, not an observe mutation:
await rlm.delete_subagent(child)
API
await agent_observe.list_agents() returns current and agents. Each
agent includes active session id, session id, optional name, runtime kind,
cwd, status, streaming state, message count, pending count, and a latest
message preview. The list is restricted to self, parent, siblings, and direct
children. For direct children, await rlm.list_subagents() also exposes
parent-owned lifecycle handles.
await agent_observe.get_agent(target) returns agent, where agent
contains one agent summary. target is resolved like other live-session
selectors: active id, session id/name, or unambiguous suffix.
await agent_observe.recent_messages(target, limit=8, max_chars=800)
returns up to limit recent bounded message previews for the target session.
limit must be 1-50, and max_chars must be 80-2000.
Safety
- This skill is read-only and exposes no mutation commands.
- Targets outside the nuclear family are rejected; transcript reads follow the
same family rule as messaging.
- Message access is bounded by count and per-message character limit.
- Prefer status and recent previews for orchestration. Ask the user before
using observed context to steer or message another session.
1---2name: agent-observe3description: Read-only observation of an agent's parent, siblings, and direct children. Use to inspect family status and bounded recent-message previews without mutating sessions.4---56# Agent Observe78Observe the current agent's nuclear family through the local daemon: parent,9siblings, direct children, and self. Observation is currently limited to family10members in the same worker; root siblings in other workers are not observable yet.11This skill is read-only: it can list family sessions, inspect one session, and fetch12bounded recent message previews. It cannot prompt, steer, clear, kill, rename, or13otherwise mutate another session.1415Call directly from the kernel:1617```python18children = await rlm.list_subagents()19child = next((item for item in children if item.active_session_id), None)20if child is not None:21 worker = await agent_observe.get_agent(child.session_name)22 recent = await agent_observe.recent_messages(child.session_name, limit=6)23 # Deletion is a parent-owned RLM operation, not an observe mutation:24 await rlm.delete_subagent(child)25```2627## API2829- `await agent_observe.list_agents()` returns `current` and `agents`. Each30 agent includes active session id, session id, optional name, runtime kind,31 cwd, status, streaming state, message count, pending count, and a latest32 message preview. The list is restricted to self, parent, siblings, and direct33 children. For direct children, `await rlm.list_subagents()` also exposes34 parent-owned lifecycle handles.35- `await agent_observe.get_agent(target)` returns `agent`, where `agent`36 contains one agent summary. `target` is resolved like other live-session37 selectors: active id, session id/name, or unambiguous suffix.38- `await agent_observe.recent_messages(target, limit=8, max_chars=800)`39 returns up to `limit` recent bounded message previews for the target session.40 `limit` must be 1-50, and `max_chars` must be 80-2000.4142## Safety4344- This skill is read-only and exposes no mutation commands.45- Targets outside the nuclear family are rejected; transcript reads follow the46 same family rule as messaging.47- Message access is bounded by count and per-message character limit.48- Prefer status and recent previews for orchestration. Ask the user before49 using observed context to steer or message another session.