{"skill":{"slug":"ai-pm-resume-hub","displayName":"AI产品经理简历维护","summary":"用于维护 AI 产品经理校招简历中枢。当用户要提炼工作日志、去重沉淀简历要点、维护要点池、生成或更新中文一页纸简历、输出 gap 清单时使用。适合触发词包括“提炼本周日志”“更新简历”“生成一页简历”“整理简历要点池”。","description":"---\nname: ai-pm-resume-hub\ndescription: 用于维护 AI 产品经理校招简历中枢。当用户要提炼工作日志、去重沉淀简历要点、维护要点池、生成或更新中文一页纸简历、输出 gap 清单时使用。适合触发词包括“提炼本周日志”“更新简历”“生成一页简历”“整理简历要点池”。\n---\n\n# /ai-pm-resume-hub — AI 产品经理校招简历中枢\n\n维护固定目录下的日志、要点池和简历输出，让用户可以用短指令反复执行同一套流程。\n\n## 固定工作区\n\n- 默认根目录：`career/ai-pm-campus/`\n- 如果目录不存在，先创建以下结构：\n  - `career/ai-pm-campus/inputs/resume/`\n  - `career/ai-pm-campus/inputs/experiences/`\n  - `career/ai-pm-campus/inputs/worklog/`\n  - `career/ai-pm-campus/inputs/points-pool/`\n  - `career/ai-pm-campus/outputs/`\n- 必备文件：\n  - `career/ai-pm-campus/inputs/worklog/_processed-index.md`\n  - `career/ai-pm-campus/inputs/points-pool/master-points.md`\n  - `career/ai-pm-campus/inputs/points-pool/label-registry.md`\n  - `career/ai-pm-campus/outputs/resume-outline.md`\n  - `career/ai-pm-campus/outputs/resume-onepage.md`\n\n## 触发方式\n\n- `/ai-pm-resume-hub extract`\n- `/ai-pm-resume-hub build`\n- `/ai-pm-resume-hub visualize`\n- `/ai-pm-resume-hub export`\n\n如果用户只说“提炼本周日志”“整理简历要点池”，默认走 `extract`。\n如果用户只说“更新简历”“生成一页简历”“输出校招简历”，默认走 `build`。\n如果用户说“可视化”“仪表盘”“dashboard”“预览简历”，默认走 `visualize`。\n如果用户说“导出PDF”“生成PDF”“打印简历”，默认走 `export`。\n\n## 通用约束\n\n- 始终先读已有文件，再写新内容，不要覆盖用户已有材料。\n- 输出必须落盘写文件，不能只在聊天中给总结。\n- 严禁编造指标；缺失时必须写成 `[待补数据：...]`。\n- 项目标签优先复用 `label-registry.md` 中已有写法，避免标签漂移。\n- 每次运行结束都在聊天中汇报：\n  - 读取了哪些文件\n  - 写入了哪些文件\n  - 新增了多少条要点或更新了哪些简历段落\n- 若发现现有文件格式与本 skill 约定不一致，优先兼容，不要粗暴重写整份文件。\n\n## 1) extract\n\n用于把最近一批原始工作日志转成可复用的简历要点，并追加到要点池。\n\n### 输入\n\n- 用户直接粘贴的日志文本\n- 或 `career/ai-pm-campus/inputs/worklog/` 下尚未处理的 `.md` 文件\n\n### 执行流程\n\n1. 读取：\n   - `career/ai-pm-campus/inputs/worklog/_processed-index.md`\n   - `career/ai-pm-campus/inputs/points-pool/master-points.md`\n   - `career/ai-pm-campus/inputs/points-pool/label-registry.md`\n2. 如果用户是直接粘贴日志：\n   - 先将原始文本保存为 `career/ai-pm-campus/inputs/worklog/manual-YYYY-MM-DD-weekly.md`\n   - 若同名已存在，则追加短后缀避免覆盖\n3. 如果用户没有贴文本，则扫描 `inputs/worklog/` 中未出现在 `_processed-index.md` 的 `.md` 文件\n4. 对日志做信噪比过滤：\n   - 忽略纯同步会议、简单 bug 修复、例行巡检、没有动作和结果的泛化表述\n   - 优先保留核心功能迭代、策略优化、数据分析闭环、Prompt/评测迭代、LLM 应用落地、模型效果/成本/延迟优化、跨部门关键推进\n5. 对保留内容做 STAR 重构：\n   - 重写成适合简历的短句\n   - 必须体现“动作 + 结果/影响”\n   - 若结果缺失，显式写 `[待补数据：需补充XX]`\n6. 生成或复用项目标签：\n   - 优先复用 `label-registry.md`\n   - 若必须新增，命名优先级：\n     - `[公司名-项目/方向]`\n     - `[校园项目-主题]`\n     - `[课程项目-主题]`\n7. 写入 `master-points.md` 时使用以下格式追加：\n\n```markdown\n## YYYY-MM-DD\n### 要点 N\n- 项目标签：...\n- 时间：...\n- STAR短句：...\n- 待补数据：...\n- 来源：...\n```\n\n8. 追加前做去重：\n   - 与 `master-points.md` 中已有条目比较\n   - 语义高度重复时不重复写入\n   - 如果只是旧条目缺少来源或待补数据，可补充旧条目而不是新建重复条目\n9. 更新 `_processed-index.md`，至少记录：\n   - 原始日志文件名\n   - 处理日期\n   - 新增要点数\n\n### 输出\n\n- 必写文件：\n  - `career/ai-pm-campus/inputs/points-pool/master-points.md`\n  - `career/ai-pm-campus/inputs/worklog/_processed-index.md`\n- 按需更新：\n  - `career/ai-pm-campus/inputs/points-pool/label-registry.md`\n- 聊天里补充简短摘要：\n  - 本次新增要点数\n  - 复用了哪些标签\n  - 新建了哪些标签\n  - 最值得优先补的 3 条数据\n\n## 2) build\n\n用于基于历史简历、经历材料和要点池，生成 AI 产品经理校招方向的简历。\n\n### 输入\n\n- `career/ai-pm-campus/inputs/resume/`\n- `career/ai-pm-campus/inputs/experiences/`\n- `career/ai-pm-campus/inputs/points-pool/master-points.md`\n- `career/ai-pm-campus/inputs/points-pool/label-registry.md`\n\n### 执行流程\n\n1. 先从历史简历提取已验证信息：\n   - 教育背景\n   - 基础技能\n   - 已有实习/项目名称\n   - 已经写得足够好的 bullet\n2. 再从 `master-points.md` 按“项目标签 + 时间线”归并要点，**优先突出实习经历**\n3. 去重与合并：\n   - 删除重复表述\n   - 保留证据更强、结果更明确、动作更具体的版本\n4. 按 AI 产品经理校招方向调优：\n   - 强调 LLM 应用落地\n   - 强调数据闭环与产品思维\n   - 强调跨团队推进能力\n5. 输出两个文件：\n   - `career/ai-pm-campus/outputs/resume-outline.md`：完整大纲，含Gap分析\n   - `career/ai-pm-campus/outputs/resume-onepage.md`：精简版，用于生成投递简历\n\n### 输出\n\n- `career/ai-pm-campus/outputs/resume-outline.md`\n  - 完整 Markdown 大纲\n  - 包含所有经历要点和Gap分析\n  - 用于后期检索和调整\n- `career/ai-pm-campus/outputs/resume-onepage.md`\n  - 精简版，优先突出实习经历\n  - 内容精炼，适合生成投递用PDF\n- 聊天里补充简短摘要：\n  - 当前简历最强的 3 个卖点\n  - 最需要补强的 3 个缺口\n\n## 失败处理\n\n- 若 `resume/` 或 `experiences/` 为空：继续生成，但在 `Gap 清单` 中明确提醒缺少原始材料。\n- 若 `master-points.md` 不存在：先创建空文件，再提示用户先运行 `extract`。\n- 若标签混乱或同一项目有多个别名：主动统一命名，并在聊天中说明归并规则。\n- 若输入日志内容过短、几乎没有高价值信息：不要硬凑要点，直接说明“本次无新增高价值要点”并更新处理记录。\n\n## 使用示例\n\n- `请用 /ai-pm-resume-hub extract 处理我接下来贴的最近 7 天工作日志`\n- `用 /ai-pm-resume-hub build 更新我的 AI 产品经理校招简历`\n- `请用 /ai-pm-resume-hub visualize 生成白色背景可视化仪表盘`\n- `请用 /ai-pm-resume-hub export 导出HR投递版和手机预览版PDF`\n\n## 4) export\n\n导出两种PDF版本简历，满足不同场景需求：\n\n### 输出版本\n1. **HR投递版**：A4标准大小，内容精炼，重点突出实习经历，适合正式投递和打印\n2. **手机预览版**：竖屏长图格式，适配手机屏幕，字体清晰，用于快速审查简历\n\n### 执行流程\n\n1. 先运行 `build` 生成最新的简历内容\n2. 运行脚本生成两种PDF：\n\n```bash\npython3 ~/.openclaw/workspace/skills/ai-pm-resume-hub/scripts/export_pdf.py\n```\n\n3. 产出：\n   - `career/ai-pm-campus/outputs/resume-hr.pdf`（A4标准，投递用）\n   - `career/ai-pm-campus/outputs/resume-mobile.pdf`（竖屏长图，手机预览用）\n\n### 依赖与提示\n- HR投递版：自动优化排版，优先展示实习经历，控制在1页内\n- 手机预览版：基于可视化仪表盘生成，白色背景，竖屏适配，无需放大即可查看\n- 两种版本都支持中文显示，字体清晰\n\n## 3) visualize\n\n生成白色/透明背景的Bento风格可视化仪表盘，用于电脑端预览：\n\n- 一页简历（清晰渲染Markdown格式）\n- 要点池统计（按项目标签聚合展示）\n- Gap汇总（集中展示所有待补数据）\n- 简历质量评分（可选）\n\n### 执行流程\n\n1. 读取：\n   - `career/ai-pm-campus/outputs/resume-onepage.md`\n   - `career/ai-pm-campus/inputs/points-pool/master-points.md`\n2. 运行脚本生成仪表盘：\n\n```bash\npython3 ~/.openclaw/workspace/skills/ai-pm-resume-hub/scripts/render_dashboard.py\n```\n\n3. 产出：\n   - `career/ai-pm-campus/outputs/resume-dashboard.html`（白色/透明背景，Bento布局）\n\n### 输出要求\n\n- 设计风格：极简白色/透明背景，无多余装饰元素\n- 保持Bento网格布局，内容清晰易读\n- 聊天中返回可打开的文件路径，并简述包含模块。\n\n\n","tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":524,"installsAllTime":20,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1773487024649,"updatedAt":1778491905918},"latestVersion":{"version":"1.0.0","createdAt":1773487024649,"changelog":"ai-pm-resume-hub v1.0.0 — 初始发布  \n一站式 AI 产品经理校招简历管理和生成工具。\n\n- 支持用自然语言或命令触发：日志提炼、简历构建、仪表盘可视化、PDF导出\n- 提供完整目录自动初始化和必需文件检测\n- 自动从工作日志中提炼并去重高价值要点，维护可复用要点池与标签库\n- 根据要点池与原始素材智能合成一页纸和详细版校招简历，包含Gap分析\n- 一键生成HR投递版和手机适配版PDF，以及极简Bento风格仪表盘\n- 全流程以文件写入为准，输出前兼容已有格式，并在对话中汇报处理明细","license":"MIT-0"},"metadata":null,"owner":{"handle":"songnb1021","userId":"s171d4ej0x5en9pdhfq1f0wv8h8840br","displayName":"songnb1021","image":"https://avatars.githubusercontent.com/u/205056624?v=4"},"moderation":null}