Birthday Reminder
Manage birthdays with natural language.
- Rating
- 4.1 (495 reviews)
- Downloads
- 1,762 downloads
- Version
- 1.0.0
Overview
Manage birthdays with natural language.
Complete Documentation
View Source →
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"
- Parse name and date
- Extract year if provided
- Calculate upcoming age:
birthday_year - birth_year - Append to
/home/clawd/clawd/data/birthdays.md - 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"
- Read
/home/clawd/clawd/data/birthdays.md - Parse all entries
- Calculate days until each birthday
- Sort by upcoming date
- Show age turning if year is known
Listing All
When user says:- "Zeige alle Geburtstage"
- "Liste meine Geburtstage"
- Read the file
- 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
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.
Installation
openclaw install birthday-reminder
💻Code Examples
- **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# Geburtstage
- **Valentina** - 14.02.2000 (wird 26)
- **Max** - 15.03.1990from 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_yeardef 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).daysTags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.