360 Secure SkillHub
360 安全技能中心

Linkedin Monitor

面向 Clawdbot 的 LinkedIn 私信监控 Skill:通过 lk CLI 每小时拉取收件箱,由脚本维护去重状态,按 0-3 级自主度仅告警、草拟待批准或自动回复,认证失效时告警;依赖 npm 的 lk、jq 与常驻浏览器。

dylanbaker24
dylanbaker24
热度 67.08
最近更新 2026-05-18 11:54:50
分类:营销依赖:联网浏览搜索 / 代码执行 / 读写文件 / 第三方 API / 内部调用大模型应用场景:社交媒体 / 邮件起草 / 自动化脚本 / 日程安排 ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add linkedin-monitor
Metadata
name
linkedin-monitor
description
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.
version
1.0.0
author
Dylan Baker / lilAgents

LinkedIn Monitor

Reliable LinkedIn inbox monitoring for Clawdbot.

Features

  • Hourly monitoring — Checks inbox every hour, 24/7
  • Deterministic state — No duplicate notifications, ever
  • Progressive autonomy — Start supervised, graduate to autonomous
  • Health checks — Alerts when auth expires or things break
  • Your voice — Drafts replies using your communication style

Quick Start

# 1. Setup (interactive)
linkedin-monitor setup

# 2. Verify health
linkedin-monitor health

# 3. Run manually (test)
linkedin-monitor check

# 4. Enable cron (hourly)
linkedin-monitor enable

Autonomy Levels

Level Name Behavior
0 Monitor Only Alerts to new messages only
1 Draft + Approve Drafts replies, waits for approval
2 Auto-Reply Simple Auto-handles acknowledgments, scheduling
3 Full Autonomous Replies as you, books meetings, networks

Default: Level 1 — Change with linkedin-monitor config autonomyLevel 2

Commands

linkedin-monitor setup      # Interactive setup wizard
linkedin-monitor health     # Check auth status
linkedin-monitor check      # Run one check cycle
linkedin-monitor enable     # Enable hourly cron
linkedin-monitor disable    # Disable cron
linkedin-monitor status     # Show current state
linkedin-monitor config     # View/edit configuration
linkedin-monitor logs       # View recent activity
linkedin-monitor reset      # Clear state (start fresh)

Configuration

Location: ~/.clawdbot/linkedin-monitor/config.json

{
  "autonomyLevel": 1,
  "alertChannel": "discord",
  "alertChannelId": "YOUR_CHANNEL_ID",
  "calendarLink": "cal.com/yourname",
  "communicationStyleFile": "USER.md",
  "timezone": "America/New_York",
  "schedule": "0 * * * *",
  "morningDigest": {
    "enabled": true,
    "hour": 9,
    "timezone": "Asia/Bangkok"
  },
  "safetyLimits": {
    "maxMessagesPerDay": 50,
    "escalationKeywords": ["angry", "legal", "refund"],
    "dailyDigest": true
  }
}

How It Works

Monitoring Flow

1. Health Check
   └── Verify LinkedIn auth (lk CLI)
   
2. Fetch Messages
   └── lk message list --json
   
3. Compare State
   └── Filter: only messages not in state file
   
4. For Each New Message
   ├── Level 0: Alert only
   ├── Level 1: Draft reply → Alert → Wait for approval
   ├── Level 2: Simple = auto-reply, Complex = draft
   └── Level 3: Full autonomous response
   
5. Update State
   └── Record message IDs (prevents duplicates)

State Management

State is managed by scripts, not the LLM. This guarantees:

  • No duplicate notifications
  • Consistent behavior across sessions
  • Visible state for debugging

State files: ~/.clawdbot/linkedin-monitor/state/

Sending Approved Messages

When at Level 1, approve drafts with:

send [name]           # Send draft to [name]
send all              # Send all pending drafts
edit [name] [text]    # Edit draft before sending
skip [name]           # Discard draft

Troubleshooting

"Auth expired"

lk auth login
linkedin-monitor health

"No messages found"

linkedin-monitor check --debug

Duplicate notifications

linkedin-monitor reset  # Clear state
linkedin-monitor check  # Fresh start

Dependencies

  • lk CLI (LinkedIn CLI) — npm install -g lk
  • jq (JSON processor) — brew install jq

Files

~/.clawdbot/linkedin-monitor/
├── config.json          # Your configuration
├── state/
│   ├── messages.json    # Seen message IDs
│   ├── lastrun.txt      # Last check timestamp
│   └── drafts.json      # Pending drafts
└── logs/
    └── activity.log     # Activity history