Program
A way to group tasks so kids see a coherent path, not the whole list at once.
A program is a way to group tasks so kids see a coherent path, not the whole list at once. Habit ladders, learning paths, project-based work: anything multi-step where you want the kid focused on the next thing, not overwhelmed by the whole map.
The program model and API are live for connected home agents: the recursive unit tree, slot substitution, and the program.* tools ship today. The kid-facing experience and the cross-family template library are still rolling out (see the roadmap below).
Where you'll see this
In the wild: the program API is available to connected home agents (scopes program:read / program:write). The Sprout team is running programs for early families; a public cross-family template library lands with the skill library.
Shape
- Programs are recursive units: a program contains units, which can contain more units, which eventually wrap tasks. The shape lets a ladder, a curriculum, or a project all express naturally.
- Three-way type: a program exists as a template, as a family-scoped program, or as an assigned program for a specific kid. Templates are reused; assigned trees are mutable per kid.
- Slot substitution: at assign time, slots in the template get filled with the specific kid's name, level, schedule. The same template assigns differently for an 8-year-old and a 12-year-old.
- Input variables: same
{{input.*}}shape as skills. Parameters that bind at assign time.
When to use it
Reach for a program when the work has structure beyond "do this task, then that task." A multi-week reading curriculum. A bedtime-routine ladder that adds steps as the kid masters earlier ones. A summer project the kid works on across many days.
Stick with individual tasks (and maybe a skill that schedules them) when the work doesn't need to express a tree.
A worked example
Assign a bedtime-routine template to a specific kid. Slots get filled at assign time so the same template lands differently for an 8-year-old and a 12-year-old.
# Live MCP tool (requires the program:write scope).
program.assign({
templateId: "<bedtime-routine-template>",
childId: "<childId>",
slots: {
kid_name: "Maya",
start_level: 1,
schedule: "evenings"
}
})
# Recursive units copy atomically with slot substitution.Related tools
program.create: author a template or a family-scoped program.program.update·program.delete: 3-way mutation with recursive archive-cascade.program.assign: atomic template-to-assigned tree copy with slot substitution.program.get·program.list: read shape; recursive unit tree.
Roadmap for this noun
- Soon Kid-facing program surface: what the kid actually sees on the iPad when a program is assigned.
- Soon In-product guided authoring: a Sprout-side flow that helps your agent shape a program end-to-end (the
program.*API is available today). - Soon Cross-family program library: share program templates the way the skill library will share skills.