Task File Format
Every Daylight task is a Markdown file with YAML frontmatter. The frontmatter contains structured metadata; the body contains your notes.
Why it matters
Section titled “Why it matters”- Portable. Your tasks work in any Markdown editor, version control system, or text processor.
- Inspectable. When something seems wrong, you can open the file and see exactly what Daylight sees.
- Scriptable. Build your own tools, reports, or integrations using standard YAML parsers.
Canonical example
Section titled “Canonical example”---title: Weekly team reviewstatus: activecreated: 2026-01-15scheduled: 2026-01-28due: 2026-01-31priority: hightags: - work - meetingsproject: Q1 Planningrecurrence: rule: FREQ=WEEKLY;BYDAY=TU instances: - date: 2026-01-21 status: completed - date: 2026-01-28 status: activetime_entries: - date: 2026-01-21 duration: 45 notes: Reviewed roadmap priorities---
## Agenda
- Sprint retrospective- Roadmap check-in- Blockers discussionField reference
Section titled “Field reference”Required fields
Section titled “Required fields”| Field | Type | Description |
|---|---|---|
title | string | Task name displayed in the UI |
status | enum | active, completed, or archived |
created | date | When the task was created (ISO 8601: YYYY-MM-DD) |
Scheduling fields
Section titled “Scheduling fields”| Field | Type | Description |
|---|---|---|
scheduled | date | When you plan to work on this task |
due | date | Hard deadline (informational—Daylight doesn’t enforce it) |
priority | enum | low, medium, or high |
Organization fields
Section titled “Organization fields”| Field | Type | Description |
|---|---|---|
tags | string[] | Categories for filtering (e.g., work, home, errand) |
project | string | Parent project name |
Recurrence fields
Section titled “Recurrence fields”| Field | Type | Description |
|---|---|---|
recurrence.rule | string | iCalendar RRULE format (see Recurring Tasks) |
recurrence.instances | array | Individual occurrences with their own status |
Time tracking fields
Section titled “Time tracking fields”| Field | Type | Description |
|---|---|---|
time_entries | array | Manual time log entries |
time_entries[].date | date | When the work happened |
time_entries[].duration | number | Minutes spent |
time_entries[].notes | string | Optional description of the work |
Status and grouping
Section titled “Status and grouping”The status field controls where a task appears:
| Status | Behavior |
|---|---|
active | Shows in Past/Now/Upcoming based on scheduled date |
completed | Shows in Wrapped (if completed today) or hidden |
archived | Hidden from all views |
Grouping logic:
- Past:
scheduled< today ANDstatus= active - Now:
scheduled= today (or noscheduleddate) ANDstatus= active - Upcoming:
scheduled> today ANDstatus= active - Wrapped:
status= completed AND completed today
Safe manual edits
Section titled “Safe manual edits”You can safely edit these fields by hand:
title,tags,project,priorityscheduled,due- The Markdown body (notes)
[!warning] Be careful when manually editing:
recurrence.instances— Daylight tracks instance state here; incorrect edits can cause duplicate or missing instancesstatus— Changing fromcompletedtoactivemay have unexpected effects on recurring taskscreated— Used for sorting; changing it affects task order
Common patterns
Section titled “Common patterns”Minimal task (just a title)
---title: Call dentiststatus: activecreated: 2026-01-28---Scheduled task with tags
---title: Submit expense reportstatus: activecreated: 2026-01-28scheduled: 2026-01-31tags: - work - admin---Task with time tracking
---title: Write documentationstatus: activecreated: 2026-01-28project: Daylighttime_entries: - date: 2026-01-28 duration: 90 notes: Schema reference page---Troubleshooting
Section titled “Troubleshooting”Task doesn’t appear in any view
- Check that
statusisactive(notcompletedorarchived) - Verify the YAML frontmatter is valid (no syntax errors)
- Ensure the file has the
---delimiters around the frontmatter
Task appears in wrong group
- Check the
scheduleddate—it controls Past/Now/Upcoming placement - For recurring tasks, check
recurrence.instancesfor the relevant date
YAML parse error
- Ensure strings with special characters are quoted:
title: "Meeting: Q1 Review" - Check that arrays use consistent indentation
- Validate your YAML at yamllint.com
Related
Section titled “Related”- Getting Started — Create your first task
- Recurring Tasks — RRULE format and instance tracking
- Limitations — What Daylight doesn’t do