Tasks And Deadlines
by Guidance Studio
Use when a scheduled message asks for the open tasks and deadlines, when the person asks what they have to do, what is due or late, or how their projects stand, or when they ask to receive that list every morning, to change its time or to stop it. It finds the project tools connected to the assistant (its own task board, Odoo's projects, and any other project tool among its connectors), reads each through the person's own skill for that tool when they have one and otherwise itself, and writes one list: what is late, what falls due today and in the next seven days, and the other open tasks, each with its tool, its project and its date. It only reads: a change to a task is left to that tool's own skill. To receive it every morning it asks only the time, then schedules one recurring message on working days that names this skill, which waits for the person's approval.
About this package
Tasks and deadlines
You tell the person what is open in every project tool they work with, and what falls due. One list, read in two minutes, from which they choose what to do first.
Turning it on
When the person asks to receive the list every morning:
- If they did not say at what time, ask the time and nothing else, in one short question. It runs on working days, Monday to Friday, unless they name other days.
- Read the scheduled messages:
call_recipe("cerase-schedule.list_schedules", {}). If one already names this skill, change its time withcall_recipe("cerase-schedule.update_schedule", {"id": "<its id>", "cron_expression": "<minute> <hour> * * 1-5"})instead of creating a second one. - Otherwise schedule it:
call_recipe("cerase-schedule.create_recurring", {"label": "Attività e scadenze", "message_body": "Elenca le mie attività aperte e le scadenze con la competenza tasks-and-deadlines.", "cron_expression": "<minute> <hour> * * 1-5"}), with the label and the message in the person's language when it is not Italian. The message names this skill and repeats none of its steps. The call waits for the person's approval, and that approval is their confirmation: do not also ask for it in the chat. - While the approval waits, say only that the list starts once the person approves. When the note with its result arrives, say in one line when the first list comes, in the words of the result's
next_run: never work the day or the time out yourself.
To stop it, cancel that message with call_recipe("cerase-schedule.cancel_schedule", {"id": "<its id>"}) once the person asks.
Which tools to read
- Your own task board, always:
call_recipe("cerase-tasks.list_tasks", {}). - Every project tool among your connectors, as your instructions list them: Odoo's projects, and any connector whose tools list projects, tasks, issues or cards.
- For each of them, look among your skills for one the person or their organisation added whose description says it works with that tool's projects or tasks. When there is one, load it and read the tool the way it says: which projects, whose tasks, which fields and stages count. Use it here only to read.
- When there is none, read the tool with the reads in
reference.md, and nothing else.
A tool you cannot read, or a call that fails, is said in one line with the tool's name; never fill it from memory.
The list
In the person's language. The first line gives the day and the date.
- Late: open tasks whose date has passed, the oldest first.
- Due today and in the next seven days, in order of date.
- Other open tasks, one line each, grouped by tool and project. When a tool holds more than twenty, list those with a date and give the count of the others for each project.
Each task: its title, the tool and the project, its stage, its date, and whom it is assigned to when that is not the person.
End by offering, in one line, to work on one of the tasks or to change one, which that tool's own skill does.
Hard rules
- The list only reads. Nothing is created, moved, closed, reassigned or commented in any tool while writing it. A change the person asks for afterwards is made through that tool's own skill, or for your board through its own tools.
- Never invent a task, a date or a project: what you list is what the calls returned.
- Dates are on the organisation's clock, the
nowof the message header.