← Back to Skills Marketplace
manantra

Birthday Reminder

by Manantra · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
2579
Downloads
1
Stars
4
Active Installs
1
Versions
Install in OpenClaw
/install birthday-reminder
Description
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".
README (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.

Usage Guidance
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.
Capability Analysis
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.
Capability Assessment
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.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install birthday-reminder
  3. After installation, invoke the skill by name or use /birthday-reminder
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
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)
Metadata
Slug birthday-reminder
Version 1.0.0
License
All-time Installs 4
Active Installs 4
Total Versions 1
Frequently Asked Questions

What is 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". It is an AI Agent Skill for Claude Code / OpenClaw, with 2579 downloads so far.

How do I install Birthday Reminder?

Run "/install birthday-reminder" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Birthday Reminder free?

Yes, Birthday Reminder is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Birthday Reminder support?

Birthday Reminder is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Birthday Reminder?

It is built and maintained by Manantra (@manantra); the current version is v1.0.0.

💬 Comments