# Gangwei Jd Zhizuo

> 「示例公司」 内部用的岗位 JD 制作 skill。从 md 文件直接渲染成版式专业的 PDF + PNG，输出到分类文件夹（md格式/ → pdf格式/ → png格式/）。新模版（v8）：白底 + 深橙

- Skill: `b-bzy/gangwei-jd-zhizuo` (Agent Skill, multi-file: 14 files)
- Install (CLI): `npx skillmds@latest add b-bzy/gangwei-jd-zhizuo`
- Raw SKILL.md: https://api.skillmd.com/api/skills/b-bzy/gangwei-jd-zhizuo/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: b-bzy (https://skillmd.com/u/b-bzy)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/b-bzy/gangwei-jd-zhizuo

---


# 岗位JD制作 · gangwei-jd-zhizuo

> 「示例公司」 内部用的招聘简历（JD）制作 skill。用户在 `md格式/` 文件夹下编辑 .md，skill 自动渲染成 PDF + PNG，输出到对应分类文件夹。

## 一、核心工作流

```
md格式/JD_XXX.md   ←—— 用户编辑这个
       ↓ python parse_md.py
[临时 JSON]
       ↓ python render_jd.py
pdf格式/JD_XXX.pdf
       ↓ pdftoppm -r 150
png格式/JD_XXX-1.png, JD_XXX-2.png
```

## 二、新模版视觉规范（v9）

参照 `_JD统一格式规范.md` + `JD_全栈开发工程师.pdf`；**v9 起 bullet 用数字编号 1. 2. 3.**：

- **页面**：A4 纵向，白底；上下 14mm，左右 16mm
- **字体**：Microsoft YaHei / Noto Sans SC，正文 **10.5pt**
- **主题色**：**`#C2410C`**（深橙）
- **米色强调底**：`#FAF5F0`
- **链接蓝**：`#0563C1`

**头部 4 行：**

1. 岗位名：22pt 黑加粗
2. 副标题（英文岗位名 / 方向）：11pt 主题色加粗
3. 信息行（全职 · 城市 · 方向）：9.5pt 灰色 `#555555`
4. 口号 `KAPIBALA AI · WE ARE HIRING · 2026`：8.5pt 浅灰 `#999999`，段后黑色加粗分割线

**章节：**

- 标题：12.5pt 主题色加粗，左侧主题色竖线
- 正文段落：10.5pt，行距 1.45
- 子标题（**xxx**）：10.5pt 黑加粗
- 高亮金句（> 引用）：米色底块
- 列表：**数字编号 `1. 2. 3.`**（v9 起，橙色加粗；每次调用从 1 重新编号）
- 职责类条目：黑加粗小标题 + 灰色补充
- 福利类条目：橙色加粗英文标签 + " — " + 黑色说明
- 投递方式整段：米色底 + 邮箱加粗 + 官网蓝色下划线

## 三、文件结构

```
gangwei-jd-zhizuo/
├── SKILL.md                       ← 这份
├── render_jd.py                   ← PDF 渲染器（v8）
├── parse_md.py                    ← md → JSON 解析器
├── render_xhs.py                  ← 小红书图文渲染器（半成品）
├── fonts/
│   └── NotoSansSC-Bold.ttf        ← Bold weight 静态字体
├── references/
│   ├── company_terminology.json   ← 公司介绍 / 福利预设 / 邮箱
│   └── jd_schema.json             ← JD 字段说明
└── sample_jd_data/
    ├── JD_BD.md
    ├── JD_LLM_Post-Training.md
    ├── JD_全栈开发工程师.md
    └── JD_语音Post-Training.md
```

## 四、md 格式约定

每份 JD .md 必须满足以下格式（参考 sample_jd_data/JD_全栈开发工程师.md）：

````markdown
# 岗位名

**英文副标题 · 方向**
全职 · 「城市」 · 方向 · 急招标记

> *「示例公司」 · WE ARE HIRING · 2026*

---

## 关于我们
（自由段落）

## 岗位定位
（自由段落，可多段）

## 客户与场景（可选，BD 类岗位用）
**你将面对的客户**
- bullet 1
- bullet 2

**常见客户需求**
- bullet 1
- bullet 2

> 高亮金句（米色底）

## 岗位职责
- **职责标题**
  详细补充（前导 2 空格表示是上一条 bullet 的补充行）

## 任职要求
- 简单 bullet
- 简单 bullet

## 加分项
- 简单 bullet

## 我们提供
- **¥ 50-80W** · ANNUAL CASH — 福利说明
- **ZERO TAX** · DUBAI — 福利说明

---

## 投递方式
- 邮箱：**hr@example.com**
- 邮件主题：「应聘岗位名称 - 姓名」
- 微信：your-wechat-id
- 官网：https://example.com
````

## 五、工作流程

### 用户场景 1：改了 md 想出新 PDF

```bash
# 解析 md → JSON
python skill/parse_md.py "{user_folder}/md格式/JD_XXX.md" /tmp/jd.json

# JSON → PDF
python skill/render_jd.py /tmp/jd.json "{user_folder}/pdf格式/JD_XXX.pdf"

# PDF → PNG (150 DPI，多页按 -1/-2 编号)
pdftoppm -r 150 -png "{user_folder}/pdf格式/JD_XXX.pdf" "{user_folder}/png格式/JD_XXX"
```

把这三步串成一个 batch 脚本同步全部 JD：

```bash
JDS=("JD_BD" "JD_LLM_Post-Training" "JD_全栈开发工程师" "JD_语音Post-Training" "JD_TTS后训练算法工程师")
for jd in "${JDS[@]}"; do
  python skill/parse_md.py "$BASE/md格式/${jd}.md" /tmp/${jd}.json
  python skill/render_jd.py /tmp/${jd}.json "$BASE/pdf格式/${jd}.pdf"
  pdftoppm -r 150 -png "$BASE/pdf格式/${jd}.pdf" "$BASE/png格式/${jd}"
done
```

### 用户场景 2：起新 JD

→ 用 AskUserQuestion 收集岗位基础信息 → 复制 sample_jd_data 里最近的一份 md 当起手 → 让用户编辑 → 渲染

### 用户场景 3：改某个字段

→ Read 现有 md → Edit 对应行 → 重新跑渲染流水线

## 六、不要做

1. **不要渲染「招聘流程 / INTAKE PROTOCOL」章节** —— 自 v6 起默认移除，避免对外暴露内部 SOP。
2. **不要写长篇 postamble 解释 PDF 里的内容** —— 用户自己能看，给文件链接就够了。
3. **不要用 ReportLab 内置 CID 字体 STSong-Light** —— Linux 上 cmap 缺失会把 CJK 渲染成空盒子。
4. **不要打开/修改 `~$JD_BD.docx` 这种 Word 锁文件** —— Word 后台打开时产生的，直接绕过。

