W

Weekly Relationship Ping

Reminds you to reach out to important contacts based on last interaction date, relationship strength, and life events

SkillClipticsdaily digestsv1.0.0MIT
0 views0 copies

Weekly Relationship Ping

Reminds you to nurture important relationships by tracking last interaction dates, relationship strength tiers, and life events for your personal and professional contacts. Goes beyond a basic CRM by understanding relationship dynamics -- prioritizing people you are drifting from, surfacing context before you reach out, and suggesting personalized conversation starters based on their recent activity or shared history.

Supported Platforms & Integrations

PlatformSetup MethodAuth TypeNotes
Google ContactsGoogle People APIOAuth 2.0Contact details, birthdays, notes
Apple ContactsContacts framework / AppleScriptSystem permissionmacOS, reads all contact groups
LinkedInLinkedIn APIOAuth 2.0Professional connections, job changes
iMessageAppleScript bridgeSystem permissionmacOS, reads last message timestamps

When to Use This Skill

  • Use this when you value relationships but forget to reach out consistently
  • Use this when you have 50+ meaningful contacts and cannot mentally track them all
  • Use this when you want to maintain a professional network without it feeling transactional
  • Consider alternatives when you manage client relationships (use a proper CRM)

Quick Start

# Minimal configuration - relationship-ping.yml skill: weekly-relationship-ping schedule: "sunday-10:00" contacts: inner_circle: frequency: weekly people: - name: "Mom" phone: true birthday: "1962-06-15" notes: "Loves hearing about the kids" - name: "Best friend Jake" preferred: text last_contact: "2026-03-10" close_friends:
claude /weekly-relationship-ping

Expected Output

RELATIONSHIP PING - Week of March 15, 2026
5 people to connect with this week

OVERDUE (contact needed):

1. Mike R. (Close Friend) - Last contact: 19 days ago
   Frequency: biweekly | Status: 5 days overdue
   Context: College roommate. Baby born January 12 -- now ~2 months old.
   Suggested message: "Hey Mike, how's the little one doing at 2
   months? Sleep getting any better? Would love to catch up soon."
   Preferred method: Text

2. Former boss David (Professional) - Last contact: 38 days ago
   Frequency: monthly | Status: 8 days overdue
...

Advanced Configuration

Platform-Specific Setup

Gmail Last Contact Detection

auto_detect: gmail: enabled: true oauth_credentials_env: "GMAIL_OAUTH" match_by: "email_address" scan_sent: true scan_received: true update_last_contact: true

Full Options Reference

ParameterTypeDefaultDescription
schedulestring"sunday-10:00"Weekly ping reminder time
contactsobjectrequiredContact tiers with frequency and people
max_pings_per_weeknumber5Maximum outreach suggestions per week
detect_life_eventsbooleantrueAuto-detect birthdays, job changes
auto_detect_last_contactbooleanfalseScan email/iMessage for last contact dates
birthday_advance_daysnumber7Days before birthday to remind

Core Concepts

ConceptPurposeHow It Works
Tiered FrequencyDifferent cadences for different relationshipsInner circle weekly, close friends biweekly, professional monthly, extended quarterly
Drift DetectionCatches fading relationships before they go coldFlags contacts past their scheduled frequency with urgency proportional to delay
Context MemoryMakes outreach feel genuine, not roboticStores conversation topics and life events to suggest relevant, personal messages
Life Event AwarenessSurfaces natural outreach opportunitiesDetects birthdays, job changes, promotions, and milestones for timely congratulations

Architecture

Contact Config ──> Tier Manager ──> Frequency Calculator ──> Due Date Engine
                                            |                        |
  Gmail/iMessage ──> Last Contact Detector ──┘                 Overdue Ranker

Workflow Examples

Scenario 1: Maintaining professional network after job change

Input: 15 professional contacts from previous company, frequency set to monthly Processing: Tracks which former colleagues you have stayed in touch with post-departure. Prioritizes relationships that are drifting (no contact since you left). Detects LinkedIn job changes for natural outreach opportunities. Output: Weekly suggestions focused on former colleagues with context like "Last talked about joining a startup. They posted about launching their product last week -- great time to reach out."

Scenario 2: Birthday reminder with context

Input: Sarah's birthday is in 5 days, last contact was 8 days ago (biweekly, not overdue) Processing: Moves Sarah to this week's ping list despite not being due for biweekly contact yet. Enriches reminder with recent context and relationship history. Output: "Sarah Chen's birthday is March 20 (turning 32). You last talked about her payments project. Consider a birthday coffee invitation: 'Happy birthday, Sarah! Want to grab birthday coffee this week? I want to hear how the payments project is going.'"

Best Practices

  1. Start with 15-25 contacts maximum -- You cannot meaningfully maintain unlimited relationships. Choose the people who matter most and track them intentionally. Add.

  2. Update context notes after every interaction -- After calling Mom, spend 30 seconds adding "Talked about school enrollment, she's excited about the art program." This makes.

  3. Use suggested messages as starting points, not scripts -- The AI-generated message starters save you from blank-message paralysis. Adapt them to your voice and add personal details the.

Common Issues

  1. iMessage last contact not updating -- The AppleScript bridge requires Full Disk Access permission on macOS. Grant this in System Preferences > Privacy & Security >.

  2. LinkedIn life events not detecting -- LinkedIn API access is restricted. If you do not have API access, the skill falls back to manual life event entries. You can.

Privacy & Data Handling

Relationship data is among the most personal data you have and is handled with maximum care. All contact information, interaction history, and relationship notes are stored exclusively on your local machine in ~/.claude/data/relationship-ping/. No contact names, phone numbers, relationship details, or conversation notes are ever transmitted to external services. When using Gmail or iMessage auto-detection, the skill reads timestamps locally and stores only the date of last contact, not message content.

Community

Reviews

Write a review

No reviews yet. Be the first to review this template!

Similar Templates