Write a journal entry or check-in
goalslot_write_journalSave a journal entry and daily check-in for a specific date, with options to append or replace existing content. Supports mood, energy, and focus ratings and markdown formatting.
Instructions
WRITES. Saves the user's journal entry and daily check-in for one date. Both are upserts keyed by date. IMPORTANT: mode "replace" (the default) REPLACES that day's whole journal body. Use mode "append" to add to what is already there. If the day may already have content and the user did not ask you to overwrite it, append. content is markdown and is converted to the HTML the GoalSlot editor stores. Write in the user's voice, using their words, not a summary of them. focus, worked and blocked are part of the check-in, and the check-in requires mood, energy and focus together. Supplying only some of the three is rejected rather than guessed at. Never invent a mood, an energy level or a reflection the user did not express.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Which day this entry belongs to. Calendar date as YYYY-MM-DD, for example 2026-08-25, interpreted in the user's timezone (get_context.timezone). Never include a time or a Z suffix. Use get_context.today rather than assuming what today is. | |
| mode | No | "replace" overwrites the day's existing body, "append" adds to it. Defaults to replace, so pass append when in doubt. | |
| mood | No | 1 to 5, where 1 is worst and 5 is best. | |
| focus | No | 1 to 5. Check-in only, and it requires mood and energy to be sent as well. | |
| energy | No | 1 to 5, where 1 is drained and 5 is energised. | |
| worked | No | Check-in field: what went well. Requires mood, energy and focus. | |
| blocked | No | Check-in field: what got in the way. Requires mood, energy and focus. | |
| content | No | The journal body, in markdown. Headings, bullets, bold, italic and inline code survive the round trip. |