Build It

Activate & deliver

skill_activate + task_create or routine_create. Activation is not delivery.

skill_activate + task_create or routine_create. Activation records intent; it is not delivery. The kid sees nothing until a task or routine exists.

Step 1: Activate

API call
skill_activate({skillId: "019e378f-..."})
# Returns: { status: "activated", nextStep: "task_create or routine_create" }
# Re-activating is safe:
skill_activate({skillId: "019e378f-..."})
# Returns: { status: "already_active" }  -- not an error, do not loop

Step 2a: Deliver via task

For one-off or weekly items the kid checks off:

API call
task_create({
taskType: "onetime",
name: "Tonight's reflection",
oneTimeDate: "2026-05-18",
childIds: ["019c5228-..."],
sourceSkillId: "019e378f-...",
steps: [{name: "Tap to reflect", canvasId: "757c5bb0-..."}],
isBlocking: false
})
# Kid sees the card on next iPad sync

Step 2b: Deliver via routine

For cron-scheduled recurring delivery:

API call
routine_create({
name: "Evening reflection",
cron: "0 20 * * *",
tz: "America/New_York",
skillId: "019e378f-...",
childId: "019c5228-..."
})
# Fires at 8pm daily
infoDelivery is the kid-facing step. Confirm with the parent before calling task_create or routine_create: one-off vs recurring, schedule, gems, which kid(s). The only exception is when the parent explicitly said to go ahead autonomously.

Further reading

Was this page helpful?
Schedule a routine chevron_right