7df-lab / agent-observe
Read-only roster and observation of an agent's parent, siblings, and direct children. Use to discover reachable agents and to inspect family status and bounded recent-message previews without mutating sessions.
Agent Observe
Observe the current agent's nuclear family through the local daemon: parent,
siblings, direct children, and self. list_agents is the one family roster and
covers every member agent_message.send can reach. get_agent andrecent_messages hydrate an inactive child before reading it. They cannot read
a root sibling that has no live session in this worker.
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:
roster = await agent_observe.list_agents()
child = next(
(
item
for item in roster.get("agents", [])
if item.get("relationship") == "child"
),
None,
)
if child is not None:
name = child.get("sessionName") or child["sessionId"]
worker = await agent_observe.get_agent(name)
recent = await agent_observe.recent_messages(name, limit=6)API
await agent_observe.list_agents()returnscurrentandagents, the full
nuclear family: parent, siblings, and direct children, active or not. Each
agent carriessessionId, optionalsessionName,relationship
(parent/sibling/child/self),status,isSessionActive, and the counts and
message previews known for it:latestMessagefor a live session,firstMessagefor an inactive child. A member with no live session has
noactiveSessionIdand no live detail; address it withagent_message.send
using itsrelationshipplus itssessionName, or itssessionIdwhen the
member has no name.await agent_observe.get_agent(target)returnsagent, whereagent
contains one live agent summary.targetis 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 tolimitrecent bounded message previews for the target session.limitmust be 1-50, andmax_charsmust 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.