关于 revor-outreach
用于检查 Revor 账户状态、起草各渠道消息并通过 Revor 工具或 API 执行外联的 Skill。发送前需验证收件人信息,发送后检查任务结果。
主要功能
- 01检查账户与渠道发送状态
- 02起草 LinkedIn、邮件和 WhatsApp 文案
- 03通过 MCP 工具或 API 发送外联消息
- 04检查任务状态与结果
- 05发送前验证收件人字段
适用场景
- 01准备特定渠道的外联文案
- 02通过状态检查后发送消息
- 03确认外联任务是否成功
MCP 相关
若有 Revor MCP 工具,Skill 会用其检查已连接账户、发送外联或点赞 LinkedIn 帖子并查询任务结果;否则按 API 流程执行。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ laiye-revor/ revor-skills --skill revor-outreach安装后在 Claude Code 中输入/revor-outreach确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
reference/accounts.mdreference/dispatch/dispatch.mdlinkedin-post-like.md详细介绍
Revor 外联(由函数触发)
1) 目标
将此技能视为外联执行器,而非通用搜索工作流。
它应当:
- 检测外联意图,
- 验证 Revor 账户/API/渠道是否就绪,
- 按渠道起草可直接发送的外联文案,
- 条件满足时,通过可用的 Revor MCP 工具或 API 发送,
- 返回清晰的结果摘要(已发送/失败/已跳过及原因)。
如果缺少所需的收件人数据(profile_url、address、phone),不得编造。请用户提供,或先搜索获取。
如果 Revor MCP 工具可用,优先使用 revor_list_connect_accounts、revor_send_outreach、revor_like_linkedin_post 和 revor_get_job。否则,使用相应参考文件中的 API 流程。不要混用 MCP 和 API 重试:二者共享账户权限、限额、额度、任务和幂等语义。
2) 按功能路由文件
默认不要读取所有文件。先识别任务类型,再读取相关参考文件。
A. 账户/就绪状态/可发送性检查
读取:
reference/accounts.md
在以下任务中使用:
- 检查 Revor 是否已就绪,可以发送,
- 验证 API 密钥状态,
- 检查 LinkedIn / Email / WhatsApp 账户是否已连接并可发送,
- 说明为何目前无法继续发送。
B. 外联发送(LinkedIn / Email / WhatsApp)
按以下顺序读取:
reference/accounts.mdreference/dispatch/dispatch.md
用户希望进行以下操作时使用:
- 发送 LinkedIn 邀请/消息,
- 发送冷邮件,
- 发送 WhatsApp 介绍消息,
- 立即发送/继续发送。
C. LinkedIn 帖子点赞预热
按以下顺序读取:
reference/accounts.mdreference/dispatch/linkedin-post-like.md
用户希望进行以下操作时使用:
- 点赞相关的 LinkedIn 帖子,
- 在外联前预热互动,
- 使用 Revor 的 LinkedIn 帖子点赞流程。
D. 仅起草外联文案
如果用户想要文案,但没有明确要求立即发送:
- 收集所需的最少背景信息,
- 起草外联文案,
- 暂不发送。
可以参考 reference/dispatch/dispatch.md 了解渠道限制,但不要将起草文案视为自动获得发送许可。
3) 功能、触发条件和所需输入
功能 A — 检测外联意图
在用户提出以下任一请求时触发:
- “发送 LinkedIn 邀请/消息”
- “发送冷邮件”
- “发送 WhatsApp 介绍消息”
- “使用 Revor 进行外联”
所需输入:
- 至少一个目标联系人,
- 至少一个目标渠道(LinkedIn / Email / WhatsApp)。
如果缺少这些信息,请先询问目标联系人和渠道,再继续。
功能 B — 发送前就绪状态检查
在以下情况下触发:
- 用户要求立即发送/继续发送。
实际发送前,读取:
reference/accounts.md
必须满足以下所有条件:
- 用户拥有 Revor 账户(如果 Revor 计划/政策要求,还需有可用的付费访问权限)。
- 用户拥有有效的 API 密钥。
- 用户至少连接了一个可发送的渠道账户(LinkedIn / Email / WhatsApp)。
- 对于请求使用的渠道,必须存在已连接且
can_send=true的账户。其他状态字段仅作为诊断参考。
如果缺少任何条件,请明确引导用户:
- 注册/登录:
https://revor.ai - API 密钥页面:
https://revor.ai/zh/my-api-keys - 连接发送账户:
https://revor.ai/console/connect
重要:保留 reference/accounts.md 中的提醒风格和用户引导。不要将其简化为简短的拒绝。
能力 C — 起草外联文案(无需发送)
触发条件:
- 用户要求撰写外联文案或草稿;
- 用户未明确要求立即发送。
必需输入:
- 目标角色/公司/目标;
- 渠道和语言偏好(如未指定,默认使用用户所用语言)。
如果信息不完整,只询问最少量的必要问题。如果信息仍不完整,则返回“缺失字段”列表。
LinkedIn 备注限制:
- 起草 LinkedIn 连接备注/邀请备注/添加备注消息时,最终文案须控制在 200 个字符以内,除非用户明确表示不需要适用于连接备注的版本。
- 优先采用简洁、自然的措辞,而不是塞入更多背景信息。
能力 D — 发送外联消息
触发条件:
- 用户明确要求发送;
- 发送前检查已通过;
- 渠道所需的收件人字段已完整。
按顺序读取:
reference/accounts.mdreference/dispatch/dispatch.md
各渠道所需字段:
- LinkedIn:
recipient.profile_url(联系人的个人 LinkedIn 个人资料页面 URL,例如其公开的/in/...个人资料链接,而不是搜索结果页面或公司页面) - Email:
recipient.address - WhatsApp:
recipient.phone
如缺少任何必需字段:
- 不要发送;
- 明确指出缺少的字段;
- 请用户提供该字段,或先搜索该字段。
4) 环境与密钥规则
优先使用持久化配置,避免新窗口/会话需要重新配置。
按以下顺序解析密钥:
~/.config/RevorSkill/.env(本地持久化默认配置)- 平台持久化配置(例如
claude_desktop_config.json中 Claude Desktop MCP 服务的env) - 进程/运行时环境(会话级回退)
<current-skill-dir>/.env(最后回退选项)
平台示例:
- Claude Desktop + MCP:在 MCP 服务的
env映射中设置REVOR_API_KEY(claude_desktop_config.json) - Claude Code/CLI:将
REVOR_API_KEY保存在持久化的 Shell/环境变量工具中(需要持久化时,避免使用一次性导出)
基础 URL:
https://revor.ai
必需密钥:
REVOR_BASE_URL="https://revor.ai"
REVOR_API_KEY=""
规则:
- 切勿将密钥值存储在提示词、MEMORY.md、聊天记录或已提交的仓库文件中;
- 如果使用
.env且文件不存在,则创建~/.config/RevorSkill/.env; - 如果缺少密钥,则添加密钥名称,不要覆盖现有值;
- 如果用户在聊天中提供密钥并寻求帮助,则直接将其配置到持久化配置中(默认是
~/.config/RevorSkill/.env); - 建议执行验证检查,但应轻量且不阻塞后续操作;
- 输出中切勿回显完整 API 密钥;请以
****遮蔽。
5) 必需的执行流程
实际执行外联时,必须遵循以下流程。
流程 1 — 确定任务类型
首先判断任务属于以下哪种类型:
- 就绪状态检查;
- 仅起草;
- 发送;
- 类似 LinkedIn 帖子的预热。
然后只读取相关的参考文件。
流程 2 — 发送前检查就绪状态
对于每项实际发送请求,都必须进行就绪状态检查。 读取:
reference/accounts.md
不要跳过此步骤。
流程 3 — 验证渠道所需的收件人字段
发送前,确认:
- LinkedIn ->
profile_url - Email ->
address - WhatsApp ->
phone
如缺少任何必需字段,则停止并询问用户。
流程 4 — 除非用户明确要求立即发送,否则先起草
默认行为:
- 先起草;
- 获得明确确认后再发送。
仅当用户明确要求立即发送时,才立即发送。
流程 5 — 始终检查任务结果
202 Accepted 分发响应或类似帖子的创建响应表示任务已创建,不表示操作已完成。
始终通过以下方式检查最终结果:
- MCP:
revor_get_job - API:
GET /api/v2/jobs/{id}
如果任务查询返回 HTTP 200,但 item.status = "failed",则应视为执行失败。
将 settling 视为非终态,并继续检查。如果用户要求取消,请使用 revor_cancel_job 或 POST /api/v2/jobs/{id}/cancel;只有在任务处于排队或计划状态时,才能保证取消成功。
6)分发政策
- 默认:先起草,再在用户明确确认后发送。
- 仅当用户明确要求立即分发时,才立即发送。
- 切勿猜测私人联系信息。
- 优先选择规模较小、质量较高的联系人集合,而不是批量群发。
7)合规边界
拒绝协助以下行为:
- 骚扰,
- 网络钓鱼,
- 冒充他人,
- 欺诈,
- 未经审核的群发垃圾信息,
- 伪造身份或联系信息。
确保外联专业、真实且可审计。