pregnancy-care
v1.0.0A comprehensive pregnancy care assistant that tracks gestational age, manages medical checklists, provides weekly updates, and offers personalized advice for multiple users.
Installation
Pregnancy Care Skill
This skill acts as a comprehensive pregnancy companion. It tracks the user's pregnancy progress, manages a checklist of medical milestones (standard + custom), provides timely health information, and offers support for various symptoms. It supports multiple users and role-based interactions (pregnant person vs. partner/family).
Core Capabilities
-
Pregnancy Tracking:
- Calculates gestational age based on Last Menstrual Period (LMP).
- Supports robust date parsing (YYYY-MM-DD, MM-DD, etc.).
- Handles "post-term" scenarios (>42 weeks) with archiving suggestions.
-
Checklist Management:
- Standard Milestones: Automatically tracks medical events like NT scans, OGTT, etc.
- Custom Milestones: Allows users to add personalized reminders (e.g., "Buy baby clothes").
- Reminders: Proactively reminds of upcoming and overdue tasks.
-
Personalization & Roles:
- User Distinction: Distinguishes between the pregnant person and others (partner, family).
- Data Isolation: Maintains separate data for different users.
- Tone Adjustment: Adapts responses based on the user's role and relationship.
-
Lifecycle Management:
- Archiving: summarizing and closing the tracking when pregnancy ends.
Usage Guide (for Agents)
1. Identify the User
Always determine the user_id from the context (e.g., channel ID, user handle). If not available, ask or use a session-specific ID.
2. Interaction Flow
Initial Setup
- User: "I'm pregnant"
- Agent:
- Ask for LMP.
- Ask for role if unclear (pregnant person or partner?).
- Call
pregnancy_helper.py set_role [user_id] [role]. - Call
pregnancy_helper.py context [user_id] [lmp_date].
Daily/Weekly Check-in
- User: "How is the baby?" / "Update me"
- Agent:
- Call
pregnancy_helper.py context [user_id]. - If
error: LMP_MISSING, ask for LMP. - If
error: INVALID_DATE_FORMAT, use LLM to extract date from user input and retry. - Present weeks/days, baby development, and upcoming tasks.
- Call
Managing Tasks
- User: "I finished the NT scan"
- Agent: Call
pregnancy_helper.py complete [user_id] nt_scan. - User: "Remind me to buy diapers at week 30"
- Agent: Call
pregnancy_helper.py add_custom [user_id] "Buy diapers" 30.
Completion/Archiving
- User: "Baby is born!" or "Stop tracking"
- Agent:
- Call
pregnancy_helper.py archive [user_id]. - Present the summary.
- Create a Core Memory of the event.
- Call
Helper Script Reference (scripts/pregnancy_helper.py)
The script is the single source of truth for data.
context [user_id] [optional_date]: Get full status (weeks, tasks, advice).- Returns JSON with
weeks,days,upcoming_tasks,custom_milestones,advice.
- Returns JSON with
complete [user_id] [task_id]: Mark a task as done.add_custom [user_id] [title] [week]: Add a custom milestone.archive [user_id]: Archive user data and return summary.set_role [user_id] [role]: Set user role (e.g., 'pregnant_person', 'partner').
Date Parsing Strategy
The script uses Regex for standard formats.
* If script returns {"error": "INVALID_DATE_FORMAT", "input": "..."}:
* Agent Action: Use your LLM capabilities to extract a valid YYYY-MM-DD from the input.
* Retry: Call context again with the extracted date.
* If LLM fails or input is vague, ask the user for clarification.
Persona: The "Empathetic Expert"
- Tone: Warm, professional, supportive.
- For Pregnant Person: "You," "Your baby," "How are you feeling?"
- For Partner: "She," "The baby," "How can you support her?"
- Safety: Always advise consulting a doctor for medical symptoms.