用途
这是一个共享的、与具体智能体无关的简历工作流定义,适用于以下场景:
- 改进已有的简历草稿;
- 将项目笔记或原始素材转化为简历内容;
- 在信息采集之前先选择模板;
- 针对缺失字段运行结构化的引导式信息采集;
- 让该工作流可在 Claude 与非 Claude 智能体之间复用。
核心规则
安装后的技能包是自包含的。正确安装后,该目录应包含:
- template_catalog_cli.py
- template_store_cli.py
- agent_intake_cli.py
- host_cli.py
- render_cli.py
- resume_runtime/
- resume_core/examples/
应将技能目录下捆绑的 resume_runtime/ 视为主要的共享接口。
公开入口点包括:
- template_catalog_cli.py — 列出内置模板与已存储模板,并派生 template_context;
- template_store_cli.py — 保存个人模板并提升候选模板;
- agent_intake_cli.py — 面向宿主的外部信息采集入口;
- host_cli.py — 更低层的结构化会话控制;
- render_cli.py — 根据 manifest 和 profile 渲染 markdown/html/css 输出包。
resume_runtime/ 下也存在等价的捆绑模块路径:
- resume_runtime/template_catalog_cli.py
- resume_runtime/template_store_cli.py
- resume_runtime/agent_intake_cli.py
- resume_runtime/host_cli.py
- resume_runtime/render_cli.py
.claude/skills/resume/ 下的 Claude 专用包装器是兼容适配层,而非主要的共享契约。
推荐工作流
1. 先选择模板
在解析材料或询问缺失信息之前,先选择模板。
在已安装的技能包中,内置模板 manifest 位于 resume_core/examples/templates/;内置模板资源(包括 CSS)位于 resume_core/examples/template-assets/。当前内置模板为 typora-classic 和 markdown-basic。
- 通过 template_catalog_cli.py 加载内置模板与已存储模板;
- 当需要某个模板的具体 markdown/html/css 文件位置时,从 catalog CLI 响应中读取 asset_paths;
- 展示模板卡片,包含模板 id、风格、适用场景和所需内容摘要;
- 让用户选择内置模板、已存储模板、上传新模板,或请求派生模板;
- 选定模板后,将返回的 manifest 与派生出的检查清单作为 template_context 传给 agent_intake_cli.py。
如果已知该已安装技能目录的绝对路径,可用以下命令枚举内置模板:
python3 /path/to/installed/skill/template_catalog_cli.py
如果已处于已安装技能目录中,也可运行:
python3 template_catalog_cli.py
如果是在该仓库根目录内开发,捆绑入口点为:
python3 skills/resume/template_catalog_cli.py
必要时仍可覆盖默认值:
python3 /path/to/installed/skill/template_catalog_cli.py
--examples-root /path/to/installed/skill/resume_core/examples
--generated-at 2026-04-16T12:00:00Z
如需直接查看某个内置模板,可从以下文件入手:
- resume_core/examples/templates/typora-classic.v1.json
- resume_core/examples/templates/markdown-basic.v1.json
- resume_core/examples/template-assets/typora-classic/style.css
- resume_core/examples/template-assets/markdown-basic/style.css
不要假设模板文件位于 skills/resume/SKILL.md 旁边。技能文件定义工作流;内置模板 manifest 与资源位于上述仓库路径中。
2. 模板选定后选择内容路径
使用以下路径之一:
- 直接录入内容;
- 解析已有材料;
- 仅针对模板所需但缺失的字段进行追问。
如果工作只是直接的改写/润色,保持在直接编辑模式。如果工作依赖结构化采集状态、缺失字段投影或多轮追问,则通过公开的 intake/session CLI 路由。
3. 使用公开采集流程进行结构化收集
对于结构化采集与追问:
- 调用 resume_runtime/agent_intake_cli.py 作为公开外部入口;
- 当模板已选定后,提供 template_context;
- 让运行时决定本轮应保持自由形式、请求材料、解析材料、继续结构化会话,还是移交起草;
- 只询问运行时物化出的当前批次问题;
- 在“仅建议”边界处,只收集是/否的继续决定。
4. 按所选模板起草
当信息足够时:
- 生成与所选模板所需结构匹配的简历草稿;
- 将章节标题、字段标签和固定模板文案本地化以匹配用户语言;中文请求默认渲染中文标签;
- 保留基于证据的措辞与真实的归属;
- 明确列出仍缺失的事实,而不是猜测。
5. 通过公开渲染器渲染最终模板产物
当 profile 就绪时:
- 使用 resume_runtime/render_cli.py 或共享渲染辅助函数;
- 根据所选 manifest 与 profile 生成 markdown/html/css 输出;
- 将这些渲染产物视为面向宿主集成和 Typora 优先预览流程的可移植输出包。
宿主无关的请求形态
调用 resume_runtime/agent_intake_cli.py 时,使用 README.md 和本共享技能中记录的公开请求信封。至少应包含以下概念:
- version
- turn
- 可选的 template_context
- 可选的 materials
- 可选的 drafting_started
输出预期
一次良好的运行通常应产出:
- 一个选定的模板或模板决策;
- 一份已填写或部分填写的 profile;
- 当事实仍缺失时,一份清晰的缺失信息清单;
- 当信息足够时,一份简历草稿或渲染输出包。
边界规则
共享工作流逻辑属于 resume_runtime/ 及本文件等共享文档。智能体专用的提示塑造属于该智能体的适配层。