{% extends "dashboard/base.html" %} {% from "partials/_macros.html" import status_pill, relative_time, pill, empty_state, info_toggle %} {% block page %} {% call info_toggle(key='recurring', title="What is a recurring task?") %}

A recurring task is a cron-scheduled template that brains expands into a fresh task on every fire — for example, "every Monday at 09:00, spawn a Codex session to run weekly-review against this repo".

Each definition carries a title template, a body template, optional spawn config (which CLI tool to launch, with what arguments and prompt), and an enabled/disabled flag. Toggle off to pause without losing the definition.

{% endcall %}
{% if tasks %} {% for t in tasks %} {% endfor %}
NameScheduleTitle template Last firedStateAuto-spawn
{{ icon('refresh-cw') }} {{ t.name }} {{ t.cron_expr or '' }} {{ t.title_template }} {{ relative_time(t.last_fired_at) }} {% if t.enabled %} {{ status_pill('active') }} {% else %} {{ status_pill('archived') }} {% endif %} {% if t.spawn_tool %}
{{ t.spawn_tool }}
{{ t.spawn_args }}
{{ t.spawn_prompt }}
{% else %} {% endif %}
{% else %} {{ empty_state( 'No recurring tasks configured', body='Register a cron task with `brains schedule_task`.', icon_name='refresh-cw' ) }} {% endif %}
{% endblock %}