skills$openclaw/thoughtful
regalstreak5.6kā˜…

by regalstreak

thoughtful – OpenClaw Skill

thoughtful is an OpenClaw Skills integration for coding workflows. Your thoughtful companion for WhatsApp - remembers what matters, helps you stay present in your relationships.

5.6k stars1.2k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

namethoughtful
descriptionYour thoughtful companion for WhatsApp - remembers what matters, helps you stay present in your relationships. OpenClaw Skills integration.
ownerregalstreak
repositoryregalstreak/thoughtful
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @regalstreak/thoughtful
last updatedFeb 7, 2026

Maintainer

regalstreak

regalstreak

Maintains thoughtful in the OpenClaw Skills directory.

View GitHub profile
File Explorer
6 files
.
scripts
generate-summary.sh
931 B
process-and-summarize.js
7.4 KB
_meta.json
277 B
README.md
5.7 KB
SKILL.md
10.2 KB
SKILL.md

name: thoughtful description: Your thoughtful companion for WhatsApp - remembers what matters, helps you stay present in your relationships. metadata: {"openclaw":{"emoji":"šŸ’­","requires":{"bins":["wacli-readonly"]}}}

thoughtful

Your thoughtful companion for WhatsApp.

Goes beyond simple message summaries - helps you maintain relationships, catch what's slipping through the cracks, and communicate with intention instead of just reacting.

What It Does

šŸ“Š Smart Tracking

  • Pending tasks - action items from any conversation, tracked until complete
  • Waiting on - things you asked about, waiting for responses
  • Commitments - promises you made, deadlines you mentioned
  • Relationship dynamics - sentiment shifts, response patterns, quiet conversations
  • Important dates - birthdays, events, deadlines mentioned in chat
  • Decisions - choices you made that you might need to remember

🧠 Communication Coaching

Acts as your emotionally intelligent assistant to help you:

  • Catch things left hanging that need reply or closure
  • Notice when tone/sentiment shifts in relationships
  • Find good moments to check in or express appreciation
  • Re-engage quiet conversations without awkwardness
  • Stay intentional, not reactive

šŸ“ Daily Summaries

Warm, conversational catch-ups that feel like a friend briefing you, not a robot checklist.

Includes:

  • What's new (last 24h)
  • What's still pending (from days/weeks ago)
  • Relationship insights
  • Suggested conversation starters
  • Communication nudges

Storage

All data stored in: ${WORKDIR}/thoughtful-data/ (defaults to ~/clawd/thoughtful-data/)

thoughtful-data/
ā”œā”€ā”€ config.json          # Your preferences
ā”œā”€ā”€ state.json           # Processing state
ā”œā”€ā”€ tasks.json           # Pending items, commitments, waiting-on
ā”œā”€ā”€ people.json          # Relationship tracking per contact
ā”œā”€ā”€ summaries/           # Historical summaries
└── context/             # Conversation context per chat

Configuration

Interactive Setup (Recommended): When first using the skill, the agent will guide you through setup via chat:

  • Which WhatsApp groups to track (shows list, you select)
  • Priority contacts to always highlight
  • Summary timing preferences
  • Tracking features to enable/disable

All configuration happens through conversation - no manual file editing needed.

Manual Configuration (Advanced): Edit ${WORKDIR}/thoughtful-data/config.json to:

  • Add/remove groups from whitelist
  • Mark priority contacts
  • Adjust tracking preferences
  • Set summary timing

Communication Coach Prompting

The skill uses this framework (inspired by littlebird):

Act as a thoughtful communication coach with a practical, emotionally intelligent lens.

Help improve communication in relationships with peers, colleagues, and friends by:

  1. Reflecting on interactions - Have I left anything hanging? Has tone shifted?
  2. Suggesting check-ins - Good moments to reach out or show appreciation
  3. Providing conversation starters - Thoughtful prompts to start/restart conversations
  4. Re-engagement guidance - How to re-open quiet conversations without awkwardness

Tone: Clear, warm, and direct. No fluff, not robotic. Practically useful.

How It Works

Data Collection

  1. Fetches messages from wacli-readonly (last 24h + older pending items)
  2. Processes DMs + whitelisted groups only
  3. Extracts action items, sentiment, commitments, dates
  4. Updates tracking files

Analysis & Insights

Uses LLM to:

  • Understand conversation context and tone
  • Identify what needs attention vs what can wait
  • Detect relationship patterns (someone getting frustrated, conversations going quiet)
  • Suggest thoughtful responses and check-ins

Summary Generation

Creates warm, human summary with:

  • What's new - fresh messages and action items
  • Still pending - older tasks not yet complete
  • Relationship insights - "Alice has asked 3 times, might be frustrated"
  • Suggested actions - "Good time to check in with Bob"
  • Conversation starters - Specific prompts you can send

Interactive Task Management

Summary includes buttons to:

  • āœ… Mark tasks done
  • ā­ļø Still pending
  • āŒ Won't do
  • šŸ’¬ Draft reply

Example Summary

Morning, Neil! ā˜€ļø

Here's your WhatsApp catch-up:

šŸ†• WHAT'S NEW (last 24h):

**Alice is waiting on you** (3 messages)
She's asked about Tuesday's meeting twice now and sent a restaurant link. 
Feels time-sensitive - she mentioned "need to know by tonight."

**Bob's getting urgent** (2 messages)
Those design files he asked for? Now needs them "before EOD." 
This has been pending for 2 days.

**House party group** (12 messages)
Weekend plans firming up. They're organizing who brings what.
Not urgent, but you might want to check in before Saturday.

ā° STILL PENDING:

- Confirm Tuesday meeting - Alice (**5 days old**, asked 3x)
- Send design files - Bob (urgent, 2 days old)
- Review contract - Lawyer (low priority, 1 week old)

šŸ’” COMMUNICATION INSIGHTS:

**Relationships that need attention:**
- Alice: Tone shifted from casual to "please let me know" - 
  she might be frustrated you haven't confirmed yet
- Bob: This is the second follow-up - shows it's important to him

**Quiet conversations worth reviving:**
- Haven't heard from Priya in 2 weeks (you asked about her project)
- Charlie went quiet after you said you'd think about his idea

šŸ“ SUGGESTED ACTIONS:

**For Alice:**
"Hey! Sorry for the delay - yes, Tuesday works. That restaurant 
looks perfect, let's do 7pm?"

**For Bob:**
"On it - will have files to you by 3pm today. Thanks for the patience!"

**For Priya (re-engage):**
"Hey Priya! Been thinking about that project you mentioned - 
how's it going?"

Did you complete: "Confirm Tuesday meeting with Alice"?
[āœ… Done] [ā­ļø Still pending] [āŒ Won't do] [šŸ’¬ Draft reply]

First-Time Setup

When a user first installs the skill, guide them through interactive setup:

  1. Authenticate wacli-readonly

    • Run wacli-readonly auth --qr-file /tmp/whatsapp-qr.png (in sandbox)
    • Send QR code image to user
    • Wait for authentication confirmation
  2. List available groups

    • Run wacli-readonly groups list (in sandbox)
    • Show user their WhatsApp groups
    • Ask which groups to include in summaries
  3. Configure preferences

    • Ask about priority contacts
    • Confirm summary timing (default: 1pm daily)
    • Confirm tracking features (sentiment, commitments, etc.)
  4. Create cron job

    • Set up daily summary cron (isolated session)
    • Confirm it's scheduled correctly
  5. Test run

    • Generate first summary to verify setup
    • Deliver via Telegram

Usage

IMPORTANT: All thoughtful operations run in sandbox.

When generating summaries:

  1. Use the thoughtful skill
  2. Run scripts in sandbox: exec("~/clawd/skills/thoughtful/scripts/generate-summary.sh", {host: "sandbox"})
  3. Read generated prompt from thoughtful-data/context/last-prompt.txt
  4. Use OpenClaw's LLM for summary generation
  5. Deliver via current channel

The skill will:

  • Fetch messages from wacli-readonly (sandbox)
  • Process and analyze conversations
  • Generate thoughtful summary using OpenClaw LLM
  • Track tasks and relationship insights
  • Deliver warm, conversational summary

Cron Setup

IMPORTANT:

  • Always use sessionTarget: "isolated" - runs independently
  • Never use sessionTarget: "main" - will not deliver properly
  • All operations run in sandbox

Daily summary at 1 PM (default):

{
  "name": "thoughtful-daily",
  "schedule": {"kind": "cron", "expr": "0 13 * * *", "tz": "Asia/Calcutta"},
  "sessionTarget": "isolated",
  "payload": {
    "kind": "agentTurn",
    "message": "1. Run wacli-readonly sync in sandbox (wait for finish).\n2. Run ~/clawd/skills/thoughtful/scripts/generate-summary.sh in sandbox.\n3. Read generated prompt and create thoughtful summary via Telegram.",
    "deliver": true,
    "channel": "telegram"
  }
}

Note: The agent will set this up automatically during first-time configuration. Users can adjust the time preference during setup.

Privacy & Security

  • All data stored locally in ~/clawd/whatsapp/
  • wacli-readonly database in ~/.wacli (read-only, no sending)
  • No external services except OpenClaw LLM for summaries
  • All operations run in sandbox for isolation

Sentiment Trends

Detects if someone's tone is shifting:

  • "Getting frustrated" (multiple follow-ups, shorter messages)
  • "Going quiet" (reduced frequency, shorter replies)
  • "More engaged" (longer messages, asking questions)

Response Time Patterns

Tracks how long you typically take to reply per person:

  • Helps identify if you're slower than usual with someone
  • Flags when your delay might be noticed

Recurring Topics

Notices patterns like:

  • "Bob always asks about project updates on Fridays"
  • "Alice sends restaurant links before dinner plans"

Commitment Tracking

Extracts promises you made:

  • "I'll send that by Tuesday"
  • "Let me think about it and get back to you"
  • "I'll check and let you know"

Flags if you haven't followed through.

Important Dates

Catches mentions of:

  • Birthdays, anniversaries
  • Deadlines, launch dates
  • Meetings, events
  • "Next week," "end of month," etc.

Decision Tracking

Remembers choices you made:

  • "Let's go with Option A"
  • "I decided not to attend"
  • "We agreed on 7pm"

Helps you stay consistent and avoid contradicting yourself later.

Tips for Best Results

  1. Whitelist carefully - Only add groups you actively care about
  2. Mark priority contacts - VIPs always show in summary
  3. Review summaries daily - Interactive task completion keeps tracking accurate
  4. Use conversation starters - They're tailored to your actual context
  5. Act on relationship insights - Small check-ins prevent bigger issues

Philosophy

This isn't about productivity hacks or inbox zero. It's about staying human in your digital communication:

  • Remember what matters to people
  • Show up consistently in relationships
  • Communicate with intention, not just reaction
  • Catch small things before they become big things

Your relationships deserve better than "sorry, forgot to reply." This helps you be the communicator you want to be.

README.md

Thoughtful - Skill Directory

This directory contains scripts and documentation for the thoughtful skill.

Data is stored separately in ${WORKDIR}/thoughtful-data/ (defaults to ~/clawd/thoughtful-data/).

Structure

Skill directory: ${WORKDIR}/skills/thoughtful/

skills/thoughtful/
ā”œā”€ā”€ SKILL.md
ā”œā”€ā”€ README.md
└── scripts/
    ā”œā”€ā”€ generate-summary.sh
    └── process-and-summarize.js

Data directory: ${WORKDIR}/thoughtful-data/

thoughtful-data/
ā”œā”€ā”€ config.json          # Your preferences and settings
ā”œā”€ā”€ state.json           # Processing state (last run, counts)
ā”œā”€ā”€ tasks.json           # Pending tasks, commitments, waiting-on items
ā”œā”€ā”€ people.json          # Relationship tracking per contact
ā”œā”€ā”€ summaries/           # Historical summaries (one per day)
└── context/             # Temporary processing data
    ā”œā”€ā”€ recent-messages.json
    ā”œā”€ā”€ recent-chats.json
    └── last-prompt.txt

Quick Start

1. Configure Whitelisted Groups

Edit config.json and add groups you want to track:

{
  "whitelistGroups": [
    {
      "jid": "120363421500795949@g.us",
      "name": "House party",
      "priority": "medium"
    }
  ]
}

To find group JIDs:

wacli-readonly groups list --json | jq '.[] | {jid: .JID, name: .Name}'

2. Generate Summary Manually

cd ~/clawd/skills/thoughtful/scripts
./generate-summary.sh

This will:

  1. Fetch messages from wacli-readonly
  2. Process and filter based on config
  3. Generate prompt for LLM
  4. Save to context/last-prompt.txt

3. Review the Prompt

cat ~/clawd/thoughtful-data/context/last-prompt.txt

This is what will be sent to the LLM to generate your summary.

4. Set Up Daily Cron

Create a cron job in OpenClaw:

{
  "name": "thoughtful-daily",
  "schedule": {
    "kind": "cron",
    "expr": "0 9 * * *",
    "tz": "Asia/Calcutta"
  },
  "sessionTarget": "isolated",
  "payload": {
    "kind": "agentTurn",
    "message": "Generate WhatsApp communication summary using the thoughtful skill",
    "deliver": true,
    "channel": "telegram"
  }
}

Configuration Options

Chat Filtering

{
  "includeAllDMs": true,          // Include all direct messages
  "whitelistGroups": [...],       // Only these groups
  "blacklistGroups": [...],       // Never these groups (overrides whitelist)
  "priorityContacts": [...]       // Always highlight these people
}

Tracking Features

{
  "trackSentiment": true,         // Detect tone shifts
  "trackResponseTime": true,      // Your reply patterns
  "trackRecurringTopics": true,   // Conversation patterns
  "trackCommitments": true,       // Promises you made
  "trackImportantDates": true,    // Events, deadlines
  "trackDecisions": true          // Choices you made
}

Summary Options

{
  "defaultTimeRange": "24h",
  "includeWaitingOn": true,
  "includePendingTasks": true,
  "includeRelationshipInsights": true,
  "communicationCoachMode": true,
  "tone": "warm, direct, emotionally intelligent"
}

Data Files Explained

tasks.json

Tracks action items across conversations:

  • tasks: Things you need to do
  • waitingOn: Things you're waiting for others to do
  • scheduled: Meetings/events mentioned
  • commitments: Promises you made
  • decisions: Choices you made

people.json

Per-contact relationship tracking:

  • Response time patterns
  • Sentiment trends
  • Conversation frequency
  • Important notes

state.json

Processing metadata:

  • Last processed timestamp
  • Total messages processed
  • Chats tracked
  • First run flag

Manual Testing

Test Summary Generation

# Generate and view prompt
~/clawd/skills/thoughtful/scripts/generate-summary.sh
cat ~/clawd/thoughtful-data/context/last-prompt.txt

# Test with different time ranges
~/clawd/skills/thoughtful/scripts/generate-summary.sh "3 days"

View Recent Messages

wacli-readonly messages list --limit 50

View Chats

wacli-readonly chats list --limit 20
wacli-readonly messages search "meeting" --limit 10

Integration with OpenClaw

The skill is designed to work with OpenClaw's LLM capabilities. The processing script:

  1. Fetches and filters messages
  2. Builds structured data
  3. Generates communication coach prompt
  4. (Future) Calls OpenClaw LLM API
  5. Delivers summary via Telegram

For now, the prompt is saved to context/last-prompt.txt for manual testing.

Privacy & Security

  • All data stored locally (no cloud sync)
  • wacli-readonly is read-only (can't send messages)
  • Scripts run in sandbox for isolation
  • No external API calls except OpenClaw LLM

Troubleshooting

No messages found

  • Check wacli-readonly is authenticated: wacli-readonly auth status
  • Verify sync is working: wacli-readonly chats list

Groups not showing

  • Add JID to whitelistGroups in config.json
  • Get JIDs: wacli-readonly groups list --json

Script fails

  • Check Node.js is installed: node --version
  • Make scripts executable: chmod +x ~/clawd/skills/thoughtful/scripts/*.sh
  • Run in sandbox: use proper exec call with host="sandbox"

Next Steps

  1. Test manual summary generation
  2. Review and adjust config
  3. Set up daily cron
  4. Integrate LLM API call in process-and-summarize.js
  5. Add interactive task completion (Telegram buttons)

Philosophy

This isn't just a notification system - it's a communication partner that helps you:

  • Remember what matters to people
  • Show up consistently in relationships
  • Communicate with intention, not just reaction
  • Catch small things before they become big things

Your relationships deserve better than "sorry, forgot to reply."

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

Configuration

**Interactive Setup (Recommended):** When first using the skill, the agent will guide you through setup via chat: - Which WhatsApp groups to track (shows list, you select) - Priority contacts to always highlight - Summary timing preferences - Tracking features to enable/disable All configuration happens through conversation - no manual file editing needed. **Manual Configuration (Advanced):** Edit `${WORKDIR}/thoughtful-data/config.json` to: - Add/remove groups from whitelist - Mark priority contacts - Adjust tracking preferences - Set summary timing

FAQ

How do I install thoughtful?

Run openclaw add @regalstreak/thoughtful in your terminal. This installs thoughtful into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/regalstreak/thoughtful. Review commits and README documentation before installing.