← 返回
数据分析

Birthday Reminder

Manage birthdays with natural language. Store birthdays in /home/clawd/clawd/data/birthdays.md, get upcoming reminders, calculate ages. Use when the user mentions birthdays, wants to add/remember someone's birthday, check upcoming birthdays, or asks about someone's age/birthday. Understands phrases like "X hat am DD.MM. Geburtstag", "Wann hat X Geburtstag?", "Nächste Geburtstage".
用自然语言管理生日。将生日保存至 /home/clawd/clawd/data/birthdays.md,提供即将到来的提醒和年龄计算。适用于用户提及、添加、查询生日或询问年龄。支持的短语包括 “X hat am DD.MM. Geburtstag”、 “Wann hat X Geburtstag?”、 “Nächste Geburtstage”。
manantra
数据分析 clawhub v1.0.0 1 版本 99556 Key: 无需
★ 1
Stars
📥 3,119
下载
💾 157
安装
1
版本
#latest

概述

Birthday Reminder Skill

Manage birthdays naturally. Store in data/birthdays.md, query with natural language.

Storage

Birthdays are stored in /home/clawd/clawd/data/birthdays.md:

# Geburtstage

- **Valentina** - 14.02.2000 (wird 26)
- **Max** - 15.03.1990

Natural Language Patterns

Adding Birthdays

When user says things like:

  • "Valentina hat am 14. Februar Geburtstag"
  • "Füge hinzu: Max, 15.03.1990"
  • "X wurde am 10.05.1985 geboren"

Action:

  1. Parse name and date
  2. Extract year if provided
  3. Calculate upcoming age: birthday_year - birth_year
  4. Append to /home/clawd/clawd/data/birthdays.md
  5. Confirm with age info

Querying Birthdays

When user asks:

  • "Wann hat Valentina Geburtstag?"
  • "Welche Geburtstage kommen als Nächstes?"
  • "Wie alt wird Valentina?"
  • "Nächster Geburtstag"

Action:

  1. Read /home/clawd/clawd/data/birthdays.md
  2. Parse all entries
  3. Calculate days until each birthday
  4. Sort by upcoming date
  5. Show age turning if year is known

Listing All

When user says:

  • "Zeige alle Geburtstage"
  • "Liste meine Geburtstage"

Action:

  1. Read the file
  2. Show formatted list with days until each

Date Parsing

Support various formats:

  • "14. Februar" → 14.02
  • "14.02." → 14.02
  • "14.02.2000" → 14.02.2000
  • "14.2.2000" → 14.02.2000

Age Calculation

from datetime import datetime

def calculate_turning_age(birth_year, birthday_month, birthday_day):
    today = datetime.now()
    birthday_this_year = today.replace(month=birthday_month, day=birthday_day)
    
    if today.date() <= birthday_this_year.date():
        birthday_year = today.year
    else:
        birthday_year = today.year + 1
    
    return birthday_year - birth_year

Days Until Birthday

def days_until(month, day):
    today = datetime.now()
    birthday = today.replace(month=month, day=day)
    if birthday < today:
        birthday = birthday.replace(year=today.year + 1)
    return (birthday - today).days

Automatic Reminders

For cron/reminders, check birthdays daily and notify if:

  • 7 days before
  • 1 day before
  • On the day

Use the check_reminders() logic from scripts/reminder.py.

File Format

Each line: - Name - DD.MM.YYYY (wird X) or - Name - DD.MM.

Keep the file sorted by date (month/day) for easier reading.

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-28 12:58 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

data-analysis

Excel / XLSX

ivangdavila
创建、检查和编辑 Microsoft Excel 工作簿及 XLSX 文件,支持可靠的公式、日期、类型、格式、重算及模板保留功能。
★ 366 📥 139,963
data-analysis

Data Analysis

ivangdavila
{"answer":"数据分析与可视化。查询数据库、生成报告、自动化电子表格,将原始数据转化为清晰可行的见解。适用于:(1) 您……"}
★ 198 📥 64,859
data-analysis

A股量化 AkShare

mbpz
A股量化数据分析工具,基于AkShare库获取A股行情、财务数据、板块信息等。用于回答关于A股股票查询、行情数据、财务分析、选股等问题。
★ 162 📥 59,675