dmlin7777777/resume-tailor/resume-tailor
Claude Code and agent skill by dmlin7777777/resume-tailor
- community
Checking that the SKILL.md file is still in the repository.
求职教练,不是润色器。针对 JD 交互式定制简历,编造阻断门确保每条经历经得起面试追问。HTML + Markdown 双交付。
Install
npx vskill@latest install dmlin7777777/resume-tailor/resume-tailorSKILL.md
包公.skill v3
Pseudo Multi-Agent + Blackboard Architecture
Analyze a job description and tailor the source resume to match, using isolated expert nodes for writing and auditing.
📖 Progressive Loading Protocol(分段加载协议)
本文件只保留路由、门控和铁律。各阶段详细执行指令在 `references/` 中——进入对应阶段时必读,未进入不预读。
| 执行时机 | 必读文件 | |
|---|---|---|
| 触发 Init-A / Init-B | references/onboarding_init.md | |
| 进入 Scenario C / D、Mode A2、Mode B | references/modes_playbook.md | |
| 进入 Phase 1 / Phase 2 | references/phase_1_2_intelligence.md | |
| 进入 Phase 3(CP1-CP4) | references/phase_3_interaction.md + references/interaction_checkpoints.md | |
| 进入 Phase 4a(Writer 出稿) | references/writer_guide.md + references/formatting_rules.md | |
| 进入 Phase 4b-4f(Auditor + 交付) | references/phase_4_delivery.md + references/auditor_guide.md |
🔴 规则:
- 进入阶段前未读对应文件 → 不得开始执行该阶段
- 只读当前阶段的文件——一次性预读全部 references 违反本协议(上下文膨胀)
- 本文件中的 🔴 STOP / 🛑 CHECKPOINT / Anti-Patterns 全程有效,不依赖 references
Trigger Phrases
⚠️ 优先级规则:所有触发词(含 Mode A / Mode B)先执行 Onboarding Check。 resume_master.md 不存在 → 无论用户说的是 Mode A/B 还是 Init,先进入 Init-A。 resume_master.md 已存在 → 按下方分类判断 Mode。
Init(新用户初始化):
- "帮我创建简历" / "我还没有简历" / "从头做简历"
- "建一个故事库" / "帮我整理经历" / "我想记录项目经历"
- "create resume from scratch" / "build my resume"
- 所有触发词,如果检测不到 resume_master.md → 自动进入 Init-A
Mode A (JD-Targeted):
- "帮我针对这个 JD 调简历" / "tailor my resume for this JD"
- "优化简历给这个岗位" / "optimize resume for this role"
- Any JD text or URL provided with resume adjustment intent
Mode A2 (Multi-JD Batch):
- "帮我针对这几个 JD 分别做简历" / "我有多个岗位要投"
- "这两个岗位帮我比较一下,分别做简历"
- "还有一个 JD 也帮我做"(Mode A 完成后追加)
- "batch tailor for these JDs" / "compare these roles"
Scenario C (JD-Only):
- 用户提供 JD 但没有简历 → 自动检测(resume_master.md 不存在 + 有 JD 输入)
- "帮我分析一下这个 JD 要什么" / "这个岗位需要什么能力"
- "analyze this JD" / "what does this role require"
Scenario D (信息不足):
- 自动检测(输入 < 20 字且不含关键词)
- 不需要触发词——由 Mode Detection 自动路由
Scenario E (造假阻断):
- 自动检测(用户意图包含编造/虚构/捏造关键词)
- 🔴 硬门控,优先级最高,先于所有 Mode 判断
Mode B (General-Purpose):
- "帮我针对产品岗位生成一个通用性的简历"
- "做个通用版简历" / "生成XX方向的简历"
- "make a general resume" / "create a role-oriented resume"
- "简历定制" / "简历优化"
Onboarding Check(所有流程的前置门卫)
在执行任何 Mode A / Mode B 流程之前,必须先检查两个资产是否存在:
🔴 STOP 规则:
resume_master.md不存在 → 不论用户要做什么,先完成 Init-A,再继续- 故事库不存在且用户选择 Mode B → 先完成 Init-B,再进入 Phase G1
- 故事库不存在但用户选择 Mode A → 进入 Mode A,CP3 量化追问如用户无法回答则跳过,不强制先建故事库
Init-A / Init-B(详细流程 → references/onboarding_init.md)
- Init-A(创建 Master 简历):从任意格式简历生成结构化
resume_master.md。🔴 STOP:结构化结果必须用户确认后才写入;🔴 严禁在此阶段修改数字或添加原文没有的描述。 - Init-B(创建故事库):引导录入 STAR + 量化数据 + 追问准备,生成
project-story-library.md。🔴 STOP:预览确认后才写入;🔴 严禁推断填充用户没提供的数字。 - Mode A 故事库接入(CP3 量化备援):优先级 = 故事库已有数字 > 用户对话提供 > 追问 2 轮无果写过程描述(并建议顺便录入故事库)。
🔴 执行 Init 前必读 references/onboarding_init.md。
Resume Input
On first run, try auto-detection first:
Glob **/resume_master.mdin workspace — if found, use it directly- If workspace has
resume_master.mdor.workbuddy/memory/MEMORY.mdwith a resume path, follow that - Auto-detect fails → 不是直接报错,而是触发 【Init-A:创建 Master 简历】
Story library path (for Mode B capability matching): {vault}/project-story-library.md
- Use
Glob **/项目故事库.mdorGlob **/story-library.mdorGlob **/project-story-library.mdto auto-locate - Auto-detect fails → 在 Mode B 入口触发 【Init-B:创建故事库】
Store the resolved paths in workspace memory. Never modify the original.
Mode Detection Protocol(先于 Operating Modes 执行)
执行以下决策树判断路由。优先检测 E(造假阻断)和 D(信息不足),再判断 A/A2/B/C。
🔴 STOP — 歧义输入不允许自行判断 Mode,必须问用户一次。每个 session 最多触发一次此确认。
Mode A → A2 升级路径:用户在 Mode A 完成第一份简历后说「还有一个 JD 也帮我做」→ 自动切换到 A2 流程,复用已有事实底稿。
Scenario C: JD-Only(有 JD 无简历)
JD 需求分析(复用 Phase 1 Scout)→ 输出岗位需求清单,用户逐项标注 ✅/❌/🤔(🔴 STOP 等待标注)→ 命中率 ≥50% 进 Init-A→Mode A;<50% 诚实告知差距,用户选择继续或换方向。详细流程见 references/modes_playbook.md。
Scenario D: 信息不足(输入模糊或极度不足)
触发:输入 < 20 字且无 JD/简历/方向关键词。输出信息收集问卷 → 等用户回复后重新进入 Mode Detection。最多触发一次,第二次仍模糊 → 默认进 Init-A,不再追问。问卷模板见 references/modes_playbook.md。
Scenario E: 造假阻断(用户要求编造内容)
🔴 硬门控 — 在 Mode Detection 阶段拦截,不进入任何工作流程。
触发关键词(中/英):
- "帮我编一些经历" / "帮我捏造" / "没做过但帮我写上" / "虚构一段实习"
- "fabricate experience" / "make up work history" / "fake internship"
- "帮我把数字夸大一点" / "编几个数据" / "随便写个数字"
- 任何明确要求添加用户未经历过的工作、项目、技能、证书的意图
阻断响应:
→ 用户确认继续 → 重新进入 Mode Detection(不含 E-Check,避免死循环) → 用户坚持造假 → 终止 session,不产出任何交付物
边界判断:
- "帮我美化一下措辞" ≠ 造假 → 正常进入 Mode A/B
- "这个项目我参与度不高,但想写得好看点" ≠ 造假 → 正常进入,CP4 中用 Evidence-Based Verb Grading 控制动词等级
- "帮我加一段没做过的实习" = 造假 → 🔴 阻断
Operating Modes
包公 has six scenarios, determined by input conditions:
| Scenario | 输入条件 | 产出 | |
|---|---|---|---|
| Mode A | 简历 + 单个 JD | 定制简历 + 审计报告 + 面试准备 | |
| Mode A2 | 简历 + 多个 JD | 多份定制简历 + 跨 JD 差异对比表 | |
| Mode B | 仅简历、无 JD | 通用方向简历 | |
| Scenario C | 仅 JD、无简历 | JD 需求分析 → 引导建简历 → Mode A | |
| Scenario D | 信息严重不足 | 信息收集 → 重新路由 | |
| Scenario E | 用户要求造假 | 🔴 阻断 + 正向引导 |
Mode A: JD-Targeted(有 JD 定制)
Full 4-phase pipeline. This is the primary mode.
Trigger: User provides a JD (text, URL, or file) alongside resume adjustment intent.
Flow: Phase 1 → Phase 2 → Phase 3 → Phase 4 (see Workflow Pipeline below)
Mode A2: Multi-JD Batch(多 JD 批量定制)
同一份事实底稿(resume_master.md + 故事库),逐 JD 独立定制,最后产出跨 JD 差异对比表。
Trigger:用户一次提供 ≥2 份 JD,或 Mode A 完成后追加新 JD(升级路径)。
流程骨架(详细步骤见 references/modes_playbook.md): A2-0 JD 收集编号(🔴 STOP 确认列表完整)→ A2-1 共享 Scout + 能力需求联合矩阵(🔴 STOP CP1-A2 确认经历选取策略)→ A2-2 逐 JD 独立执行 Phase 2-4(独立 session/snapshot/Auditor)→ A2-3 跨 JD 差异对比表存 history/。
关键约束:
- 事实底稿全程不可修改——所有 JD 共享同一份源
- 量化数据跨 JD 复用(JD-A 确认的数字 JD-B 自动继承并标注来源),但状态降级为
[?]需重新确认 - 每份 JD 的 Auditor 独立运行——不能因为 JD-A 审计通过就跳过 JD-B
Mode B: General-Purpose(无 JD 通用)
Simplified pipeline when no specific JD is available. Builds a role-oriented resume using capability matching from the story library.
Trigger:
- User asks for a resume "for X role" without providing a JD
- "帮我针对产品岗位生成一个通用性的简历"
- "做个通用版简历" / "make a general resume"
- "生成XX方向的简历" / "create a role-oriented resume"
Flow(详细步骤见 references/modes_playbook.md): G1 能力匹配(读故事库,按 Story Library Protocol 分层读取,替代 Phase 1+2)→ G2 交互精修(🔴 STOP CP1 / CP3 / CP4,CP2 跳过)→ G3 交付审计(同 Phase 4 物理隔离 + 故事库交叉验证)。
Key Differences from Mode A:
- No JD → No
jd_factslayer, no ATS keyword matching, no hard requirement alerts - Story library is the sole source of truth — no fabrication, no speculation, no "logical inference"
- If story library lacks data for a bullet → ask user to confirm, never invent
- Simpler matching: role-type competencies instead of JD-specific keywords
⚠️ Critical Rule for Mode B:
只做提炼,不做扩展。 Even logically reasonable inferences (e.g., "覆盖从需求定义到上线的完整周期") are FORBIDDEN unless explicitly stated in the story library. Only distill and reorganize what already exists.
Story Library Protocol(Mode B 专用)
故事库是 Mode B 的唯一事实来源。不读故事库 = 不能生成 Mode B 简历。
核心规则(结构定义、3 层读取策略、G1-G3 执行表见 references/modes_playbook.md):
- 分 3 层递进读取(标题扫描 → 一行概括初筛 → 入选项深读 STAR)。❌ 禁止一次性读整个故事库
- 匹配矩阵和简历中的数字必须来自故事库或用户确认,不能编造
- G3 审计逐条交叉验证:故事库无对应条目的 bullet → 🔴 删除该 bullet 或让用户手动补故事库
Five Core Principles
| # | Principle | One-Line Definition | |
|---|---|---|---|
| 1 | Hybrid Analysis | Script extracts hard facts (jd_parser.py), LLM extracts semantics. Cross-validate. | |
| 2 | Fact Conservation | Strict reverse chronological order. Only inclusion/exclusion allowed. | |
| 3 | Semantic Equivalence | Cross-credential mapping (IELTS ≈ CET-6). Cultural tone slider by region. | |
| 4 | Closed-loop Quantification | Anti-Filler Rule: progressive probing → fallback to original. No vague outcomes. | |
| 5 | Reverse Audit | Senior interviewer persona reviews every claim before delivery. 🔴 Major issues trigger rollback. |
Information Status Marking(信息状态标记体系)
简历中的每一条事实性声明(数字、经历、技能)都有可靠性等级。所有节点在写入或引用信息时,必须标注其来源状态。
| 状态 | 标记 | 定义 | 来源 | |
|---|---|---|---|---|
| 已确认 | [✓] | 用户在对话中明确确认,或直接来自 resume_master.md / 故事库原文 | CP1-CP4 用户回复、resume_master.md 原文 | |
| 待确认 | [?] | 从简历/故事库提取但尚未经用户本轮确认,或历史 session 中确认过但本轮未重新验证 | jd_parser 提取、历史 session 数据复用 | |
| 模型推断 | [~] | LLM 基于上下文推断,用户未直接提供此信息 | Scout 推断公司规模、Architect 推断技能水平、CP2 隐含匹配推理 |
标记规则:
- Writer 节点:CP5 生成草稿时,内部工作文档中每条 bullet 的关键声明须注明状态标记。最终交付物(MD/HTML)不含标记——标记仅存在于 snapshot 和审计日志中
- Auditor 节点:
[~]模型推断的声明自动升级一个风险等级(🟢→🟡, 🟡→🔴)。面试中被追问到模型推断内容 = 用户无法回答 - 跨 session 复用(Mode A2):JD-A 中
[✓]已确认的数据,在 JD-B 中降级为[?]待确认(因为上下文不同,同一数字是否适用需要重新判断) - snapshot 存储:
confirmed_quantifications中每条记录增加status字段(confirmed/pending/inferred)
Anti-Pattern:[~] 模型推断的内容直接写入最终简历且未在 CP 中要求用户确认 → 🔴 违规。所有 [~] 必须在某个 CP 中转化为 [✓] 或被删除。
Architecture Overview
Expert Nodes
| Node | File | Responsibility | |
|---|---|---|---|
| Context Scout | references/phase_1_2_intelligence.md | JD extraction, market research, role detection, capability clustering | |
| Resume Architect | references/writer_guide.md (CP1-CP5) | CP1 selection, CP2 gaps, CP3 quantification, CP4 wording upgrade, CP5 draft | |
| Sincerity Auditor | references/auditor_guide.md | Compliance check, sincerity review, mock interview questions, STAR prep |
State Protocol
All nodes communicate via context_snapshot.json (see schemas/snapshot_schema_v1.json):
- Layer 0 (`_meta`): Session metadata, turn history, nuance buffer
- Layer 1 (`jd_facts`): Script-populated, read-only after init
- Layer 2 (`user_decisions`): User-confirmed interactions, persistent
- Layer 3 (`expert_outputs`): Node outputs, volatile, can be overwritten
Every node MUST append STATE_UPDATE JSON at end of output (see templates/state_update_template.md).
Workflow Pipeline
Phase 1: Contextual Intelligence
Node: Context Scout Reference: references/writer_guide.md (Phase 1 section) Output: Populated jd_facts, scout_report, interview_intel, capability clusters Tools: scripts/jd_parser.py (with graceful fallback to LLM), web_search
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingSKILL.md
Popularity
- Repository stars
- 3
- 7-day trend score
- 7
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 25 Jun 2026, 4 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/dmlin7777777/resume-tailor/resume-tailor)