使用 Hunter Automation Skill 在 Codex 中落地 Hunter.io 邮件智能自动化全指南
【免费下载链接】awesome-codex-skillsA curated list of practical Codex skills for automating workflows across the Codex CLI and API.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-codex-skills
本指南以开源仓库 awesome-codex-skills 中的 Hunter Automation Skill 为骨架,讲解如何通过自然语言驱动 Hunter.io 完成域名邮箱发现、特定联系人邮箱推断、投递性验证、邮箱数量预估、线索保存与账户配额监控六大核心任务。读完本文,你将掌握该 Skill 的全部工具参数、调用方式与实战注意事项,能够在 Codex CLI/API 环境中用一句话完成原本需要多步 API 调用的邮件外呼准备流程。
一、Skill 定位:给 Codex 装上 Hunter.io 的"邮件情报能力"
Hunter Automation 是 awesome-codex-skills 仓库composio-skills/目录下的技能之一,其元数据(SKILL.md 的 YAML frontmatter)定义如下:
- name:
Hunter Automation - description: 通过 Composio MCP 集成,以自然语言自动化 Hunter.io 邮件情报工作——按域名搜索邮箱、查找特定联系人、验证邮件可投递性、管理线索、监控账户用量
- category:
email-intelligence(邮件情报) - requires.mcp:
rube
从分类与依赖声明可以看出,这个 Skill 本身不内置任何 Hunter 相关代码,它的价值在于把"何时触发、调用哪些工具、参数怎么填、踩过哪些坑"沉淀成结构化的指令,让 Codex 在遇到邮件情报类任务时自动按最优路径执行。仓库 README 对此的定位是:"Skills tell your agenthowto work. An MCP Gateway gives it secure access to the tools it needs."(技能告诉 Agent怎么做,MCP 网关为它提供安全访问所需工具的通道),Hunter Automation 正是这一理念在email-intelligence类别下的具体落地。
底层工具通过 Composio 的 Rube MCP 网关暴露,工具以HUNTER_*前缀命名,共 6 个。下表是全篇的索引:
| Action(动作) | Tool Slug(工具名) | Required Params(必填参数) |
|---|---|---|
| 搜索域名邮箱 | HUNTER_DOMAIN_SEARCH | domain或company |
| 查找某人邮箱 | HUNTER_EMAIL_FINDER | 姓名 +(domain或company) |
| 验证邮箱 | HUNTER_EMAIL_VERIFIER | email |
| 获取邮箱数量 | HUNTER_EMAIL_COUNT | domain或company |
| 保存/更新线索 | HUNTER_UPSERT_LEAD | email |
| 查看账户信息 | HUNTER_ACCOUNT_INFORMATION | 无 |
二、环境准备:三步接通 Rube MCP 与 Hunter.io
根据 SKILL.md 的 Setup 章节,接通环境只需三步:
第一步:添加 Composio MCP 服务器。在客户端(Codex CLI / API)的 MCP 配置中加入端点:
https://rube.app/mcp第二步:连接 Hunter.io 账号。按提示完成 Hunter.io 账户的 OAuth/API Key 认证授权。仓库中同目录的其他 Skill(如 slackbot-automation/SKILL.md)展示了 Rube MCP 的连接管理模式:通过RUBE_MANAGE_CONNECTIONS工具检查连接状态,若连接未处于ACTIVE,则跟随返回的授权链接完成配置,确认状态变为 ACTIVE 后再运行工作流。Hunter 场景下即确保存在一个 toolkit 为 Hunter、状态 ACTIVE 的连接。
第三步:用自然语言下达指令。例如直接说"Find all executive email addresses at stripe.com using Hunter",Codex 会依据 frontmatter 中的description自动触发本 Skill,并调用对应HUNTER_*工具。
参考仓库内其他 Skill 的通用实践(slackbot-automation/SKILL.md),Rube MCP 的推荐执行模式是:先用
RUBE_SEARCH_TOOLS以 use_case 检索获取最新工具 schema 与执行建议,再确认连接 ACTIVE,最后通过RUBE_MULTI_EXECUTE_TOOL(携带tool_slug、schema 合规的arguments、memory与session_id)执行具体工具。工具 schema 会随版本变化,不要硬编码参数结构,每次执行前先做一次工具发现是最稳妥的做法。
三、核心工作流详解(六合一)
以下六个工作流完整继承自 SKILL.md,并补充了参数语义与组合用法。
3.1 按域名搜索邮箱:HUNTER_DOMAIN_SEARCH
发现某个域名或公司所有公开可获取的邮箱地址,支持按部门、职级、邮箱类型过滤。
示例提示词:
"Find all executive email addresses at stripe.com using Hunter"
关键参数:
| 参数 | 说明 | 约束/默认值 |
|---|---|---|
domain | 待搜索的域名,如"stripe.com" | 与company二选一必填 |
company | 公司名称,如"Stripe" | 与domain二选一必填 |
type | 邮箱类型过滤 | "personal"(个人)或"generic"(通用,如 info@) |
seniority | 职级过滤(数组) | "junior"、"senior"、"executive" |
department | 部门过滤(数组) | "executive"、"it"、"finance"、"sales"等 |
required_field | 要求结果必须携带的字段(数组) | "full_name"、"position"、"phone_number" |
limit | 单次请求最大返回数 | 1–100,默认 10;免费/基础套餐上限 10 |
offset | 分页偏移量 | 默认 0 |
实战要点:
department与seniority均为数组类型,一次可传多个值(如同时要 executive + finance 两个部门);- 分页由
limit/offset控制(见 4.3 节坑点),批量抓取时要循环翻页直到结果为空或达到上限; - 免费/基础套餐单次最多返回 10 条,如需更大结果集需付费套餐(见 4.6 节)。
3.2 查找特定联系人的邮箱:HUNTER_EMAIL_FINDER
给定姓名 + 域名/公司,推断该人最可能使用的邮箱地址(Hunter 的 Email Finder 能力)。
示例提示词:
"Find the email for Alexis Ohanian at reddit.com using Hunter"
关键参数:
| 参数 | 说明 | 约束/默认值 |
|---|---|---|
domain | 目标域名,如"reddit.com" | 优先于company |
company | 公司名,如"Reddit" | 未提供domain时使用 |
first_name+last_name | 名 + 姓,如"Alexis"+"Ohanian" | 与full_name二选一 |
full_name | 全名,如"Alexis Ohanian" | 与 first/last name 二选一 |
max_duration | 最大请求时长(秒) | 3–20,默认 10;时长越长结果越准 |
实战要点:
- 姓名参数三选一组合必须提供其一:
first_name + last_name或full_name; max_duration是"精度-延迟"的权衡旋钮:Hunter 会花更长时间从多个来源交叉验证,建议在可接受延迟内尽量调高,例如批量外呼前的关键决策人定位可以设到上限 20 秒。
3.3 验证邮箱可投递性:HUNTER_EMAIL_VERIFIER
检查某个邮箱是否有效、可投递、适合发送。
示例提示词:
"Verify if john.doe@example.com is a valid email address"
关键参数:email(必填)——待验证的邮箱地址,如"john.doe@example.com"。
响应内容包含:验证状态(verification status)、可投递性评分(deliverability score)、MX 记录校验结果(MX record validation)、风险评级(risk assessment)。
实战要点:
- 该工具是外呼前的"质检关卡",建议在
HUNTER_DOMAIN_SEARCH/HUNTER_EMAIL_FINDER拿到候选邮箱后逐条调用; - 对验证状态的语义解读要谨慎:
accept_all与risky状态代表不确定性,严格投递性工作流中应剔除或单独处理(见 4.5 节)。
3.4 获取邮箱数量预估:HUNTER_EMAIL_COUNT
查询 Hunter 数据库中某个域名/公司拥有的邮箱数量。该调用免费,不消耗 API 额度。
示例提示词:
"How many email addresses does Hunter have for stripe.com?"
关键参数:
| 参数 | 说明 | 约束/默认值 |
|---|---|---|
domain | 查询域名,如"stripe.com" | 与company二选一必填 |
company | 公司名 | 与domain二选一必填;至少 3 个字符 |
type | 按类型统计 | "personal"或"generic" |
返回内容:总数,以及按类型(type)、部门(department)、职级(seniority)维度的细分统计。
实战要点:
- 由于免费且不扣额度,非常适合在投入真实搜索配额之前做"市场容量侦察":先用它评估目标域名/公司的数据丰度,再决定是否投入付费的搜索配额;
- 返回的是估算值而非保证可获取的数量(见 4.2 节坑点)。
3.5 保存与更新线索:HUNTER_UPSERT_LEAD
以邮箱为主键,单次 upsert 调用即可创建或更新线索,无需先查询是否存在。
示例提示词:
"Save john@stripe.com as a lead in Hunter with name John Doe, position CTO"
关键参数:
| 参数 | 说明 | 约束/默认值 |
|---|---|---|
email | 线索邮箱(upsert 主标识) | 必填 |
| 姓名/职位/公司等 | 线索元数据(name、position、company 等) | 可选,按需提供 |
实战要点:
- upsert 语义意味着同一
email重复提交会更新而非报错,适合在流水线中"幂等地"沉淀线索——发现一个、验证一个、落库一个,无需额外的存在性检查; - 建议与 3.1/3.2 组合成"发现 → 验证 → 入库"的完整链路。
3.6 检查账户用量与配额:HUNTER_ACCOUNT_INFORMATION
查看 Hunter 账户的套餐详情、剩余搜索次数与验证配额。
示例提示词:
"How many Hunter API searches do I have left this month?"
关键参数:无(该工具不需要任何参数)。
实战要点:
- 批量操作前先调用它,确认配额充足,避免大批量任务跑到一半撞上配额上限;
- 与 3.4 的免费计数配合,可以设计出"先看免费容量、再查剩余配额、最后决定搜索规模"的节流式工作流。
四、已知坑点:来自 Skill 作者的经验清单
SKILL.md 沉淀了 7 条实战坑点,逐一展开如下:
- HTTP 401 = 凭据无效:出现
authentication_failed错误说明 API Key 无效或已过期。务必先修复凭据再执行批量操作,否则整批任务都会以同样的 401 失败,浪费配额与时间。 - 邮箱数量是估算值:
HUNTER_EMAIL_COUNT返回的是用于容量评估与优先级排序的近似数字,不是保证可检索到的真实邮箱数量。用它判断"值不值得挖",不要把它当成功率承诺。 - 域名搜索使用 offset 分页:
HUNTER_DOMAIN_SEARCH通过limit/offset翻页,不能假设第一页就是全部结果。要持续翻页,直到返回结果为空或达到上限,否则会漏掉数据。 - 空结果不是错误:
HUNTER_DOMAIN_SEARCH可能返回emails: []且不带任何错误码。这应解读为"无数据",继续流程即可,不要把它当作失败反复重试——重试只会浪费配额。 - 验证状态的细微差别:
HUNTER_EMAIL_VERIFIER返回的accept_all(接受所有邮件)或risky(有风险)状态代表不确定性。严格的可投递性工作流应排除这两类,或为它们设计单独的处理分支。 - 免费/基础套餐限制:免费与基础套餐将
HUNTER_DOMAIN_SEARCH限制为每次请求最多 10 条结果。需要更高上限必须升级付费套餐。 - 域名格式很重要:必须使用裸域名,如
"stripe.com",不要带协议头(https://)或www.前缀,否则查询会失败或返回空结果。
五、组合实战:一条完整的邮件外呼准备管线
将上述六个工作流按业务顺序串联,可以形成一条可复制的外呼准备管线:
- 容量侦察(免费):
HUNTER_EMAIL_COUNT评估目标公司数据丰度,决定是否值得投入; - 配额体检(零成本):
HUNTER_ACCOUNT_INFORMATION确认剩余搜索次数与验证配额; - 邮箱发现:
HUNTER_DOMAIN_SEARCH按部门/职级过滤抓取目标邮箱(记得limit/offset翻页、处理空结果); - 精准补位:对少数关键决策人用
HUNTER_EMAIL_FINDER(调高max_duration提升准确率)定向推断; - 投递性验证:
HUNTER_EMAIL_VERIFIER逐条过滤,剔除accept_all/risky与无效地址; - 线索落库:
HUNTER_UPSERT_LEAD将验证通过的邮箱幂等写入线索库,供后续外呼系统使用。
每一步之间都可以用自然语言触发,整个链路无需手写任何 Hunter API 调用代码。
六、将 Skill 安装到 Codex
hunter-automation 与仓库内其他 Skill 一样,安装到 Codex 的$CODEX_HOME/skills(默认~/.codex/skills)后即可在会话中按描述自动触发。参考 README.md 与 skill-installer/SKILL.md 提供的两种方式:
方式一:使用 Skill Installer 脚本(推荐)
git clone https://gitcode.com/GitHub_Trending/aw/awesome-codex-skills cd awesome-codex-skills python skill-installer/scripts/install-skill-from-github.py --repo ComposioHQ/awesome-codex-skills --path composio-skills/hunter-automation安装脚本会将 Skill 放入$CODEX_HOME/skills/hunter-automation,默认安装到~/.codex/skills,可通过--dest覆盖目标目录、--ref指定分支。脚本在目标目录已存在时会中止,避免覆盖。
方式二:手动安装
- 将 composio-skills/hunter-automation 目录整体复制到
$CODEX_HOME/skills/(默认~/.codex/skills/); - 重启 Codex 使其加载新的 frontmatter 元数据;
- 在会话中自然描述任务(如"用 Hunter 找一下 stripe.com 的销售部门邮箱"),Codex 会根据
description字段自动匹配并触发本 Skill。
验证安装:
ls ~/.codex/skills查看目录、head ~/.codex/skills/hunter-automation/SKILL.md查看元数据是否就绪。安装/更新 Skill 后务必重启 Codex 才能生效。
七、结语
Hunter Automation 是"指令即能力"设计的典型样本:Skill 本身不含一行业务代码,却把 Hunter.io 六个核心 API 的调用姿势、参数边界与经验坑点完整编码进了一套自然语言接口。配合 Rube MCP 网关的连接管理,开发者可以在 Codex 中零代码完成从域名发现、定向查找、投递性验证到线索入库的完整邮件情报链路。理解本 Skill 的六个工具与其组合方式,也就掌握了用 Codex Skills 封装任意 SaaS API 的方法论——这正是 awesome-codex-skills 仓库希望传递的实践模式。
【免费下载链接】awesome-codex-skillsA curated list of practical Codex skills for automating workflows across the Codex CLI and API.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-codex-skills
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考