Docs Join alpha
Model

Activity

The family feed for parents. Every kid update in one place. Soon streamed live to your home agent.

Activity is the family feed for parents. Every kid update lands here: tasks completed, skills run, gems earned, screen-time requests filed, canvases finished. One place parents check; one channel your home agent will subscribe to.

Today, your agent discovers activity by reading. Soon, activity emits as sprout://family/activity: a subscribable MCP resource your home agent listens to over SSE, so your agent reacts in real time instead of polling. Some resources are available today; others are coming soon.

Where you'll see this

In the wild: Heartbeat (planned event-driven fires subscribe here)

Shape

Each activity entry carries:

Skill output that posts to the parent: via skill.post_result or heartbeat's postResultNotify: renders as a structured card in the same feed. Auditable, scrollable, never silent.

A worked example

Today, you poll. Soon, you subscribe.

Shell
# Today (pull): read what changed since last check.
activity.list({ since: lastCheckedAt, limit: 50 })
# Returns: [{ type, actor, refs, payload, timestamp }, ...]
# Soon (push): subscribe over the MCP connection.
# Not callable yet; ships with the SSE Activity stream.
activity.subscribe({
types: ["task.completed", "screentime.requested", "skill.invoked"]
})
# Each event lands on your home agent in real time.

When to use it

Read activity any time your agent wants to know what happened since last check. For now, that's polling. Once the stream ships, your agent subscribes once and reacts on each event.

Roadmap for this noun

Pull vs push Reference: Subscriptions Heartbeat Activity as audit

Was this page helpful?