← 返回 Skills 市场
manantra

Birthday Reminder

作者 Manantra · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
2579
总下载
1
收藏
4
当前安装
1
版本数
在 OpenClaw 中安装
/install 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".
使用说明 (SKILL.md)

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() \x3C= 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 \x3C 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.

安全使用建议
This skill appears to implement a simple local birthday manager and contains no networking or secret access, but there is a clear mismatch between the human-readable SKILL.md and the actual scripts: SKILL.md says to store and append markdown in /home/clawd/clawd/data/birthdays.md, while both scripts read/write /home/clawd/clawd/data/birthdays.json as a JSON dictionary. Before installing or enabling the skill: 1) Back up any existing birthdays.md and birthdays.json in /home/clawd/clawd/data. 2) Decide whether you want markdown or JSON storage; if you rely on the markdown file, the provided scripts will not read it. 3) Inspect or run the scripts in a sandbox to confirm the behavior (add/list/check) and ensure they meet your expectations. 4) If you accept the JSON approach, update SKILL.md or the agent instructions so the agent and scripts use the same path/format to avoid silent data loss. Finally, note the skill's source/homepage are unknown — trust this only if you reviewed the code yourself or run it in an isolated environment.
功能分析
Type: OpenClaw Skill Name: birthday-reminder Version: 1.0.0 The OpenClaw AgentSkills skill bundle 'birthday-reminder' is benign. Its purpose is to manage birthdays, storing data in a dedicated JSON file (`/home/clawd/clawd/data/birthdays.json`) within the agent's data directory. The `SKILL.md` provides clear, functional instructions to the AI agent without any prompt injection attempts to subvert its behavior. The Python scripts (`scripts/birthday.py` and `scripts/reminder.py`) perform only local file I/O on this specific data file and date calculations, with no evidence of data exfiltration, malicious execution, persistence mechanisms, or access to sensitive system resources.
能力评估
Purpose & Capability
The skill claims to store entries in /home/clawd/clawd/data/birthdays.md (markdown lines) and describes appending to that file, but both included scripts read/write /home/clawd/clawd/data/birthdays.json and manage a JSON object keyed by name. The documented file format and the actual on-disk format differ, and the 'append' described in SKILL.md does not match the scripts' behavior (scripts overwrite/update a JSON dictionary). This is an incoherence between description and implementation.
Instruction Scope
SKILL.md instructs the agent to read/append a birthday markdown file in the user's home-data path and refers to check_reminders logic; the shipped scripts operate only on files under /home/clawd/clawd/data and do not access external networks, other system paths, or environment variables. The main concern is the mismatch in file path/format (MD vs JSON) which could lead the agent to write to a different file than the scripts read, producing surprise or data loss.
Install Mechanism
There is no install spec (instruction-only at registry level) and included scripts are plain Python files — nothing is downloaded or executed from remote URLs during installation. This is the lower-risk install pattern.
Credentials
The skill requests no environment variables, no credentials, and touches only a data file under /home/clawd/clawd/data. No excessive or unrelated secrets are requested.
Persistence & Privilege
always is false and the skill does not request system-wide privileges. It will create and write files under /home/clawd/clawd/data (the scripts create the parent directory if missing), which is expected for local data storage but should be noted because it writes to the user's home-area.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install birthday-reminder
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /birthday-reminder 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Birthday Reminder Skill initial release. - Manage birthdays using natural language input. - Store birthdays in `/home/clawd/clawd/data/birthdays.md`. - Add, query, and list birthdays, including parsing dates in multiple formats. - Calculate current age and days until upcoming birthdays. - Supports automatic reminders for birthdays (7 days before, 1 day before, and on the day). - Returns formatted, sorted lists of birthdays with relevant info. SKILL.md • scripts/birthday.py • scripts/reminder.py • references/ (Ordner)
元数据
Slug birthday-reminder
版本 1.0.0
许可证
累计安装 4
当前安装数 4
历史版本数 1
常见问题

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". 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 2579 次。

如何安装 Birthday Reminder?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install birthday-reminder」即可一键安装,无需额外配置。

Birthday Reminder 是免费的吗?

是的,Birthday Reminder 完全免费(开源免费),可自由下载、安装和使用。

Birthday Reminder 支持哪些平台?

Birthday Reminder 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Birthday Reminder?

由 Manantra(@manantra)开发并维护,当前版本 v1.0.0。

💬 留言讨论