improve-relationships

Relationship intelligence for OpenClaw. Detects outreach signals, scores and ranks them, and prepares multilingual tone-aware drafts. Never sends anything — all messages require final user approval.

3,891 stars

Best use case

improve-relationships is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Relationship intelligence for OpenClaw. Detects outreach signals, scores and ranks them, and prepares multilingual tone-aware drafts. Never sends anything — all messages require final user approval.

Teams using improve-relationships should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/improve-relationships/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/abderrahman-jalled/improve-relationships/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/improve-relationships/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How improve-relationships Compares

Feature / Agentimprove-relationshipsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Relationship intelligence for OpenClaw. Detects outreach signals, scores and ranks them, and prepares multilingual tone-aware drafts. Never sends anything — all messages require final user approval.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Improve Relationships

Detect outreach opportunities, rank them, and prepare draft messages in the right tone and language. **This skill never sends anything. Every message is a draft until the user explicitly approves it.**

**Core loop: detect → score → rank → draft → wait for approval.**

## When to activate

- User asks who to reach out to or requests a digest
- User wants drafts for birthdays, holidays, milestones, or reconnections
- User shares a browser tab (any platform) for relationship review
- User asks about contacts they haven't spoken to recently across any channel
- User mentions a cultural occasion and wants outreach help

Do **not** activate for sales pipelines, lead generation, or CRM data entry.

## Signal sources

Signals can come from any context the user provides or makes available:

- **Calendar** (Google Calendar, Outlook, Apple Calendar) — birthdays, anniversaries, events
- **Email** (Gmail, Outlook, etc.) — last contact dates, conversation recency
- **Messaging** (Slack, WhatsApp, iMessage, Teams) — last contact, conversation context
- **Shared browser tabs** — any platform the user shares: LinkedIn, Instagram, Twitter/X, Facebook, company pages, news articles
- **User-provided context** — anything mentioned in conversation, contact notes, or uploaded files
- **News and web** — articles, press releases, public announcements

The skill works across all of these. It is not tied to any single platform.

## Signals to detect

| Signal | Typical sources | Evidence |
|--------|----------------|----------|
| Birthday | Calendar, user mention, social profile | High if dated |
| Work anniversary | LinkedIn, email signature, user mention | Medium |
| Job change / promotion | LinkedIn, Twitter/X, news, email, user mention | Medium-High |
| Long silence (60-90+ days) | Email recency, messaging recency, user statement | Medium |
| Holiday / ritual | Calendar date, user request | High |
| Public accomplishment | Any shared tab, news, social post | Medium |
| Company news | News article, shared tab, user mention | Low |
| Life event (wedding, baby, move) | User mention, any social tab | High if confirmed |
| Condolence | User mention | High if confirmed |
| Lightweight reconnect | Weak signal + relationship importance | Low |

**Only cite sources you actually have.** Never invent access or evidence.

## Evidence ladder

| Level | Meaning | Example |
|-------|---------|---------|
| **High** | User-confirmed or calendar-verified | Birthday in calendar |
| **Medium** | Visible in shared tab or conversation | Promotion visible on shared LinkedIn, Instagram post, or Slack message |
| **Low** | Weak inference, single indirect source | News article about contact's company |

Show evidence level and source for every recommendation. When Low, suggest the user verify before sending.

## Work vs personal

Tag every contact as **work**, **personal**, or **ask**. Auto-separate streams in digests.

- **Work**: Email, LinkedIn, Slack. Professional tone.
- **Personal**: Text, WhatsApp, personal email, call. Warm tone.
- Never mix streams unless asked.
- When uncertain: "Is [name] work or personal?"

## Scoring

Five dimensions (1-5):

| Dimension | Meaning |
|-----------|---------|
| Signal strength | How clear? (birthday = 5, vague news = 2) |
| Recency | How time-sensitive? (today's birthday = 5, 3-month silence = 3) |
| Relationship importance | How important? (ask if unknown) |
| Outreach appropriateness | Right move? (promotion = 5, layoff rumor = 1) |
| Evidence confidence | How sure? (confirmed = 5, inferred = 2) |

**Composite** = average of five. Rank highest first.

### Ranking thresholds

| Composite | Action |
|-----------|--------|
| **4.2+** | Recommend now — show in current page |
| **3.2 – 4.1** | Suggest lightly — Watching table |
| **< 3.2** | Omit from default digest |

**Default: show top 5.** Always state the total: "Showing 5 of {N} opportunities." When the user says "next" or "more", show the next 5.

## Why now

Every recommendation answers:

1. **Why this person?** — What signal?
2. **Why this moment?** — Why now, not later?
3. **Why this channel?** — Best way to reach them?

Can't answer all three clearly → downgrade or move to Watching.

## Channel logic

| Signal | Work | Personal |
|--------|------|----------|
| Promotion / job change | LinkedIn or email | Text or WhatsApp |
| Birthday | Email (close colleague) | Text, WhatsApp, call |
| Long silence | Email | Text, WhatsApp, call |
| Ritual / holiday | Email (brief) | WhatsApp, text, call |
| Accomplishment | LinkedIn or email | Text or Instagram DM |
| Condolence | Email (careful) | Call, text, in person |

Respect `preferred_channel` when set. Default to the stream's natural channel.

## Tone

| Tone | Use for |
|------|---------|
| Warm personal | Close friends, family, personal milestones |
| Respectful professional | Work contacts, formal occasions |
| Celebratory | Promotions, achievements, weddings, births |
| Light reconnect | Long silence, casual check-in |
| Ritual / holiday | Ramadan, Eid, Diwali, Nowruz |
| Condolence / supportive | Loss, hardship — subdued, careful |

Reference shared history for close relationships. Never invent memories.

## Multilingual

Draft in whatever language the user and the contact actually communicate in. This skill supports **any language** — it is not limited to a preset list.

**Language detection priority:**

1. **Communication history** — Check how the user actually talks to this person. If their emails, messages, or chats are in Portuguese, draft in Portuguese.
2. **Contact profile** — If no history is available, check the contact's profile, social posts, or bio for language signals.
3. **Contact's `language` field** — If the user has explicitly set a language preference for this contact, use it.
4. **User's default language** — If none of the above are available, draft in the user's own language and note: "I drafted in [language] — want me to switch?"

**Rules:**

- Any language the user or contact uses is a valid drafting language. Arabic, French, Spanish, Mandarin, Hindi, German, Japanese, Swahili — whatever fits the relationship.
- Use culturally appropriate greetings when relevant (e.g., "Ramadan Mubarak" / "Ramadan Kareem", "新年快乐", "Feliz Navidad").
- Mixed-language contacts: professional in one language, casual in another — follow the actual communication pattern.
- Flag any drafts where language confidence is low.
- If language preference is unclear, offer two draft options or ask before drafting.

## Cultural occasions

Support globally relevant occasions — not Western-only defaults.

Ramadan, Eid al-Fitr, Eid al-Adha, Lunar New Year, Diwali, Nowruz, Christmas, Hanukkah, New Year, Thanksgiving.

- Never assume cultural or religious background. If unspecified, ask.
- Check calendar dates. Don't send Eid greetings during Ramadan.
- Unknown background → warm, non-denominational language.

## Output format

```markdown
### [Name]
- **Stream**: Work / Personal
- **Signal**: [trigger]
- **Why now**: [timing + appropriateness + channel fit]
- **Score**: [composite] — [High / Medium / Low] evidence ([source])
- **Channel**: [channel]
- **Language**: [language] (detected from [history / profile / field / default])
- **Tone**: [tone]
- **Draft**: > [1-3 sentences]
- **Action**: Approve to send / Edit / Snooze / Skip
```

Group by stream. Show top 5 by default, then Watching table. Always state the total count.

End every digest: **"These are drafts — nothing has been sent. Showing {X} of {N} opportunities. Say 'next' for more, or tell me which to finalize."**

## Privacy and security

1. **Least privilege**: Only access data the user provides. Never claim access to unconnected platforms.
2. **Draft-only**: This skill prepares drafts. It never sends, posts, or delivers any message. The user must explicitly approve and send every message themselves.
3. **Minimal retention**: No storage beyond session unless configured.
4. **Evidence boundaries**: State what you saw and where. Never extrapolate across sources.
5. **Cross-context privacy**: Never use work-only context in personal drafts, and never use personal-only context to over-personalize work outreach without clear user intent.
6. **Sensitive situations**: Layoffs, health, breakups, deaths — ask before drafting.
7. **Safe drafting**: No sensitive details (health, finances, legal) unless explicitly instructed.
8. **Trust posture**: Default cautious. Require evidence. When uncertain, say so.

## Digest workflow

1. Default: **this week**, **both streams**, **top 5**.
2. Gather signals from **all available context** — calendar, email, messaging, shared tabs, conversation history, contact notes. Check across every channel the user has made accessible.
3. Score, rank, apply thresholds.
4. Present in output format.
5. Offer to prepare drafts for any the user selects. **Do not send. Present drafts and wait.**

Recurring digests: suggest cron or heartbeat schedule.

## Browser tab review

When the user shares any tab (LinkedIn, Instagram, Twitter/X, Facebook, a company page, a news article, or any other platform):

1. Identify the platform and what's visible.
2. Extract signals: job changes, posts, milestones, accomplishments, life events.
3. Score the reconnection opportunity.
4. Cite evidence: "Based on what's visible in this [platform] tab..."
5. Never claim API access. You are reading what was shared, nothing more.

## Example interactions

**"Who should I reach out to this week?"**
→ Top 5 ranked digest with total count. "Next" for more.

**"Draft Eid messages for close contacts."**
→ Draft in appropriate language and tone. Present for approval.

**"Review this LinkedIn tab — any reason to reconnect?"**
→ Extract signals from the shared tab. Score and present with evidence level.

**"Check this Instagram — anything worth reaching out about?"**
→ Same flow, different platform. Works with any shared tab.

**"Find people I haven't talked to in 90 days."**
→ Rank by importance. Suggest reconnect messages.

Related Skills

self-improvement

3891
from openclaw/skills

Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.

Agent Intelligence & Learning

andara-self-improvement

3891
from openclaw/skills

Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.

skills-improvement

3880
from openclaw/skills

Use when optimizing existing Claude skills, checking skill quality, auditing skill compliance, or when skills have obvious issues. Triggers on skill optimization requests, quality checks, or skill improvement tasks.

ekalavya-self-improvement

3880
from openclaw/skills

Enforce execution discipline for ongoing work after the user has already approved direction. Use when the assistant is at risk of drifting into planning, status chatter, repeated apologies, or side work instead of finishing visible agreed items. Especially use after user corrections about follow-through, prioritization, blockers, repeated reminders, queue discipline, simple UI/product shaping, or "keep moving" expectations. Also use to turn repeated execution failures into reusable system improvements and stronger skills.

---

3891
from openclaw/skills

name: article-factory-wechat

Content & Documentation

humanizer

3891
from openclaw/skills

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.

Content & Documentation

find-skills

3891
from openclaw/skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

General Utilities

tavily-search

3891
from openclaw/skills

Use Tavily API for real-time web search and content extraction. Use when: user needs real-time web search results, research, or current information from the web. Requires Tavily API key.

Data & Research

baidu-search

3891
from openclaw/skills

Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.

Data & Research

agent-autonomy-kit

3891
from openclaw/skills

Stop waiting for prompts. Keep working.

Workflow & Productivity

Meeting Prep

3891
from openclaw/skills

Never walk into a meeting unprepared again. Your agent researches all attendees before calendar events—pulling LinkedIn profiles, recent company news, mutual connections, and conversation starters. Generates a briefing doc with talking points, icebreakers, and context so you show up informed and confident. Triggered automatically before meetings or on-demand. Configure research depth, advance timing, and output format. Walking into meetings blind is amateur hour—missed connections, generic small talk, zero leverage. Use when setting up meeting intelligence, researching specific attendees, generating pre-meeting briefs, or automating your prep workflow.

Workflow & Productivity

botlearn-healthcheck

3891
from openclaw/skills

botlearn-healthcheck — BotLearn autonomous health inspector for OpenClaw instances across 5 domains (hardware, config, security, skills, autonomy); triggers on system check, health report, diagnostics, or scheduled heartbeat inspection.

DevOps & Infrastructure