WATCH / V5

Lilith V5 - scenario-managed timers and cron jobs

A real narrated Lilith V5 conversation, recorded from pinned source f52bca255516c445b485f781e1c6af6bc6a7c47c using its version-specific test conversation.

Gemma 4Ollama

What happens in this recording

You: Call run_scenario with exactly {"scenario_name":"schedule_create ","inputs":{"name":"tea","kind":"timer ","seconds":"20","message":"Your tea is ready."}} Lilith: Schedule create completed: tea. You: Call run_scenario with exactly {"scenario_name":"schedule_peek", "inputs":{"name":"tea"}}. Tell me how long remains. Lilith: The "tea" schedule has 15.48 seconds remaining. Lilith: tea fired. Your tea is ready. Lilith: tea finished. You: Call run_scenario with exactly {"scenario_name":"schedule_create ","inputs":{"name":"hourly_greeting", "kind":"cron","cron":"0 * * * *","timezone":"Europe/London","sce You: nario":"greeting"}} Lilith: Schedule create completed: hourly_greeting. You: Call run_scenario with exactly {"scenario_name":"schedule_list","i nputs":{}}. Tell me which schedule finished and when the next cron occurrence is due. Lilith: The "tea" schedule has finished. The next cron occurrence for "hourly_greeting" is due on 2026-10-21T05:00:00+00:00. You: Call run_scenario with exactly {"scenario_name":"schedule_cancel ","inputs":{"name":"hourly_greeting" }}. Lilith: Schedule cancel completed: hourly_greeting.

Conversation XML

The complete XML script used for this recording, including its settings, system prompt and every scripted message.

XML / FULL RECORDING CONVERSATIONStructureInputsTools / C#StepsExit
<video title="Lilith V5 - scenario-managed timers and cron jobs" version="5.0.0-alpha.2" backend="Ollama" model="gemma4" mode="chat" showSubagents="false" workspaceMode="yolo" voice="af_heart" progressSeconds="3" pauseSeconds="1.5">
  <systemPrompt>You are Lilith. Manage all schedules through run_scenario. Only run_scenario is a management tool; schedule_create, schedule_peek, schedule_list and schedule_cancel are saved scenario names, never direct tool names. Use supplied input strings exactly. Every value inside run_scenario.inputs must be a JSON string, including seconds. The inputs object holds the management fields directly; inputs_json is only for the chosen scheduled action's own scenario inputs. Never approve proposals yourself. For schedule status use schedule_peek or schedule_list. Keep responses under 40 words.</systemPrompt>
  <messages>
    <message>Call run_scenario with exactly {"scenario_name":"schedule_create","inputs":{"name":"tea","kind":"timer","seconds":"20","message":"Your tea is ready."}}</message>
    <message>Call run_scenario with exactly {"scenario_name":"schedule_peek","inputs":{"name":"tea"}}. Tell me how long remains.</message>
    <message>/schedule-wait 25</message>
    <message>Call run_scenario with exactly {"scenario_name":"schedule_create","inputs":{"name":"hourly_greeting","kind":"cron","cron":"0 * * * *","timezone":"Europe/London","scenario":"greeting"}}</message>
    <message>Call run_scenario with exactly {"scenario_name":"schedule_list","inputs":{}}. Tell me which schedule finished and when the next cron occurrence is due.</message>
    <message>Call run_scenario with exactly {"scenario_name":"schedule_cancel","inputs":{"name":"hourly_greeting"}}.</message>
  </messages>
</video>
Download conversation XML

Explore the implementation

Read the relevant source and compare its changes before trying the workflow locally. Video playback does not execute any tools in your browser.

Open the source archive ↗