Patterns

Connect bots

Your skill reads parent-supplied material. Syllabus, itinerary, reading list, photos.

Your skill reads parent-supplied material. Syllabus, itinerary, reading list, photos. Ground the agent in what the family already has, not in what the model already knows.

Anatomy of a connect bot

The source material lives in your agent's world today. Parent puts the PDF in your filesystem, your skill body reads it.

  1. Parent supplies - PDF, photo set, link, calendar export. Goes to your agent's drop folder (or your inbox, or your Drive).
  2. Skill body - reads + parses, generates the day's coaching plan from the material.
  3. Tool calls - canvas_create a per-day worksheet, task_create with that canvas, routine_create if it recurs.

Four bot patterns

Syllabus tutor

Upload the PDF, teach from it. Your skill body parses the syllabus once, builds a week-by-week plan, generates a daily canvas with the right exercises.

Elementary-school pack

Curriculum-bound coach. A canonical third-grade math + reading curriculum sits in your agent's materials folder.

Reading list buddy

Track + quiz from the list. Parent drops a reading list (Goodreads export, school list, summer pile).

Trip pack

Itinerary + photos + chores. Family trip; parent dumps the itinerary into your agent.

What ships today

Connect bots are buildable now, but the source material lives on your side, not Sprout's.

One pattern that works well today: pass material identifiers as activation args.

Shell
# 1. Author the skill with material identifiers in input shape
skill_write({
name: "Third-grade math - Whole-numbers track",
description: "Daily 10-min math problem set from the school syllabus.",
instructions: "Read materials/third-grade-math-{{input.syllabusVersion}}.pdf.
Pick week {{input.weekIndex}} day {{input.dayOfWeek}}.
Generate a canvas with 3 problems. ...",
kidCallable: true,
ageRange: "8-9",
canvasIds: [],
dryRun: false
})
# 2. Activate with the material binding
skill_activate({
skillId: "<skill>",
args: {syllabusVersion: "2025-fall", weekIndex: 4}
})
# 3. Schedule via routine; weekday at 4pm
routine_create({
name: "Daily math from syllabus",
cron: "0 16 * * 1-5",
tz: "America/New_York",
skillId: "<skill>",
childId: "<kid>",
skillInput: {dayOfWeek: "varies-per-fire"}
})

Roadmap

Parent-uploaded source artifacts on the partner MCP (durable, family-scoped, composable into other artifacts) are described in Han's architecture but not yet a partner surface.

Until then, the pattern works without that primitive. Your agent does the carrying.

Further reading

Was this page helpful?
Three parties chevron_right