Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Write spoken daily planning notes into an Obsidian Mandala Grid day-plan Markdown file. Use when the user says 今日的日計畫, 今日的日計劃, 日計畫, 日計劃, 青蛙, frog, 🐸, 九宮, 曼陀羅, Mandala Grid, 時段, time block, 日記, or asks to place spoken tasks/events/reflections into today's Obsidian daily plan sections.
.claude/skills/twhsi-todays-daily-plan/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-21 | ✗→✓ | ▲ Improved | 2% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 67% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 28% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 9% | 0% |
| case-07 | ✓→✗ | ▼ Worse | -7% | 0% |
Use this skill to turn the user's spoken Chinese or mixed-language notes into precise updates inside an Obsidian Mandala Grid day-plan Markdown file. Preserve Mandala Grid section markers, route content into today's 8 time slots, and append diary reflections without rewriting unrelated days.
Default target file, when the user does not provide another path: /Users/twhsi/+ 02 Area_Mandlal Diary 曼陀羅手帳/00 Daily/1.a 2026 日計劃.md
Before manually editing a Mandala Grid day-plan file, read references/mandala-grid-day-plan.md. Prefer scripts/update_today_plan.py for section-safe updates.
Only operate on files with mandala: true and mandala_plan.enabled: true. Do not alter <!--section: ...--> IDs except to add missing child sections N.1 through N.8 under an existing day root section.
169.mandala_plan.slots.--apply to preview. If the task resumes after an interruption, append only entries that are still missing.Use explicit time first, then semantic cues.
1 / 陽光起床運動: 起床, 太陽, 陽光, 跑步, 運動, 靜坐, 早餐, 心情, 習慣.2 / 09-12: 上午, 早上, 09, 9點, 10點, 11點, 日文課, 深度工作.3 / 12-13: 中午, 午餐, 午睡, 12點, 領午餐.4 / 13-15: 13點, 14點, 下午一點, 下午兩點, 午後開始.5 / 15-18: 15點, 16點, 17點, 下午三點到六點.6 / 18-19: 18點, 六點, 六點半, 晚餐, 傍晚.7 / 19-21: 晚上, 19點, 20點, 合唱, 管委會, 晚間課, 會議.8 / 日記: 日記, 反省, 感謝, 心得, 今天發生, 回顧, 感覺.If the user says 青蛙, frog, or 🐸, preserve that marker in the entry. Route it by the surrounding time words; if no time is present, ask one short clarification or append to 日記 when it is clearly a reflection.
If the user gives both a vague spoken time and an explicit slot, prefer the explicit slot. Example: 八點那一格...十八點這格 should go to 18-19 when the user names 18點 or 18-19. Preserve the user's chosen names, but normalize obvious speech/context slips when the surrounding context is clear, such as 小木 to 小睦 in this diary and Scale loops to Skill Loops in a Skill/GitHub topic.
羽球, 林君, Esor.- [ ] 老實寫書.- [x] 買午餐.Use the script for deterministic writes:
bashpython3 scripts/update_today_plan.py \ --file "/Users/twhsi/+ 02 Area_Mandlal Diary 曼陀羅手帳/00 Daily/1.a 2026 日計劃.md" \ --date 2026-06-18 \ --slot "09-12" \ --text "羽球" \ --apply
Preview without writing by omitting --apply. Use --kind diary, --kind task, --kind done, or --kind plain when the output format should be explicit.
The script reports duplicate_skipped: true when the exact entry already exists in the target section. Treat that as a successful no-op, especially when continuing after a partial write.
User: 今日的日計畫,上午羽球,下午三點林君,日記 Miru 來訪,狀況不是很好,加油。
Action:
羽球 to 09-12.林君 to 15-18.User: 🐸 晚上耿彬 Hermes+Codex 活動。
Action: Append 🐸 耿彬 Hermes+Codex 活動 to 19-21.
User:
text請做 2026-06-19 五 的日計畫: 09-12 準備晚上直播投影片。 13-15 14:00 小睦到達。 18-19 晚上和小睦一起吃披薩。 19-21 20:00 騰訊直播,主題:Hermes、Skill Loops、GitHub。
Action:
2026-06-19 first.2026-06-19 section and report the reusable syntax if requested.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-02 | fail→fail | 7,178 | 8,089 | +13% | 1 | 1 | 0% | 1,519 | 2,092 | +38% | 0 | 0 | — |
case-01 | fail→fail | 11,081 | 6,260 | -44% | 1 | 1 | 0% | 1,951 | 1,887 | -3% | 0 | 0 | — |
case-03 | fail→fail | 9,664 | 6,442 | -33% | 1 | 1 | 0% | 1,764 | 1,723 | -2% | 0 | 0 | — |
case-04 | fail→fail | 7,510 | 6,312 | -16% | 1 | 1 | 0% | 1,165 | 2,526 | +117% | 0 | 0 | — |
case-05 | pass→pass | 12,929 | 9,990 | -23% | 1 | 1 | 0% | 2,185 | 3,155 | +44% | 0 | 0 | — |
case-06 | fail→fail | 6,250 | 4,686 | -25% | 1 | 1 | 0% | 1,038 | 2,247 | +116% | 0 | 0 | — |
case-07 | pass→fail | 12,845 | 6,500 | -49% | 1 | 1 | 0% | 2,076 | 1,941 | -7% | 0 | 0 | — |
case-08 | pass→fail | 12,309 | 5,950 | -52% | 1 | 1 | 0% | 2,047 | 1,792 | -12% | 0 | 0 | — |
case-09 | pass→fail | 10,746 | 7,889 | -27% | 1 | 1 | 0% | 1,650 | 1,939 | +18% | 0 | 0 | — |
case-10 | pass→fail | 8,590 | 5,952 | -31% | 1 | 1 | 0% | 1,708 | 1,772 | +4% | 0 | 0 | — |
case-11 | pass→fail | 3,933 | 6,508 | +65% | 1 | 1 | 0% | 610 | 1,760 | +189% | 0 | 0 | — |
case-12 | pass→fail | 13,340 | 6,953 | -48% | 1 | 1 | 0% | 1,870 | 1,908 | +2% | 0 | 0 | — |
case-13 | pass→fail | 6,939 | 6,871 | -1% | 1 | 1 | 0% | 1,058 | 1,760 | +66% | 0 | 0 | — |
case-14 | pass→fail | 4,692 | 7,585 | +62% | 1 | 1 | 0% | 661 | 1,834 | +177% | 0 | 0 | — |
case-15 | fail→fail | 7,033 | 8,698 | +24% | 1 | 1 | 0% | 1,220 | 1,964 | +61% | 0 | 0 | — |
case-21 | fail→pass | 11,803 | 2,283 | -81% | 1 | 1 | 0% | 1,792 | 1,834 | +2% | 0 | 0 | — |
case-16 | fail→pass | 11,860 | 14,460 | +22% | 1 | 1 | 0% | 2,013 | 3,357 | +67% | 0 | 0 | — |
case-17 | fail→fail | 2,856 | 6,722 | +135% | 1 | 1 | 0% | 497 | 1,940 | +290% | 0 | 0 | — |
case-18 | pass→fail | 5,732 | 6,682 | +17% | 1 | 1 | 0% | 882 | 1,848 | +110% | 0 | 0 | — |
case-19 | fail→pass | 11,044 | 5,374 | -51% | 1 | 1 | 0% | 2,007 | 2,563 | +28% | 0 | 0 | — |
case-20 | fail→pass | 15,668 | 6,189 | -60% | 1 | 1 | 0% | 2,241 | 2,438 | +9% | 0 | 0 | — |
case-22 | pass→pass | 16,516 | 7,354 | -55% | 1 | 1 | 0% | 2,647 | 2,637 | -0% | 0 | 0 | — |
case-23 | fail→fail | 10,323 | 7,058 | -32% | 1 | 1 | 0% | 1,497 | 1,801 | +20% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 8 counted toward the lift figure. The other 15 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -22 percentage points is the difference between those two pass rates over the 8 comparable cases. 12 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.