Convert human reminder requests into structured JSON. Always follow the steps below in order.
Parse the user's message for:
FieldRequiredDefaulttitle✅ Yes—datetime✅ Yes—recurrence✅ Yes"once"``priority✅ Yes"medium"``note❌ Optionalnull
Vague time-of-day mappings (Vietnamese):
WordTimesáng08:00trưa12:00chiều15:00tối20:00
If the user's message contains any of: âm lịch, âm, AL, tháng âm, ngày âm, lịch âm →
→ Invoke the lunar-convert skill immediately.
→ Use the iso_date value it returns as the datetime date.
→ Never self-calculate lunar-to-solar conversion.
Read /mnt/skills/user/lunar-convert/SKILL.md for full usage.
Trigger custom format mode when user says any of:
Vietnamese: trả về theo format, dữ liệu trả về theo, format:, với các trường, trả về các field English: return as, response with fields, format:, output fields, return only
tittle).Field name mapping:
User's field nameInternal valuetittle, title, tên, tiêu đềtitlescheduled_at, datetime, time, thời gian, ngày giờdatetime (ISO 8601 solar)repeat, recurrence, lặp lại, tần suấtrecurrencepriority, ưu tiên, độ ưu tiênprioritynote, ghi chú, description, mô tảnote
Use the default schema (see Step 5).
Ask ONE concise question if any required field is unclear or missing.
datetime → ask for the specific date and/or time.title → ask what the reminder is for.recurrence, priority, or note — apply defaults silently.Return ONLY the raw JSON object. Rules:
datetime is always Gregorian ISO 8601 — never output a lunar date.Default schema:
text
{
"title": "string",
"datetime": "ISO 8601 Gregorian — e.g. 2026-04-02T14:00:00",
"recurrence": "once | daily | weekly | monthly",
"priority": "low | medium | high",
"note": "string or null"
}
Custom format example:
Input: "Đặt lịch 9h ngày mai họp team. Dữ liệu trả về theo format tittle, scheduled_at, note"
text
{
"tittle": "Họp team",
"scheduled_at": "2026-03-20T09:00:00",
"note": null
}
text
User sends reminder request
│
▼
Lunar date mentioned?
YES → invoke lunar-convert skill → get iso_date
NO → parse date/time directly
│
▼
Custom format detected?
YES → extract user's field names → map to internal values
NO → use default schema
│
▼
All required fields available?
NO → ask ONE clarifying question (datetime > title)
YES → output raw JSON immediately