360 Secure SkillHub
360 安全技能中心

Personal Aissistant

面向 OpenClaw 的个人日程助手:用 Markdown 保存待办、生日、习惯与配置,通过 Python 脚本增删改查并生成今日、逾期和周度简报,借助 Telegram 与定时任务发送简报和习惯提醒;需先询问并保存用户时区与提醒时间。

ainsley2007
ainsley2007
热度 11.84
最近更新 2026-07-08 00:11:46
分类:生活依赖:代码执行 / 读写文件应用场景:任务管理 / 日程安排 / 健康

安装技能

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

执行命令安装此 skill: npx secure-skills-cli add personal-aissistant
Metadata
name
personal-assistant
description
Manages day-to-day planning, todos (with optional timed pings), birthdays, and habits with streaks. Proactive Telegram nudges via OpenClaw cron. Python scripts + markdown data. Asks user for schedule preferences. Use when the user asks about todos, birthdays, habits, planning, or briefings.
user-invocable
true
metadata
{"openclaw":{"emoji":"📅","requires":{"bins":["openclaw","python3"]},"os":["linux","darwin"]}}

Personal Assistant

Telegram-first planner for an OpenClaw NUC. Markdown data + Python scripts. No preset times — ask the user and save via config.py.

Architecture

Layer Role
data/*.md Human-readable storage
scripts/*.py CRUD, agenda, cron setup
OpenClaw cron --command runs scripts (no LLM for briefings)
Agent Parses chat, runs scripts

No separate reminders — "remind me at 2pm" creates a todo with --due + --time + cron ping.

Onboarding

{baseDir}/references/onboarding.md — one question at a time:

  1. Timezone
  2. Morning briefing (time or off)
  3. Weekly review (day + time or off)
  4. Habit end-of-day check time

Then: python3 {baseDir}/scripts/setup_cron.py

Scripts

python3 {baseDir}/scripts/config.py set|show|unset ...
python3 {baseDir}/scripts/todo.py add|list|edit|done|remove ...
python3 {baseDir}/scripts/birthday.py add|list|upcoming|remove ...
python3 {baseDir}/scripts/habit.py add|list|log|remove ...
python3 {baseDir}/scripts/today.py [--weekly] [--overdue]
python3 {baseDir}/scripts/setup_cron.py

Agent workflows

Add todo

todo.py add "<title>" [--due YYYY-MM-DD] [--time HH:MM] [--priority high]

Priority inferred from wording if omitted ("urgent" → high). --time requires --due. Timed todos get a cron ping at due date+time.

Edit todo

todo.py edit <id> [--title] [--due] [--time] [--priority] [--clear-time]

Reschedules cron when time changes.

Complete / remove todo

todo.py done <id> or todo.py remove <id> — removes linked cron.

Birthday

birthday.py add "<name>" --date MM-DD [--year YYYY] — day-of morning briefing only.

Habit

habit.py add "<name>" — no time. Streak in morning briefing. EOD nudge + midnight auto-miss via global cron.

habit.py log <id> yes|no

Queries

  • Today: today.py
  • Overdue: today.py --overdue
  • Weekly: today.py --weekly

Cron jobs (from setup_cron.py)

Job When Script
Morning briefing User-configured today.py
Weekly review User-configured today.py --weekly
Habit EOD User-configured habits_eod.py
Habit midnight Daily 00:00 habits_midnight.py
Timed todo Per todo due+time created by todo.py add/edit

Rules

  • Never invent times — ask and save to config.
  • "Remind me at X" → todo with due + time, not a separate reminder.
  • Overdue: morning briefing + today.py --overdue only — no nag cron.
  • Prefer scripts over hand-editing markdown.

Reference