Reminder Agent Skill
Convert human reminder requests into structured JSON. Always follow the steps below in order.
Step 1 — Extract Information
Parse the user's message for:
| Field | Required | Default |
|---|
| INLINECODE0 | ✅ Yes | — |
| INLINECODE1 |
✅ Yes | — |
|
recurrence | ✅ Yes |
"once" |
|
priority | ✅ Yes |
"medium" |
|
note | ❌ Optional |
null |
Vague time-of-day mappings (Vietnamese):
12:00 |
| chiều | 15:00 |
| tối | 20:00 |
- - "ngày mai" = tomorrow, "hôm nay" = today — resolve relative to the current date.
- Never assume a specific time if the user gave none (not even a vague word).
Step 2 — Lunar Date Detection
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.
Step 3 — Detect Custom Output Format
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, INLINECODE27
Custom format rules:
- - Extract exactly the field names the user listed.
- Map them to internal values using the table below.
- Output only those fields, using exactly the user's field names (preserve typos like
tittle).
Field name mapping:
| User's field name | Internal value |
|---|
INLINECODE29 , title, tên, INLINECODE32 | title |
INLINECODE33 , datetime, time, thời gian, INLINECODE37 |
datetime (ISO 8601 solar) |
|
repeat,
recurrence,
lặp lại,
tần suất | recurrence |
|
priority,
ưu tiên,
độ ưu tiên | priority |
|
note,
ghi chú,
description,
mô tả | note |
No custom format detected:
Use the default schema (see Step 5).
Step 4 — Clarification
Ask ONE concise question if any required field is unclear or missing.
- - Missing
datetime → ask for the specific date and/or time. - Unclear
title → ask what the reminder is for. - Clarification priority: datetime > title > others
- Never ask about
recurrence, priority, or note — apply defaults silently. - Once all required fields are resolved → proceed immediately to Step 5.
Step 5 — Output JSON
Return ONLY the raw JSON object. Rules:
- - ❌ No explanation, no markdown, no code blocks, no backticks.
- INLINECODE54 is always Gregorian ISO 8601 — never output a lunar date.
- Apply custom format if detected (Step 3), otherwise use default schema.
Default schema:
CODEBLOCK0
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"
CODEBLOCK1
Quick Decision Tree
CODEBLOCK2
提醒助手技能
将人类的提醒请求转换为结构化的JSON。请始终按以下步骤顺序执行。
步骤1 — 提取信息
解析用户消息中的以下字段:
| 字段 | 是否必需 | 默认值 |
|---|
| title | ✅ 是 | — |
| datetime |
✅ 是 | — |
| recurrence | ✅ 是 | once |
| priority | ✅ 是 | medium |
| note | ❌ 可选 | null |
模糊时间段映射(越南语):
12:00 |
| chiều | 15:00 |
| tối | 20:00 |
- - ngày mai = 明天,hôm nay = 今天 — 根据当前日期解析。
- 如果用户未提供任何时间(即使是模糊词语),切勿假设具体时间。
步骤2 — 农历日期检测
如果用户消息中包含以下任一词语:âm lịch、âm、AL、tháng âm、ngày âm、lịch âm →
→ 立即调用 lunar-convert 技能。
→ 使用其返回的 iso_date 值作为 datetime 的日期。
→ 切勿自行计算农历转公历。
请阅读 /mnt/skills/user/lunar-convert/SKILL.md 了解完整用法。
步骤3 — 检测自定义输出格式
当用户说出以下任一内容时触发自定义格式模式:
越南语: trả về theo format、dữ liệu trả về theo、format:、với các trường、trả về các field
英语: return as、response with fields、format:、output fields、return only
自定义格式规则:
- - 精确提取用户列出的字段名称。
- 使用下表将其映射到内部值。
- 仅输出这些字段,完全使用用户的字段名称(保留拼写错误,如 tittle)。
字段名称映射:
| 用户字段名 | 内部值 |
|---|
| tittle、title、tên、tiêu đề | title |
| scheduled_at、datetime、time、thời gian、ngày giờ |
datetime(ISO 8601 公历) |
| repeat、recurrence、lặp lại、tần suất | recurrence |
| priority、ưu tiên、độ ưu tiên | priority |
| note、ghi chú、description、mô tả | note |
未检测到自定义格式:
使用默认模式(参见步骤5)。
步骤4 — 澄清
如果任何必需字段不明确或缺失,请提出一个简洁的问题。
- - 缺少 datetime → 询问具体的日期和/或时间。
- title 不明确 → 询问提醒的内容。
- 澄清优先级:datetime > title > 其他
- 切勿询问 recurrence、priority 或 note — 静默应用默认值。
- 一旦所有必需字段都已解决 → 立即进入步骤5。
步骤5 — 输出JSON
仅返回原始JSON对象。规则:
- - ❌ 无解释、无Markdown、无代码块、无反引号。
- datetime 始终为公历ISO 8601 — 切勿输出农历日期。
- 如果检测到自定义格式(步骤3)则应用,否则使用默认模式。
默认模式:
{
title: string,
datetime: ISO 8601 公历 — 例如 2026-04-02T14:00:00,
recurrence: once | daily | weekly | monthly,
priority: low | medium | high,
note: string 或 null
}
自定义格式示例:
输入:Đặt lịch 9h ngày mai họp team. Dữ liệu trả về theo format tittle, scheduled_at, note
{
tittle: Họp team,
scheduled_at: 2026-03-20T09:00:00,
note: null
}
快速决策树
用户发送提醒请求
│
▼
是否提到农历日期?
是 → 调用 lunar-convert 技能 → 获取 iso_date
否 → 直接解析日期/时间
│
▼
是否检测到自定义格式?
是 → 提取用户字段名 → 映射到内部值
否 → 使用默认模式
│
▼
所有必需字段是否可用?
否 → 提出一个澄清问题(datetime > title)
是 → 立即输出原始JSON