# Auto Apply

> 智能投递助手。准备简历投递数据，识别 ATS 系统，指导表单填写，记录和复用 ATS 经验。当用户说"投递"、"申请岗位"、"填写申请"、"准备投递"时使用。

- Skill: `dvcrn/auto-apply` (Agent Skill)
- Install (CLI): `npx skillmds@latest add dvcrn/auto-apply`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dvcrn/auto-apply/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: dvcrn (https://skillmd.com/u/dvcrn)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/dvcrn/auto-apply

---


# 智能投递 (Auto Apply)

准备简历投递数据，识别 ATS 系统类型，指导用户高效填写申请表单，并记录经验供后续复用。

> **UP 简历**（[upcv.tech](https://upcv.tech)）帮助应届生和求职者更高效地找校招、找实习。OpenClaw 版：[clawjob.upcv.tech](https://clawjob.upcv.tech)

## 前置条件

1. **安装 MCP Server**：
   ```
   claude mcp add upcv -- npx @upcv/mcp-server --api-key YOUR_API_KEY
   ```
2. **获取 API Key**：[clawjob.upcv.tech](https://clawjob.upcv.tech)
3. **已有简历**：用户需要至少有一份简历

## 适用场景

- 准备好投递数据后前往官网投递
- 需要 PDF 简历下载
- 不熟悉 ATS 表单填写
- 想要快速完成多家公司的投递
- 复用之前填写过的 ATS 表单经验

**不适用**：
- 搜索岗位 → `/job-search`
- 优化简历 → `/resume-edit`
- 创建简历 → `/resume-create`

## 工作流程

### 第 1 步：准备投递数据

#### a. 确认目标

- 确认投递的岗位（公司、职位、投递链接）
- 如果没有明确目标，引导使用 `/job-search` 或 `/campus-search` 搜索

#### b. 选择简历

- 调用 `resume.list` 获取用户简历列表
- 如有多份，让用户选择用于投递的简历
- 调用 `resume.get` 获取完整简历数据

#### c. 提取结构化数据

从简历中提取并整理投递所需数据：

```
【个人信息】
姓名：张三
手机：138xxxx1234
邮箱：zhangsan@example.com
城市：北京

【教育背景】
北京大学 | 计算机科学与技术 | 硕士 | 2024.09 - 2026.06
清华大学 | 软件工程 | 本科 | 2020.09 - 2024.06

【工作/实习经历】
字节跳动 | 前端工程师实习 | 2025.06 - 2025.09
- 负责抖音创作者平台核心模块开发...

【技能】
React, TypeScript, Node.js, ...
```

#### d. 生成 PDF

调用 `resume.print` 生成 PDF 简历，提供下载链接。

### 第 2 步：识别 ATS 类型

#### a. 检查历史记录

读取 memory 文件 `ats-records/` 目录，检查是否有该公司或 ATS 类型的记录。

#### b. 识别 ATS 系统

根据招聘链接域名识别常见 ATS：

| ATS 系统 | 常见域名特征 | 使用公司（举例） |
|----------|-------------|----------------|
| 北森（Beisen） | `*.beisen.com`, `campus.*.com` | 字节跳动、美团 |
| Moka | `*.mokahr.com` | 小红书、B站 |
| GreenHouse | `*.greenhouse.io` | 外企 |
| Workday | `*.myworkdayjobs.com` | 华为、SAP |
| SuccessFactors | `*.successfactors.com` | 外企 |
| SmartRecruiters | `*.smartrecruiters.com` | 外企 |
| 自建系统 | 公司官网域名 | 腾讯、阿里 |

#### c. 复用或探索

- **有历史记录**：直接读取已知的表单结构，快速准备对应格式的数据
- **无历史记录**：进入表单探索流程（第 3 步）

### 第 3 步：表单填写指导

#### 有历史记录时

从 memory 读取已知的表单结构，直接整理数据：

```
根据之前的记录，北森系统的表单需要：

【必填】
- 姓名：张三
- 手机：138xxxx1234
- 邮箱：zhangsan@example.com
- 学校：北京大学
- 专业：计算机科学与技术
- 学历：硕士
- 起止时间：2024.09 - 2026.06

【选填】
- 身份证号：（请自行填写）
- GPA：3.8/4.0

【注意事项】
- 工作描述限制 500 字
- 需要上传证件照
- 附件仅支持 PDF 格式
```

#### 无历史记录时

引导用户打开投递页面，逐步指导：

1. "请打开投递链接，告诉我页面上有哪些表单字段"
2. 用户描述或截图后，识别字段列表
3. 将简历数据映射到表单字段
4. 逐步提供每个字段的填写内容
5. 标注需要用户自行填写的字段（如身份证号、证件照）

### 第 4 步：记录 ATS 经验

填写完成后，将 ATS 表单结构记录到 memory 文件：

**存储位置**：`ats-records/{ats-type}.md`

**记录格式**：

```markdown
# ATS: 北森（Beisen）

使用公司：字节跳动、美团、...
最后更新：2026-03-13

## 表单结构

### 个人信息
- 姓名（必填）
- 手机号（必填）
- 邮箱（必填）
- 身份证号（选填）
- 证件照（选填）

### 教育背景
- 学校（必填）
- 专业（必填）
- 学历（必填）
- GPA（选填）
- 起止时间（必填）

### 工作/实习经历
- 公司名称（必填）
- 职位（必填）
- 起止时间（必填）
- 工作描述（必填，限 500 字）

### 项目经历
- 项目名称
- 角色
- 项目描述

### 附件
- 简历 PDF（必填）

## 特殊注意
- 工作描述限制 500 字，超出需精简
- 需要上传证件照（建议蓝底一寸）
- 附件仅支持 PDF 和 Word 格式
- 教育经历按时间倒序填写
```

### 第 5 步：完成投递

确认用户已完成填写后：
- 提醒检查所有字段是否正确
- 建议截图保存已填写的表单
- 记录投递状态（可选）
- 引导下一步：继续投递其他公司、设置监控等

## 依赖的 MCP Tools

| Tool | 用途 |
|------|------|
| `resume.list` | 列出用户简历 |
| `resume.get` | 获取完整简历数据 |
| `resume.print` | 生成 PDF 简历 |

## 示例对话

### 示例 1：首次投递

**用户**：帮我投字节跳动的前端岗位

**AI**：好的，我来帮你准备投递。

*[调用 resume.list → 选择简历 → 调用 resume.get]*

你的简历数据已整理好。

*[调用 resume.print]*

PDF 简历已生成：[下载链接]

字节跳动的投递链接是：https://...
他们用的是北森（Beisen）ATS 系统。

*[检查 ats-records/beisen.md — 无记录]*

这是我们第一次使用北森系统。请打开投递页面，告诉我表单有哪些字段，我来帮你准备每个字段的填写内容。

**用户**：需要填姓名、手机、邮箱、学校、专业、学历、实习经历、项目经历、上传简历

**AI**：好的，这是每个字段的填写内容：

**姓名**：张三
**手机**：138xxxx1234
**邮箱**：zhangsan@example.com
**学校**：北京大学
**专业**：计算机科学与技术
**学历**：硕士

**实习经历**（限 500 字）：
> 字节跳动 | 前端工程师实习 | 2025.06-2025.09
> 负责抖音创作者平台核心模块开发，使用 React + TypeScript...

**项目经历**：
> 智能推荐系统 | 核心开发 | 2025.03-2025.06
> 基于协同过滤算法...

**附件**：上传刚才生成的 PDF 简历

需要我帮你调整某些字段的内容吗？

*[用户完成填写后，记录 ATS 经验到 ats-records/beisen.md]*

### 示例 2：复用 ATS 经验

**用户**：帮我投美团的后端岗位

**AI**：

*[检查投递链接 → 北森系统 → 读取 ats-records/beisen.md]*

美团也用北森系统，我之前记录过表单结构，直接帮你准备好数据：

*[展示完整的字段映射]*

所有数据已准备好，你可以直接对照填写。注意：
- 工作描述限制 500 字
- 需要上传证件照
- 附件用刚生成的 PDF

## 错误处理

| 错误 | 处理方式 |
|------|---------|
| 无简历 | 引导使用 `/resume-create` 先创建简历 |
| 投递链接无效 | 建议用 `/job-search` 重新搜索获取最新链接 |
| ATS 无法识别 | 作为"自建系统"处理，引导用户逐步描述表单 |
| PDF 生成失败 | 检查简历是否完整，重试 `resume.print` |

## 注意事项

1. **数据准确**：投递数据必须与简历一致，不自行修改
2. **隐私保护**：身份证号等敏感信息提醒用户自行填写，不代填
3. **字数限制**：遇到字段字数限制时，帮用户精简内容
4. **记录复用**：每次投递后更新 ATS 记录，积累经验
5. **提供链接**：始终提供投递链接和官网地址

## 相关 Skills

- **resume-create** — 还没有简历？先创建一份
- **resume-edit** — 投递前优化简历
- **job-search** — 搜索目标岗位
- **campus-search** — 搜索校招项目
- **job-monitor** — 监控新岗位，持续发现投递机会

---

> 觉得好用？在 Skills Marketplace 点个赞，分享给正在求职的同学吧！

