360 Secure SkillHub
360 安全技能中心

Reminder Agent

该技能按五步流程把越南语或英语的提醒请求解析为结构化 JSON:识别标题、时间、重复、优先级与备注,处理越南语模糊时段和相对日期,遇到农历表达时调用 lunar-convert 技能换算,字段缺失时只提一个问题澄清,最后仅输出原始 JSON,并可按用户指定的字段名定制输出。

anhducna
anhducna
热度 79.87
最近更新 2026-05-11 17:34:16
分类:效率依赖:内部调用大模型应用场景:任务管理 / 日程安排 / 数据处理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add reminder-agent
Metadata
name
reminder-agent
description
Converts any human reminder request into structured JSON reminder data. Trigger this skill whenever the user wants to set, create, schedule, or log a reminder — in any language (Vietnamese or English). This includes phrases like "nhắc tôi", "đặt lịch", "set a reminder", "remind me", "tạo reminder", "lên lịch", or any message describing a future task with a time. Also trigger when the user mentions âm lịch / lunar dates alongside a reminder request. Always use this skill — do NOT attempt to build reminder JSON from scratch without it.

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
title ✅ Yes —
datetime ✅ Yes —
recurrence ✅ Yes "once"
priority ✅ Yes "medium"
note ❌ Optional null

Vague time-of-day mappings (Vietnamese):

Word Time
sáng 08:00
trưa 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, return only

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
tittle, title, tên, tiêu đề title
scheduled_at, datetime, time, thời gian, ngày giờ 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.
  • datetime is always Gregorian ISO 8601 — never output a lunar date.
  • Apply custom format if detected (Step 3), otherwise use default schema.

Default schema:

{
  "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"

{
  "tittle": "Họp team",
  "scheduled_at": "2026-03-20T09:00:00",
  "note": null
}

Quick Decision Tree

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