Skill: kittymi/customer-background-check (version 1.0.0)

--- name: customer-background-check description: 对客户公司做三查式合规背调，重点覆盖 OFAC 制裁名单检索、BIS/ECFR 黑名单地址关键词核查，以及生成给商务部同事 Dora 或 Shellen 的协查请求。用于用户要求“做客户背调”“查客户是否在制裁名单”“查注册地址是否在黑名单”“做三查”“生成给 Dora/Shellen 的出口数据协查消息”等场景。 --- # Customer Background Check 按“三查”流程完成客户公司合规背调，输出清晰结论与待确认项。 ## 三查定义 1. 查客户公司名称是否出现在 OFAC sanctions 搜索结果中。 2. 查客户公司注册地址关键词是否出现在 BIS/ECFR Supplement No. 4 to Part 744 页面中。 3. 查客户出口流向是否涉及敏感国家，并代写给商务部同事 Dora（优先）或 Shellen 的协查消息。 ## 输入信息 尽量先收集以下字段，缺失时先用已有信息完成可做部分，并明确标注缺口： - 客户公司全称 - 公司名检索关键词 - 注册地址全称 - 地址检索关键词 - 联系对象，默认 Dora，备选 Shellen ## 工作流 优先按“半自动执行”模式运行，也就是由代理直接打开页面、输入关键词、读取结果并整理结论。若网页工具不可用，再退回纯说明模式。 ### 0. 预处理输入 开始检索前，先整理两个关键词集合： - 公司名关键词，默认从公司全称中去掉 `LLC`、`Ltd`、`Limited`、`Inc`、`Corp`、`Co.` 等后缀后提取。 - 地址关键词，默认优先生成 2 到 3 组变体，例如： - `门牌号 + 街道名` - `街道名 + 城市` - `邮编 + 城市` 若用户没有显式提供关键词，代理应自行生成并在结果中展示实际使用了哪些关键词。 ### 1. OFAC 名称检索 打开 `https://sanctionssearch.ofac.treas.gov/`。 执行规则： - 在 `Name` 输入公司名称关键词，不必强求全称。 - 优先提取最有识别度的 1 到 3 个词。 - 例：`LA Sysco Technologies LLC` 可先搜 `LA Sysco`。 - 保持其他条件默认，执行搜索。 - 若结果区域显示 `Your search has not returned any results.` 或 `Lookup Results: 0 Found`，记为 `OFAC 名称检索未命中`。 - 若出现候选结果，不要直接判定为命中，需记录候选名称、地址、类型、分数，并标记为 `需人工复核潜在匹配`。 关键词建议： - 去掉 `LLC`、`Ltd`、`Limited`、`Inc`、`Corp`、`Co.` 等法律实体后缀。 - 保留品牌名、主识别词、地域词。 - 名称过长时先搜前 2 到 4 个高辨识词，再按需要缩短或替换。 #### OFAC 半自动执行步骤 使用浏览器工具时，按以下顺序操作： 1. 打开 OFAC 页面。 2. 找到 `Name` 输入框，填入公司名关键词。 3. 保持 `Type`、`Program`、`Country`、`List` 等筛选项默认，除非用户另有要求。 4. 点击 `Search`。 5. 读取结果区域，优先抓取以下关键信号： - `Lookup Results: 0 Found` - `Your search has not returned any results.` - 候选结果表格中的 `Name`、`Address`、`Type`、`Program(s)`、`List`、`Score` 6. 若有多个候选结果，只保留最相关的前几项进入汇总，避免整页照抄。 如果第一次关键词结果过宽或过窄，可做最多 2 次补充尝试： - 结果太多，改用更长的名称片段。 - 没结果但名称很短，可换另一个主识别词组合再搜一次。 ### 2. OFAC 地址辅助检索 如用户提供注册地址，再做一次地址搜索： - 在同一 OFAC 页面把地址关键词填入 `Address`。 - 用街道名、门牌号、城市名中的高辨识片段，不必输入完整地址。 - 无结果则记为 `OFAC 地址检索未命中`。 - 有结果则同样记为 `需人工复核潜在匹配`，不要武断下结论。 #### OFAC 地址半自动执行步骤 1. 继续使用 OFAC 页面，保留或清空其他字段后，在 `Address` 输入地址关键词。 2. 点击 `Search`。 3. 读取结果区是否为 `0 Found` 或无结果提示。 4. 若有候选，记录候选地址与公司名，判断是否与客户信息接近。 如地址关键词过长，优先缩成短片段重试，而不是整段完整地址直接硬搜。 ### 3. BIS/ECFR 黑名单地址检索 打开 `https://www.ecfr.gov/current/title-15/subtitle-B/chapter-VII/subchapter-C/part-744/appendix-Supplement%20No.%204%20to%20Part%20744`。 执行规则： - 触发页面内查找，等效于浏览器 `Ctrl+F`。 - 输入地址关键词检索。 - 优先使用门牌号、街道名、城市名、邮编等高辨识片段。 - 若页面无匹配，记为 `ECFR 地址关键词未命中`。 - 若页面有匹配，提取匹配片段上下文，记录完整可见地址、关联实体名与所在国家，标记为 `ECFR 页面疑似命中，需人工复核`。 关键词建议： - 完整地址过长时，优先尝试：`门牌号 + 街道名`、`街道名 + 城市`、`邮编 + 城市`。 - 对非英文地址，优先使用英文或拼音登记版本。 - 若第一次无结果，可拆成 2 到 3 个不同关键词重试。 #### ECFR 半自动执行步骤 使用浏览器工具时，优先这样做： 1. 打开 ECFR 页面。 2. 若浏览器工具支持页面文本提取或查找，直接搜索地址关键词。 3. 若支持键盘操作，在页面触发查找框，等效 `Ctrl+F`，输入关键词。 4. 读取是否出现匹配计数或匹配文本。 5. 有匹配时，抓取匹配附近上下文，至少包含： - 命中地址片段 - 相关实体名称 - 国家或地区信息 6. 无匹配时，明确记录为当前关键词下未见命中。 重试策略： - 按地址关键词变体最多重试 3 次。 - 一旦出现匹配，就停止扩大搜索，转入记录与人工复核提示。 ## 第三查，向商务部发协查 当需要核查出口数据或判断是否涉及敏感国家时，优先联系 Dora，其次 Shellen。 默认消息模板： ```text Hi Dora, 麻烦协助帮我查一下这个客户的出口数据，以及出口国里是否涉及敏感国家： 客户公司全称：<公司全称> 如果方便的话，也请帮我看看是否有需要特别关注的贸易合规风险。谢谢！ ``` 若 Dora 不可用，替换称呼为 `Hi Shellen,`。 如果用户要中文版本，可改为： ```text Dora，你好， 麻烦协助帮我查一下以下客户的出口数据，并确认出口国家里是否涉及敏感国家： 客户公司全称：<公司全称> 如有其他需要特别关注的合规风险，也请一并提示。谢谢。 ``` ## 输出格式 默认按以下结构汇总： ```markdown 客户背调三查结果 - 客户公司全称： - 公司名检索关键词： - 地址检索关键词： 1. OFAC 公司名检索 - 结果：未命中 / 疑似命中需复核 - 说明： 2. OFAC 地址检索 - 结果：未命中 / 疑似命中需复核 / 未提供地址未查 - 说明： 3. ECFR 黑名单地址检索 - 结果：未命中 / 疑似命中需复核 / 未提供地址未查 - 说明： 4. 商务部协查 - 联系人：Dora / Shellen - 状态：待发送 / 已生成消息 - 消息： 总体判断 - 初步结论：通过初筛 / 存在潜在风险需人工复核 / 信息不足 - 风险备注： ``` ## 判断原则 - `无结果` 只能说明当前关键词下未命中，写成 `初筛未命中` 或 `未见结果`，不要写成绝对合规结论。 - 只要出现疑似匹配，就应保守标记为 `需人工复核`。 - 不要替商务部同事捏造出口数据结论，第三查的结果应区分 `已请求协查` 与 `已收到协查结论`。 - 若公司名称或地址信息不完整，先提出最小补充信息请求，同时尽可能完成前两查中的可执行部分。 ## 工具偏好 - 能直接联网抓取网页内容时，优先使用网页抓取或浏览器工具完成检索。 - 需要页面内查找、表单输入、观察搜索结果 UI 时，优先使用浏览器工具。 - 对 OFAC 页面，优先用浏览器工具操作真实搜索表单，而不是只读静态页面。 - 对 ECFR 页面，优先使用文本查找、页面搜索或浏览器快照定位命中内容。 - 需要给 Dora 或 Shellen 发消息前，先确认用户是否要真的发送；如果只是起草，不执行外发。 ## 浏览器执行口径 如果代理实际代跑网页检索，结果中应额外补充： - 检索页面是否成功打开 - 实际输入的关键词 - 是否做过二次重试 - 截取到的关键结果文本 - 哪些结论来自网页观察，哪些仍需人工确认 不要伪造“已查询”结果。若网页打不开、元素找不到、页面加载异常或被站点限制，应如实报告为 `执行受阻`，并回退为手动操作指引。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)