skills/mac-reminder/SKILL.md
Manage personal todos via macOS Reminders.app. ⚠️ MUST use when user asks to "add a todo", "remind me", "记一下", "加个待办", "待办列表", "完成待办", "查看待办", or any personal task/reminder management. 🔴 Trigger even when user doesn't explicitly say "reminder" if the intent is personal task tracking. Use todowrite for session-level coding steps; use dev-flow for product plans.
npx skillsauth add sampx/agent-tools mac-reminderInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage personal daily tasks via macOS Reminders.app. Not for coding todos or product plans.
| User Intent | Skill |
|-------------|-------|
| Personal reminders, daily tasks, "remind me to..." | This skill |
| Session coding steps, tracking implementation | todowrite tool |
| Product/feature plans, Issue-driven development | dev-flow skill |
reminder.sh with appropriate command./scripts/reminder.sh list [status]
# status: pending (default) | done | all
Output:
☐ Buy milk
☐ Call dentist
☑ Submit report
When: User asks to "看看待办", "show my todos", "what do I need to do"
./scripts/reminder.sh add "<name>"
Output:
Added: Buy milk tomorrow (id: x-apple-reminder://...)
When: User says "帮我记一下...", "add a todo", "remind me to..."
./scripts/reminder.sh complete "<query>"
Features:
Output:
Completed: Buy milk
When: User says "xxx完成了", "mark xxx as done", "complete xxx"
./scripts/reminder.sh delete "<query>"
Features: Same fuzzy matching as complete
Output:
Deleted: Old task
When: User says "删除xxx", "remove xxx", "don't need xxx anymore"
| Variable | Default | Description |
|----------|---------|-------------|
| REMINDER_LIST | 提醒 | Target Reminders list |
Override with environment variable:
REMINDER_LIST="Work" ./scripts/reminder.sh list
Automation Permission: First run triggers macOS permission prompt
iCloud Sync: Changes sync to iPhone/iPad automatically (1-2 min delay)
Default List: Script uses "提醒" list by default; create in Reminders.app if missing
When user says relative time words, default to reasonable hours:
| User says | Interpreted as | |-----------|---------------| | 明天/后天/下周X | That day at 9:00 AM | | 今晚/今天晚上 | Today at 20:00 | | 今天下午 | Today at 14:00 | | 今天上午 | Today at 9:00 |
Never use 0:00 — humans sleep at night. Use current date + N days then set hours to 9.
Always execute from skill root directory:
cd .agents/skills/mac-reminder
./scripts/reminder.sh <command>
| User Prompt | Command |
|-------------|---------|
| "帮我记一下明天买牛奶" | ./scripts/reminder.sh add "明天买牛奶" |
| "看看我的待办" | ./scripts/reminder.sh list |
| "买牛奶完成了" | ./scripts/reminder.sh complete "牛奶" |
| "删除旧的待办" | ./scripts/reminder.sh delete "旧" |
| "显示已完成的" | ./scripts/reminder.sh list done |
| "所有待办" | ./scripts/reminder.sh list all |
For AppleScript patterns and performance optimization, see references/applescript.md.
These verify skill quality after implementation:
Add and List
./scripts/reminder.sh list shows "☐ 明天买牛奶"Complete
./scripts/reminder.sh list done shows "☑ 明天买牛奶"Delete
List Filter
tools
Configure ellamaka, a fork of OpenCode with wopal-space mode. MUST use for any task about ellamaka config, agent frontmatter, permission rules, model/provider selection, formatter settings, config loading order, or why config changes are ignored. Trigger on requests about ellamaka or opencode config files, agent permission overrides, restricting subagents, custom/plugin tool permissions (e.g. wopal_task_*), disabling tools, configuring providers or models, formatter setup, config precedence or layering, or debugging settings that do not take effect. Use this skill even when the user says "opencode" if the actual runtime, config path, or behavior is ellamaka. Prefer this skill whenever the answer depends on the difference between ellamaka and upstream opencode, including wopal-space config loading, plugin tool permissions, or agent frontmatter precedence.
development
Plan quality verification for dev-flow. Goal-backward analysis ensures plans WILL achieve their stated goal before execution burns context. ⚠️ MUST use when: (1) Reviewing Plan quality before approve (2) Wopal completes Plan writing and needs quality gate (3) User asks to "check plan", "verify plan", "review plan" (4) Plan enters planning status and needs pre-execution validation 🔴 Trigger automatically when Plan is ready for review, even if user doesn't explicitly say "review". Agent: rook (read-only verification subagent) Mode: verification, not execution
development
Review implementation results for goal achievement and code quality. Supports both Plan-backed review and planless diff review. ⚠️ MUST use when: (1) Wopal delegates rook to review fae implementation output, (2) Prompt contains "review_type: implementation", (3) Prompt contains changed code file list or Plan path + implementation scope, (4) Any code review request from Wopal. 🔴 Trigger even when user does not explicitly mention "review" if the task involves verifying implementation results. This skill is rook-exclusive (only rook agent can load it).
tools
Foundation rules for how Wopal collaborates with sub-agents such as fae and rook. ⚠️ MUST load before ANY delegation — covers delegation tool APIs, task lifecycle, notifications, status handling, and recovery. 🔴 Trigger: "delegate", "let fae implement", "fae task", "rook review", "check task status", "cancel task", "abort task", "agent collaboration", "委派", "让 fae 执行", "fae 任务", "rook 审查", "检查状态", or any intent to hand work to a sub-agent. 🔴 Never delegate without loading this skill first. Skipping it is serious negligence. Note: this skill does not include workflow-specific prompt templates such as dev-flow templates. Those belong to the corresponding workflow skills.