linkedin-inbox

LinkedIn inbox management with scheduled scanning, auto-draft responses following user's communication style, and approval workflows. Use when monitoring LinkedIn messages, drafting replies, managing inbox during off-hours, or setting up morning ping summaries of LinkedIn activity.

7 stars

Best use case

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

LinkedIn inbox management with scheduled scanning, auto-draft responses following user's communication style, and approval workflows. Use when monitoring LinkedIn messages, drafting replies, managing inbox during off-hours, or setting up morning ping summaries of LinkedIn activity.

Teams using linkedin-inbox 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/linkedin-inbox/SKILL.md --create-dirs "https://raw.githubusercontent.com/Demerzels-lab/elsamultiskillagent/main/public/skills/dylanbaker24/linkedin-inbox/SKILL.md"

Manual Installation

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

How linkedin-inbox Compares

Feature / Agentlinkedin-inboxStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

LinkedIn inbox management with scheduled scanning, auto-draft responses following user's communication style, and approval workflows. Use when monitoring LinkedIn messages, drafting replies, managing inbox during off-hours, or setting up morning ping summaries of LinkedIn activity.

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.

SKILL.md Source

# LinkedIn Inbox Manager

Automated LinkedIn inbox monitoring with human-in-the-loop approval for responses. Uses Peekaboo for UI automation (no API rate limits, works with any LinkedIn account).

## Requirements

- macOS with Peekaboo CLI installed (`brew install steipete/tap/peekaboo`)
- Screen Recording + Accessibility permissions granted
- LinkedIn logged in via browser (Chrome recommended)
- Clawdbot with browser capability

## Quick Start

### 1. One-time Setup
```bash
# Grant Peekaboo permissions
peekaboo permissions

# Verify LinkedIn is accessible
peekaboo app launch "Google Chrome"
peekaboo see --app "Google Chrome" --annotate --path /tmp/linkedin-check.png
```

### 2. Configure User Style
Create `linkedin-inbox-config.json` in your workspace:
```json
{
  "scan": {
    "intervalMinutes": 60,
    "activeHours": { "start": 9, "end": 18, "timezone": "America/Los_Angeles" },
    "skipWeekends": true
  },
  "drafting": {
    "styleProfile": "USER.md",
    "templates": {
      "decline": "Thanks for reaching out. Not a fit for us right now, but best of luck.",
      "interested": "This looks interesting. Happy to chat more. What's your availability?",
      "referral": "I might know someone. Let me check and get back to you."
    }
  },
  "notifications": {
    "channel": "discord",
    "target": "#linkedin"
  }
}
```

### 3. Start Monitoring
Tell your agent: "Start LinkedIn inbox monitoring" or add to HEARTBEAT.md:
```markdown
- Check LinkedIn inbox if last scan >1 hour ago
```

## Core Workflow

### Scan Inbox
```bash
# Navigate to LinkedIn messaging
peekaboo app launch "Google Chrome"
peekaboo menu click --app "Google Chrome" --item "New Tab"
peekaboo type "https://www.linkedin.com/messaging/" --return
sleep 3

# Capture inbox state
peekaboo see --app "Google Chrome" --window-title "Messaging" --annotate --path /tmp/linkedin-inbox.png
```

The agent reads the annotated screenshot to identify:
- Unread messages (bold names, blue dots)
- Message previews
- Sender names and titles

### Draft Responses
For each unread message:
1. Agent reads the conversation
2. Classifies intent (pitch, networking, job inquiry, spam)
3. Drafts response matching user's communication style
4. Posts draft to notification channel for approval

Example notification:
```
💼 LinkedIn: New message from **Alex M.** (Founder @ SomeCompany)

Preview: "Hi, I noticed you're growing and wondered if..."

**My read:** Services pitch. Doesn't fit current needs.

**Draft reply:**
> Thanks for reaching out. We're set on that side for now, but I'll keep you in mind if that changes.

React ✅ to send, ❌ to skip, or reply with edits.
```

### Send Approved Messages
On approval:
```bash
# Click into conversation
peekaboo click --on [message-element-id] --app "Google Chrome"
sleep 1

# Type response
peekaboo type "Your approved message here" --app "Google Chrome"

# Send (Enter or click Send button)
peekaboo press return --app "Google Chrome"
```

## Communication Style Matching

The skill reads `USER.md` (or configured style file) to match the user's tone:

**Extract these signals:**
- Formality level (casual vs professional)
- Typical greeting style
- Sign-off patterns
- Sentence length preference
- Banned words/phrases
- Response length norms

**Apply to drafts:**
- Mirror detected patterns
- Use user's vocabulary
- Match their directness level
- Respect their guardrails (no "excited", no hype, etc.)

See `references/style-extraction.md` for detailed guidance.

## Morning Ping Integration

Add LinkedIn summary to your morning ping:
```markdown
📣 The Morning Ping — Monday, Jan 27

**LinkedIn:**
• 💚 Sarah Chen replied — "That sounds great, let's do Thursday" → Draft ready
• 💚 Mike R. replied — "Not interested right now" → No action needed
• 📩 3 new connection requests (2 sales pitches, 1 relevant)
• 📩 1 unread message from Alex (job inquiry) → Draft ready

Reply "send sarah" to approve, "skip mike" to archive.
```

## Approval Commands

Users can respond with:
- `send [name]` - Send the drafted reply
- `send all` - Send all pending drafts
- `skip [name]` - Archive without replying
- `edit [name]: [new message]` - Replace draft and send
- `show [name]` - Show full conversation

## Scheduled Scanning

### Via Cron (Recommended)
```json
{
  "schedule": "0 */2 9-18 * * 1-5",
  "text": "Scan LinkedIn inbox and post any new messages to #linkedin with draft replies"
}
```

### Via Heartbeat
In HEARTBEAT.md:
```markdown
- If 9am-6pm PT and last LinkedIn scan >60min: scan inbox, draft replies, post to #linkedin
```

## Safety Rules

1. **Never send without explicit approval** - Always wait for user confirmation
2. **Rate limit actions** - Max 20 LinkedIn actions per hour
3. **Respect quiet hours** - Don't scan outside configured activeHours
4. **Log everything** - Record all actions in daily memory file
5. **Preserve originals** - Never delete messages, only archive

## Troubleshooting

### "Can't find messaging UI"
- Ensure Chrome is open with LinkedIn logged in
- Check window title matches (may vary by language)
- Use `peekaboo list windows --app "Google Chrome" --json` to debug

### "Session expired"
- LinkedIn sessions expire periodically
- Re-authenticate manually in browser
- Skill will detect login page and notify user

### "Peekaboo permissions denied"
```bash
peekaboo permissions  # Check status
# Grant via System Preferences > Privacy & Security > Screen Recording + Accessibility
```

## Files

- `scripts/scan_inbox.sh` - Peekaboo commands for inbox capture
- `scripts/send_message.sh` - Peekaboo commands for sending
- `references/style-extraction.md` - Guide for communication style matching

Related Skills

linkedin-lead-gen

7
from Demerzels-lab/elsamultiskillagent

Search for, research, and verify non-tech founders on LinkedIn to identify high-value prospects for technology services (Web Dev, ERP, CRM, App Dev, SEO, AI). Generates professional PDF reports. Use when asked to find potential clients or leads.

linkedin-pipedream

7
from Demerzels-lab/elsamultiskillagent

Post to LinkedIn, comment, like, search organizations, and manage profiles via Pipedream OAuth integration.

linkedin-teneo

7
from Demerzels-lab/elsamultiskillagent

LinkedIn agent that helps you enrich LinkedIn profiles. You prodive a LinkedIn URL and it will return its data from LinkedIn, in a structured JSON format. It works with both People and Companies URL.

linkedin-monitor

7
from Demerzels-lab/elsamultiskillagent

Bulletproof LinkedIn inbox monitoring with progressive autonomy. Monitors messages hourly, drafts replies in your voice, and alerts you to new conversations. Supports 4 autonomy levels from monitor-only to full autonomous.

agent-email-inbox

7
from Demerzels-lab/elsamultiskillagent

Use when setting up an email inbox for an AI agent (Moltbot, Clawdbot, or similar) - configuring inbound email, webhooks, tunneling for local development, and implementing security measures to prevent prompt injection attacks.

brw-linkedin-profile-optimizer

7
from Demerzels-lab/elsamultiskillagent

Audit and rewrite your LinkedIn profile to attract the right people.

brw-linkedin-authority-builder

7
from Demerzels-lab/elsamultiskillagent

Build a LinkedIn content system for thought leadership.

linkedin

7
from Demerzels-lab/elsamultiskillagent

LinkedIn automation via browser relay or cookies for messaging, profile viewing, and network actions.

Lead Inbox Automator

7
from Demerzels-lab/elsamultiskillagent

Capture leads into a centralized Supabase database with automatic Make.com email automation.

linkedin-cli

7
from Demerzels-lab/elsamultiskillagent

A bird-like LinkedIn CLI for searching profiles, checking messages, and summarizing your feed using session cookies.

paylock

7
from Demerzels-lab/elsamultiskillagent

Non-custodial SOL escrow for AI agent deals.

agent-reputation

7
from Demerzels-lab/elsamultiskillagent

summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.