---
name: markdownto-calendar
description: Create or edit Markdown To calendars with clear event details and explicit local times.
---

# Markdown To calendar

## Contract and workflow

Read `mdto spec calendar` (or the adjacent `SPEC.md` in a checkout) and the
[shared conventions](https://markdownto.ai/specs/conventions.md) before authoring or
repairing content. Outside a checkout, use the [published spec](https://markdownto.ai/specs/calendar.md).
This skill accompanies `calendar@0.1`. The spec and its fixtures govern conformance;
editorial advice below is non-normative and should adapt to the user's brief.
If the source declares another version, obtain its matching contract before changing it.

Use `markdownto: calendar@0.1`. Level-2 headings are unique real `YYYY-MM-DD` dates;
events are plain unordered bullets, never checkboxes. Timed events need start and end
in `HH:MM`, with end later than start; all-day events use `[all-day:: true]` instead.
Set the intended IANA timezone explicitly when known (omission means UTC). Notes are a
one-line field and cannot contain `]`. Export creates an ICS artifact, not an invitation.

## Content quality

Use event labels that say what attendees are coming to do. Include location, preparation,
and the intended outcome when useful, with details in supported fields. Check ambiguous
timezones and overnight spans before authoring; do not silently shift dates or invent
recurrence syntax. Flag practical collisions without changing commitments the user has
not asked to move.

## Check and deliver

Validate the file with `mdto validate <path>` before editing existing content and again
after changes. Read diagnostics against the spec's rationale; preserve meaning when
repairing syntax. Prefer spec-owned verbs for edits they support, checking their current
`--help`; otherwise make a focused source edit, preserving unrelated content and IDs.
Render with `mdto render <path>` and inspect the result when available. Validation checks
structure, not editorial quality: review the content against the user's purpose as well.
Without the CLI, use the contract and examples and report that validation was not run.
Deliver the Markdown source and any requested artifacts, stating what was actually checked.
