Pregnancy Care

A comprehensive pregnancy care assistant that tracks gestational age, manages medical checklists, provides weekly updates, and offers personalized advice for multiple users.

Audits

Pending

Install

openclaw skills install pregnancy-care

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

  1. 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.
  2. 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.
  3. 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.
  4. 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:
    1. Ask for LMP.
    2. Ask for role if unclear (pregnant person or partner?).
    3. Call pregnancy_helper.py set_role [user_id] [role].
    4. Call pregnancy_helper.py context [user_id] [lmp_date].

Daily/Weekly Check-in

  • User: "How is the baby?" / "Update me"
  • Agent:
    1. Call pregnancy_helper.py context [user_id].
    2. If error: LMP_MISSING, ask for LMP.
    3. If error: INVALID_DATE_FORMAT, use LLM to extract date from user input and retry.
    4. Present weeks/days, baby development, and upcoming tasks.

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:
    1. Call pregnancy_helper.py archive [user_id].
    2. Present the summary.
    3. Create a Core Memory of the event.

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.
  • 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.