career-ops 自定义指令模板 modes/_custom.template.md 全解:让你的 AI Agent 永远遵守你的求职工作流规矩

发布时间:2026/9/5 21:27:13
career-ops 自定义指令模板 modes/_custom.template.md 全解:让你的 AI Agent 永远遵守你的求职工作流规矩 career-ops 自定义指令模板 modes/_custom.template.md 全解让你的 AI Agent 永远遵守你的求职工作流规矩【免费下载链接】career-opsOpen-source AI job search: scan job portals, evaluate listings into a structured A-H report with a global 1-5 score, tailor your CV, track applications — runs locally in your AI coding CLI (Claude Code, Codex, OpenCode, Antigravity…)项目地址: https://gitcode.com/GitHub_Trending/ca/career-opscareer-ops 的个性化体系把你是谁和你希望事情怎么做刻意分开存放在两个文件里身份、叙事、薪酬目标写在modes/_profile.md而程序性规矩always/never 规则、命名工作流、输出偏好则属于用户层文件modes/_custom.md。本篇以仓库中的模板种子文件 modes/_custom.template.md 为主体完整拆解它的四个章节结构、示例规则写法、模板→用户文件的自动播种机制以及 Agent 在哪些模式的哪些环节读取并执行这些规则——读完你可以直接复制一套可落地的 house rules让规则跨会话、跨批量任务稳定生效且不被系统更新覆盖。一、这个文件是什么用户层的程序性规则容器modes/_custom.template.md 是modes/_custom.md的模板种子seed。文件开头的 HTML 注释块完整交代了它的定位与设计意图这里逐条继承原文档的关键信息THIS FILE IS YOURS. It will NEVER be auto-updated.—— 你自己的文件永远不会被自动更新用途存放你的 house rules、custom workflows 和 automations——任何你希望 Agent始终执行或始终不执行的事项职责边界这里只写程序性规则PROCEDURAL rulesHOW I want things done。至于你是谁archetypes、叙事、薪酬、谈判策略应写入 modes/_profile.md。两者分开存放让各自保持可读优先级Agent 读取系统指令时会同时读取本文件此处规则优先于默认行为前提是不破坏 Data Contract你的文件永不被触碰系统也绝不会替你自动提交申请持久性因为是 user-layer 文件这里写的内容可以安然通过node update-system.mjs更新流程。定制必须放在这里而不是CLAUDE.md/modes/_shared.md等其他系统文件——后者在更新时会被覆盖。这个定位与仓库的数据契约完全一致。DATA_CONTRACT.md 的用户层清单中明确写着文件用途modes/_profile.md你的 archetypes、叙事、谈判脚本modes/_custom.md你的 house rules、自定义工作流与输出偏好程序性——可穿越更新存活系统层清单中则登记了modes/_custom.template.md用途标注为用户modes/_custom.md的模板种子。而 update-system.mjs 源码中同时出现两条路径声明第 140 行modes/_custom.template.md系统层随版本更新与第 507 行modes/_custom.md用户层更新时不可触碰。这正对应模板注释里template 会被更新、你的_custom.md不会的机制更新流程用新版模板替换种子文件本身但绝不动已生成的用户文件。一句话分工法则来自 AGENTS.md 的 THE RULE当用户要定制事实或定向archetypes、叙事、谈判脚本、proof points、地区政策、薪酬目标时写modes/_profile.md或config/profile.yml当用户要程序性 house rules、自定义工作流、输出偏好或自动化约定时写modes/_custom.md缺失时从modes/_custom.template.md复制。永远不要为个人内容去编辑modes/_shared.md。二、模板的四个章节结构与示例规则逐节讲解模板正文由四个 H2 章节构成每个章节都附带 HTML 注释形式的示例并留有一行占位提示(none yet -- add yours above)。四个章节的职责与模板自带示例原文如下1. House Rules始终生效的规矩Agent 应该永远遵守的规则。模板注释里给出的四个示例评估摘要始终用英式英语撰写CV 中永远不放照片面向美国/ATS 优先市场除非我另作说明每轮 batch 最多处理 20 个职位报告评分低于 6 时跳过 cover letter。2. Custom Workflows命名工作流把经常执行的多步流程起一个短名字。模板注释中的两个示例weekly review扫描我关注的 portals评估新职位然后给我一段话总结 top 3prep company拉取 JD基于article-digest.md生成 STAR 故事并起草 5 个可能的面试问题。3. Output Preferences输出偏好你希望结果以什么格式呈现。模板注释中的三个示例报告先给评分和一句话结论批量运行结束后展示分步骤的 token 消耗明细PDF 文件名日期在前YYYY-MM-DD-company.pdf。4. Off-Limits禁区Agent 永远不能为你做的事。模板注释中的两个示例未经我先确认永不自动填写或提交申请永远不要通过编辑系统文件来定制我的配置——写在这里。四个章节覆盖了常驻规则 / 组合动作 / 呈现方式 / 硬性底线四种不同粒度的指令。实际使用时不需要四节都填Off-Limits和House Rules是约束型规则Custom Workflows是触发型规则Output Preferences是格式型规则——按需增删。三、从模板到生效doctor 自动播种与永不报告策略模板不需要你手动复制。doctor.mjs 的onboardingState函数约 L767–L788把四个模板→目标映射列为冷启动状态检查的一部分其中就包含{ target: modes/_custom.md, template: modes/_custom.template.md }。首次运行node doctor.mjs时若目标文件不存在而模板存在会自动copyFileSync完成播种并在--json输出的autoCopied字段里列出本次复制的文件见 AGENTS.md First Run 一节对autoCopied的说明。复制失败例如只读文件系统时优雅降级留给后续检查处理。更值得注意的是 doctor 对_custom.md的刻意沉默。doctor.mjs约 L689–L710 的PERSONALIZATION_FILES只登记了_profile.md和_brief.md源码注释明确写道modes/_custom.mdis deliberately absent: it holds optional procedural house rules, so shipping it unedited is a valid end state.原因对比很说明问题_profile.md若不个性化每次 A–F 评估都会用模板作者的archetypes 和 North Star 来给别人的 offer 打分_brief.md不个性化则会把字面{placeholders}交给 triage 第一遍而_custom.md不修改保持 (none yet) 状态是一个完全合法的终态——没有任何规则要遵守恰恰就是合理的配置。因此node doctor.mjs永远不会报告它未个性化AGENTS.md 也重申modes/_custom.mdis deliberately never reported。四、Agent 如何读取并执行这些规则读取顺序与覆盖点规则写下来只是第一步关键在 Agent 的加载链路。modes/_shared.md 的 Sources of Truth 表把_custom.md登记为 ALWAYS 读取项路径{DATA_ROOT}/modes/_custom.mdif exists并规定了两条硬规则读取顺序_custom.md在_profile.md之后读取且在每个 mode 中都被遵守指令性质记录在其中的指令不是可选的也不会在会话之间、批量任务的条目之间过期。它可以覆盖工作流/风格/程序性默认值但永远不能引入关于候选人的事实性声明——它只是 procedural rules 的容器不是内容来源。AGENTS.md 的 Source-of-Truth Boundary 把这一层关系又细化了一档modes/_custom.md属于Primary / user-authored信任层但标注为procedural/style rules only — never introduces factual claims。也就是说它影响怎么写、怎么排、做多少不影响写了什么事实。具体到各模式仓库中有多个明确的覆盖点override hookauto-pipelinemodes/auto-pipeline.md 第 42 行——执行 A–G 评估时读取modes/_custom.md→ Evaluation Rules若存在并在此应用其覆盖缺席或沉默时标准 A–G 评估pipelinemodes/pipeline.md 第 37 行——执行完整 auto-pipeline 前读取_custom.md→Pipeline Rules并应用覆盖默认缺席或沉默为标准 pipeline 执行ofertamodes/oferta.md 第 722 行——评分环节读取_custom.md→Scoring Rules并应用覆盖默认是各 block 分数的平均值pdfmodes/pdf.md 第 113 行规定生成前必须读取_custom.md并把其格式/内容 house rules 应用到本会话的每一份 CV——包括批处理中的每一份其中记录的规则日期格式、section 顺序偏好、总是/永不含的内容是持久用户指令而非建议如果用户在对话中纠正同一件事两次就写进modes/_custom.md让它不再漂移emailmodes/email.md 读取_custom.md但仅限程序性输出偏好如是否包含某些内容块。值得特别展开的是 modes/pdf.md 第 4 行给出的一个真实可用的 house rule 范例pdf模式的--hm-audithiring-manager 审计见 modes/pdf/hm-audit.md默认关闭——每次运行都跑它会多花一次 subagent 调度加网络调研。开启方式有二单次用--hm-audit标志或在modes/_custom.md里写一条 house rule 让它对每次运行生效。modes/pdf/hm-audit.md 第 149 行再次确认pdf.mdStep 20 只为--hm-audit运行它或在modes/_custom.md开启后对每份 CV 运行它。这是用一条 markdown 规则替代一个命令行标志的典型用法。五、实战操作三步建立你的 house rules第一步确认文件存在。运行node doctor.mjs或node doctor.mjs --json。若modes/_custom.md尚不存在doctor 会从上表所列模板自动复制一份并在autoCopied中报告onboardingNeeded只检查cv.md、config/profile.yml、modes/_profile.md、portals.yml四个必备项_custom.md不在缺件门槛内。第二步按四个章节填规则。直接编辑modes/_custom.md在对应小节下方写条目、删掉(none yet)占位行。写作建议规则用祈使句一条一行可验证用英式英语写摘要好过语言要地道给工作流起短名并写清触发条件weekly review扫描 X → 评估新职位 → 一句话总结 top 3Agent 之后凭这个名字即可整段执行Off-Limits只放你愿意让 Agent 永久放弃的能力如未经确认永不提交申请——这本身就是 AGENTS.md 伦理约束的加强版写下来等于双重保险不要在这里写任何关于你自己经历、数字、作品的事实——那会违反never introduces factual claims的信任层约定且不会进入内容生成的事实边界。第三步验证规则被加载。由于_shared.md规定_custom.md在每个 mode 中 ALWAYS 读取且记录在案的指令不跨会话过期验证方式就是日常使用让 Agent 跑一次oferta或pdf观察评分规则/CV 格式是否按你写的规则覆盖默认行为。若某条纠正你在对话里重复说过两次按pdf.md的约定把它固化进modes/_custom.md。六、易混淆点_custom.md与_profile.md、profile.yml、voice-dna.md的边界career-ops 的用户层有四个个性化文件职责互不重叠放错位置会直接改变行为文件装什么典型内容config/profile.yml身份与目标的结构化事实姓名/联系方式、目标职位、薪酬区间、language.output等modes/_profile.mdWHO you arearchetypes、叙事、谈判脚本archetype 表、adaptive framing、目标薪酬范围modes/_custom.md由模板播种HOW things get done程序性规则本文四个章节的所有内容voice-dna.md文风护栏可选禁词表、反 AI 腔规则、语气modes/README.md 的总结是你的副本_profile.md、_custom.md都是 user-layer 文件模板种子_profile.template.md、_custom.template.md是系统层随更新演进user 定制永远进_profile.md/_custom.md绝不进 mode 文件本身。配合 docs/CUSTOMIZATION.md 中谈判脚本放_profile.md_shared.md中的脚本是示例替换为你自己的的指引边界就非常清楚事实进 profile、人设进 _profile、流程进 _custom、文风进 voice-dna。七、小结modes/_custom.template.md 看似只有一份 60 行的空模板实则是 career-ops 个性化架构里程序性定制的规范落点它由 doctor.mjs 在冷启动时自动播种为modes/_custom.md被 DATA_CONTRACT.md 划入永不被更新触碰的用户层被 update-system.mjs 的路径表显式保护被 modes/_shared.md 规定为每模式必读、指令不随会话过期并在 modes/auto-pipeline.md、modes/pipeline.md、modes/oferta.md、modes/pdf.md、modes/email.md 等模式中拥有明确的覆盖点Evaluation Rules / Pipeline Rules / Scoring Rules / 格式与内容规则。把always/never写在这里而不是散落在对话里或塞进系统文件是让 AI 求职流水线长期稳定按你的规矩运行的最低成本方式。【免费下载链接】career-opsOpen-source AI job search: scan job portals, evaluate listings into a structured A-H report with a global 1-5 score, tailor your CV, track applications — runs locally in your AI coding CLI (Claude Code, Codex, OpenCode, Antigravity…)项目地址: https://gitcode.com/GitHub_Trending/ca/career-ops创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考