建一个 agent 能接手的求职工作区

SkillAI & models

Gives your agent a step-by-step method for guiding you through job hunting decisions.

Use 建一个 agent 能接手的求职工作区 in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add 建一个 agent 能接手的求职工作区 and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the 建一个 agent 能接手的求职工作区 skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

建一个 agent 能接手的求职工作区Start free
About this skill

A job-hunting methodology written for agents to read. Not a script for submitting applications, a discipline of judgment at every decision point.

What this skill tells your AI

The instructions your AI receives, as published by gilgameshcc/ai-native-jobhunt in modules/00-workspace/SKILL.md and read by ahel’s review.

把本文件整份交给你的 agent 即可(复制粘贴进对话,或让它读这个文件)。不依赖任何特定 agent 产品的专有机制——SKILL.md 只是文件名约定,不是某一家的格式。你的 agent 只要能读写本地文件就够了。

这份 skill 干什么:陪你把手上散着的求职材料,落成一个结构固定的工作区——从此每次开新会话不用重讲背景,agent 读文件就知道你是谁、在找什么、上次到哪了。

跑完你会拿到:一个目录骨架 + 5 份填好开头的契约文件 + 一份写给 agent 的硬约束说明。大约一次对话的时间。


交付约定:易用性与完成度优先

Agent 负责整理并完成本次可做部分,交付可直接人工 review 的成品,不止给建议或空表。先读用户工作区的 policies/;用户可配置的执行偏好和参数集中在这里维护,已有求职条件仍以 positioning.md 为准。明确要求的调整直接写回并在 policies/changes.md 记录旧值、新值、理由与影响;Agent 建议标待确认。

用户已指定路径就直接创建本次所需目录;未指定时一次询问存放位置,同时继续整理材料。不得要求用户先手工建文件夹,不得把个人材料写进公开仓库。具体岗位建立或复用 applications/日期-公司-岗位/README.md,索引实际成品,初始化只补缺失文件;原始材料和历史审阅保留,策略、申请索引及衍生产物可按本次授权更新并记录变更。结束前写 reviews/日期-任务.md:成品路径、结论依据、采用策略、待确认项及影响、实际检查和下一步;重新读取文件核对后给可点击路径。缺材料时先完成不依赖它的部分并标部分完成;无文件写入能力须明确未落盘。可审阅不等于获准发送,外部动作仍按既有授权和模块边界。

交付前交叉核对报告、申请索引、台账和审阅卡:结论与下一步必须一致,已判不投的岗位只说明排除依据及证据或本人条件改变后可重评,不沿用继续推进的话术。内容重排后修正上下文指代;检查数量只填写工具实际统计值,未统计就列检查对象,不手写估数。发现历史审阅错误时另写勘误,保留原记录。

完整规则与模板见 本地交付约定;只拿到本 SKILL 时按以上约定建立最小 Markdown 文件即可,不要求先跑其它模块。

开跑前

要什么必需 / 可选缺了会退化成什么⭐ 最小可接受形态(最少给到什么程度就能开始)
本地存放路径落盘必需未指定时一次询问,同时整理材料;不能称已建好路径即可,目录由 Agent 创建;已有工作区直接复用
你对「在找什么」的想法必需(但可以很粗糙)骨架照建,但 positioning.md 的两栏留空,最后给你一张「就差这两栏」的清单。⭐ 下游定级模块读到空的必要条件时不猜、也不用默认值——它会先要你把这两栏各写 2-3 条;如果硬跑,所有岗位都会被判成"较匹配"(没有一条能否决的条件,也就没有区分力)两条必要条件 + 两条硬性排除条件,口语化就行("必须能远程"、"不接受不写代码的岗")。想不全没关系,先写想得到的
你的经历材料必需(可以很乱)facts.md 留空,下游简历模块先交缺口明确的骨架并标部分完成,集中询问所需经历,不编成稿散着贴:旧简历、项目笔记、随手写的几段话,任何格式。整理是 agent 的活,不是你的
已经发生过的接触记录可选ledger.md 只有表头,06-positioning 的漏斗分析没有数据;它会明说"这个量级看不出漏斗形态",而不是硬给结论〔10-20〕 条(默认建议值)「公司 / 岗位 / 日期 / 对方回了什么」,散着贴也行。少于这个量级就先跳过,以后边跑边补。⭐ 但只给这四栏是有代价的,而且代价不可回收——见下方「四字段够起步,不够收尾」
你正在犹豫的新方向可选branches.md 空着。不影响主线,只是"投着投着发现新可能性"这条线暂时没有落点。⚠️ 但要注意另一半:定级模块读不到活跃分支时一律按主线阈值判,探路方向的岗位会被判成"不投"——这不是 bug,是缺省的保守行为,你在试新方向就得手工告诉它一句话描述 + 一句"看到什么我就放弃这个方向"
你的偏好与红线(通勤、汇报线、行业黑名单)可选会被当成加分条件而不是排除条件,于是匹配度高的岗位会把它换掉想到几条写几条,重点是分清"不满足就不去"和"满足更好"

⭐ 四字段够起步,不够收尾(ledger.md 少的那三栏)

台账的最小四字段「公司 / 岗位 / 日期 / 对方回了什么」够把台账建起来,但不够让下游产出任何一个决策。差的是三栏:渠道、用的哪一版、级别。

照最小形态给 → 你会拿到补上这三栏 → 你才拿得到
漏斗的形状:接触了多少、回了多少、卡在哪一层「哪个渠道有用」 —— 「不同渠道的回复率差异通常大于你对材料做的任何改动」(默认建议值,一条未被验证的经验断言,见下)(缺「渠道」栏 → 永久不可判)
"整体回应偏少"这类总体印象「要不要改表述」 —— 改完到底有没有变好,只能靠版本与结果的对应关系(缺「用的哪一版」栏 → 永久不可判)
每条卡了多久、哪些该跟进「我的定级规则准不准」 —— 若高级别和低级别的回复率没差别,说明定级没有区分力;这是定级规则唯一的自检方式(缺「级别」栏 → 永久不可判)

⚠️ 关键在于:这三栏是"以后补不回来"的。

前面四栏(公司 / 岗位 / 日期 / 对方原话)事后大多还能从聊天记录、邮件里翻出来;渠道、用的哪一版、级别翻不出来——一个月后你不会记得某条是从哪个入口发出去的、用的哪一版材料、当时判的是几级。右列那三类决策之所以不可判,不是数据量不够,是字段就没记,而且时间一过就永久缺失。

所以:值得一开始就记。 三栏加起来一行不到十个字,换的是右列三类决策从"永远不可判"变成"可判"。

⚠️ 「渠道差异大于材料优化」是一条 默认建议值,不是事实

「不同渠道的回复率差异,通常大于你对材料做的任何优化」——这句话在本仓库里承重(它是"先看渠道、再改表述"这个决策顺序的全部依据),但它是一条未被验证的经验断言,不是实测结论。 来源等级:默认建议值。

如果它在你身上不成立(比如你只用一个渠道,或者你的材料本身有硬伤),照它走的代价是:你会先去折腾渠道,拖慢真正该做的那件事——修表述。所以它值得你自己验一次:台账攒够之后,先看分渠道回应率的差有多大,再决定信不信它。

⭐ 顺带一条通用纪律:判断性断言也要标来源等级,不只是数字。 这句话躲过了"所有阈值都要标等级"那条规则整整一版——因为它不长得像一个数字。凡是被拿来支撑一个决策顺序、一次取舍、一个"通常"的说法,都按阈值同等对待。

⛔ agent 不许因为用户这次没提供,就把这三栏从表里删掉。 留着空栏,它会提醒人去填;删掉之后,没有任何东西会提醒人。

⛔ 这一段的四条禁止(对 agent)

  1. 不许报错退出。 上面任何一栏缺失,都继续把能建的建完,最后统一说明缺哪几项、因此哪个结论不可信
  2. 不许静默自己编。 缺的东西要说出来。尤其不许替用户填 positioning.md 的必要条件与排除条件——那是全仓唯一一处"必须本人回答"的地方
  3. 不许一次只问一个问题挤牙膏。 要什么一次列全(照着上表一次问完),拿到什么算什么,缺的最后一起说
  4. 不许把该自己解决的整理工作推给用户。 用户散着贴来的材料由你归位、去重、统一口径。"请先整理好再发给我"是被禁止的回复

流程

步骤 1 · 一次问全

按「开跑前」表一次性把六项列给用户,说明哪些必需、哪些可选、每项最少给到什么程度。让他挑着答。

已有信息不重问,只集中询问缺失项。路径明确后立即建立缺失目录,同时继续整理;不必等可选材料齐全。

步骤 2 · 建骨架

按 templates/工作区骨架.md 建目录和空文件。规则:

  • 按交付约定建立 policies/、applications/、reviews/;复制本模块策略模板并按用户已明确的偏好填写。已有工作区只补缺失文件,不覆盖用户内容。
  • 先建全,再填。 空文件也建出来——一个存在的空文件会提醒人去填,一个不存在的文件不会
  • 命名规则当场立下:日期一律 YYYY-MM-DD;公司名用一个短名并全工作区统一(同一家公司在台账里两种写法,等于两家公司)
  • 骨架建完先告诉用户它长什么样,再往里填内容
  • ⭐ jobs/(岗位原文)与 triage/(定级结果)是分开的两个目录,一批的两半用同一个日期命名。判断不写回原文文件——写回去等于用判断覆盖了原始信号
  • ⭐ runs/ 和 resumes/ 建好骨架后一开始也是空的——02-apply(写 runs/)与 01-resume(写 resumes/)都已随本次一起首发,但这两个模块都要你先跑起来才会往里写东西,建完工作区骨架的那一刻它们仍然是空目录。主动说明这一点,不说的话用户会以为自己漏做了什么,回头找一个其实是"还没触发"而不是"缺失"的东西

步骤 3 · 写 AGENTS.md

把 templates/AGENTS.md 复制进工作区根目录,按用户的实际情况补两处:他手上有哪些 agent(浏览器侧 / 本地)、有没有暂时用不上的角色。

可移植性:如果用户的 agent 读的是别的文件名(CLAUDE.md、AGENT.md、或别的约定),把这份改个名即可,内容一个字都不用动。如果他的 agent 两个文件都不自动读,就在每次开工时把它粘进对话——效果一样,只是多一步。

步骤 4 · 填 positioning.md 的两栏

只填必要条件和硬性排除条件,各 2-3 条。其余栏位留空。「可协商区间」「披露边界」两节是可选的:用户没提就留空(下游按保守默认跑);用户在对话里随口说了底线数字或"这个别写出去",你要把它记进「只给本人看」,⛔ 不许因为他说了就当成可以对外说。

⚠️ 这一步必须用户本人回答,你不能代填、也不能"根据他的经历推断"。 你推断出来的定位会让下游所有结论建立在一个他没同意过的前提上——而且他很难发现,因为你写得很像他会说的话。

你该做的是追问到可判定:用户说"想去有技术含量的公司",追问"具体到看什么就能判断有没有技术含量?"——一条判据必须能在看 JD 或面试时给出是/否,否则它是愿望不是条件。

⚠️ 必要条件与加分条件不可互换。加分项再多也换不掉一条必要条件。 这是全仓复现率最高的一类错误,后面还会在定级和 offer 排序时各犯一次。

步骤 5 · 把材料倒进 facts.md

用户散着贴,你负责归位:按时间倒序排经历条目,抽出可复用的指标,表达差异可合并并记下口径裁定;事实矛盾保留两份出处待本人核实,只有确认后的裁定可进入下游。

三条硬纪律:

  • 不新增事实。 用户没说过的,一个字都不许加,包括"顺理成章"的补全
  • 不美化。 "负责了一部分" 不许写成 "主导"
  • 记不清的数字进「待核实」区,不进正文。 待核实区里的东西下游一律不许用;用户回头确认了再挪进正文

步骤 6 · 补登台账

有历史接触记录就补登进 ledger.md。「对方回应原话」这一栏要原话,不要压成分类标签——一旦压成"婉拒 / 待定 / 邀约",就再也分不出"薪资不匹配"和"方向不匹配"了,而这两者指向完全不同的改法。

⭐ 补登历史记录时,原话实在找不回来的那几行标 无法追溯,⛔ 不许猜一句填进去 —— 与「渠道 / 用的哪一版 / 级别」三栏同一条口径(见「不对劲的时候」那一行)。猜出来的原话污染的正是这一栏唯一的用途:它是下游分辨"拒的是讲法"还是"拒的是类目"的唯一依据,猜一句进去比空着更糟。

顺手打上反向吸引标记:对方主动来找你的那些。这一栏最容易漏,而它往往指向你自己没意识到的定位。

⭐ 「渠道」「用的哪一版」「级别」三栏能补多少补多少,补不了也把空栏留着。 它们是台账里唯一事后补不回来的三栏(理由见「开跑前」那一节),而且缺任一栏就有一整类决策永久不可判。用户只给了四字段时,明确告诉他这件事——不要默默地把表压缩成四栏。

步骤 7 · 建两本登记簿

discoveries.md 和 branches.md 建出来,通常是空的,这是正常的。

⭐ 这两份的模板本体不在本模块,在 ../06-positioning/templates/discoveries.md 与 ../06-positioning/templates/branches.md。 它们是发散环的产出物,字段与计数口径跟着那个模块走;本模块只负责把它们复制到工作区根目录,不另存一份副本——曾经存过,两份就沿相反方向漂移了。

discoveries.md 登记零门槛——看到任何"不在预期内"的信号就记一条,不要等它"够重要"。它和台账的区别是:台账记发生了什么,登记簿记你没预料到的那部分。 ⚠️ 复制过去之后不要改它的表头:「出处」和「累计独立事件数」两栏看起来可省,但它们是"同一场面试的 4 条溢出算 1 次还是 4 次"这件事的唯一判定依据(口径见 06 的模板正文)。

步骤 8 · 自检并交付

写好 reviews/日期-工作区初始化.md,链接已创建文件、策略入口和下一步;重新读取并逐条核对,然后一次性汇报:

  • 本地目录实际存在,策略文件已创建;具体岗位有申请索引;审阅卡可打开

  • 有内容的文件已完成整理,缺材料的文件标部分完成,不把空骨架说成完整成品

  • 5 份契约文件都存在(哪怕是空的)

  • AGENTS.md 里四条硬约束逐条在(单一事实来源 / 优势区与经历区分工 / 分工表 / 升级路径)

  • positioning.md 的必要条件与排除条件由用户本人写的,不是你推断的

  • facts.md 里没有一条用户没说过的事实

  • 台账的「对方回应原话」是原话

  • 所有阈值处于留空状态并标了来源等级,没有一个是你随手填的数字

  • 命名规则写进了 AGENTS.md,且现有文件都符合

  • 目录建全了(含 triage/;runs/ resumes/ 空着是正常的,已经把这一点告诉用户)

  • 台账里「渠道 / 用的哪一版 / 级别」三栏存在(哪怕全是空的),并已说明它们事后补不回来

最后告诉用户:缺哪几项、因此哪些下游模块暂时用不了、以及各自最少补到什么程度就能用。

⭐ 然后主动说一句下一步该去哪,不要让用户自己回头翻根 README.md 的路由表——大多数人建完工作区后,下一步大概率是 01-resume(整理简历)或 03-company-analysis/jd-triage(评估一条具体岗位);如果用户已经有明确在看的岗位或已经约了面试,直接指向对应模块,不用绕回 01-resume。


来源标注

你写进工作区的每一条结论,都要标出它是怎么来的。 三档:

标注什么时候用示例
你给的用户明确说过的经历条目、必要条件、对方回复原话
公开可查从公开渠道查到的,附出处岗位 JD 原文、公司公开介绍
我推测的你根据已有信息推断的"你的排除条件里没提汇报线,但从你三次提到这件事看,它可能是一条必要条件"

⭐ 每一条 我推测的 后面必须附一句「要证实它,你该问谁 / 查什么」。 一个没有验证路径的推测,和一个编造没有区别——用户没法处理它,只能选择信或不信。

示例写法:

你的目标形象可能更接近"偏业务的技术角色"而不是纯工程角色。我推测的 —— 依据是你的经历条目里结果描述多为业务指标。要证实它:回头看你最近三次主动投的岗位,JD 里"业务"和"工程"的比重更偏哪边;或者直接问自己"如果一个岗完全不接触业务方,我还想去吗"。

在工作区里,标注写在条目末尾即可,不需要单独一栏。唯独 facts.md 例外:那里只允许 你给的。 出现任何 我推测的,说明单一事实来源已经被破了。


不对劲的时候

症状最可能的原因你下一句该说什么(直接说出口)
agent 每次开工还是要你重讲背景它没有真的去读工作区文件,只是在用对话里的上下文;或者 AGENTS.md 放的位置它不会自动读"开工前先读一遍 AGENTS.md、positioning.md、ledger.md 最近 10 条,读完用一句话复述我在找什么,再开始干活。"
它给的建议听起来很对,但你想不起来自己说过这些它在推测,而且没标出来"把刚才那段结论逐条标上 你给的 / 公开可查 / 我推测的;推测的那些,每条告诉我要证实它我该问谁、查什么。"
简历版本里出现了你没干过的事,或者数字比你记得的好看单一事实来源被破了:它在从上一版简历里读事实,而不是从 facts.md"停。把这一版和 facts.md 逐条比对,列出所有在 facts.md 里找不到出处的表述。表达可以主动优化;数字、事实、组织名、时间不得擅自更改,未知事实先核实。"
所有岗位都被判成"还行、可以投"硬性排除条件没写,或者写成了加分条件——于是匹配度高就能把它换掉"先把我的必要条件和硬性排除条件各写 3 条到 positioning.md,排除条件是一票否决、不可被匹配度换的那种。写完重跑一次定级。"
一出小问题它就停下来问你它把"规则能裁决的判断"也当成了要人拍板的事"按三级自救阶梯走:有规则就直接执行不用问;没规则就自己想办法走通,走通后把方法写回 AGENTS.md;真走不通再来找我,而且要带上症状、你试过什么、建议我做什么。"
⭐ 想复盘"哪个渠道有用 / 要不要改表述 / 定级准不准",却发现台账里没有这些栏台账当初只记了四字段,「渠道 / 用的哪一版 / 级别」三栏没记——这三栏事后补不回来,所以这三类问题在已有数据上永久不可判"从今天起台账补齐『渠道 / 用的哪一版 / 级别』三栏,空栏也留着;已经发生的那些,能想起来多少填多少,想不起来的标『无法追溯』,别猜一个填进去。"
工作区越来越乱,文件找不到命名规则没立或没执行;或者新建了骨架之外的文件"把不符合命名规则的文件列出来(日期不是 YYYY-MM-DD 的、公司名写法不统一的、骨架之外新增的),逐个告诉我该并进哪个已有文件,别直接删。"

三级自救阶梯

什么时候才轮到"回来问人"。 默认答案是:不是现在。

L1 · 有现成的,直接走

模块里有明确规则、模板、或已沉淀的做法命中了——按规则执行,不问。

⛔ 不要为了"确认一下"打断用户。已有规则能裁决的业务判断,自己裁决;拿不准就按更保守的一侧走,事后记下理由。

L2 · 没现成的,自己走通 并把学到的写回去

什么时候到这一级:规则没命中 / 上游文件缺失 / 用户给的输入不是预期格式 / 出现了模板没覆盖的情况。

做法:用语义理解自己找路。用户散着贴来的材料,你自己整理成契约文件;模板里没有的字段,你先按契约的最小字段凑齐;同一事实在两处不一致,保留两种说法及出处,标待本人确认;可先核对单位、时间和统计范围,仍冲突则一次列出给本人核实。确认前不选较小数字充当真值,也不把冲突事实送入正式简历;只使用双方共同支持的部分。业务动作可保守处理,事实真伪不能用保守偏好裁定。

⭐ 走通之后必须写回去:把这次的做法沉淀到该去的地方——归位规则写进 AGENTS.md,口径裁定写进 facts.md 的裁定记录,新的最小可接受形态写进工作区的开工说明。目的是下次这件事直接回到 L1。

⛔ 不许把"这次绕过去了"只留在会话里。 没沉淀 = 下次还得再试一遍 = 等于没走通。

L3 · 实在不行,才回报人

什么时候到这一级:L2 也走不通 / 触及 ⛔ 边界 / 需要只有用户本人才有的事实(他的必要条件、他记不记得那个数字、他愿不愿意为这个机会破一条底线)。

回报必须包含三件事:

  1. 症状 —— 具体发生了什么,不是"出错了"
  2. 已经试过什么 —— 你在 L2 尝试的路径和各自失败的原因
  3. 建议你做什么 —— 给可选项,最好带一个默认推荐

⛔ 不输出裸错误。⛔ 不说"请提供更多信息"这种没有指向的话。⛔ 不把 L2 该自己解决的事推给用户。


变更日志

  • v0.1.3(来自 fixtures/00-workspace/ 首轮双向断言,只改判据表述,不动结构):步骤 6 补「对方回应原话」补不回来时的口径 —— 标 无法追溯,⛔ 不许猜一句填进去,与「渠道 / 用的哪一版 / 级别」三栏同构。原来那条口径只写在那三栏上,跑固件的 hit(整列被压成"婉拒 / 待定 / 邀约")时,"该怎么补救"这一半只能靠类比借用。
  • v0.1.2(来自一次跨文件一致性审计):删掉 templates/ 下 discoveries.md / branches.md 两份已与 06-positioning 反向漂移的副本,步骤 7 改为指向那边的模板本体(模板全仓只留一份)· 修正「缺 positioning.md」的退化说法 —— 按契约 §1 与 jd-triage 的口径是不猜、不用默认值,硬跑则全部判成「较匹配」(不是"按最保守一侧判、全部判不投"),并把误挂在这一行上的缺 branches.md 退化行为(探路岗位被判"不投")拆回它自己那一行 · 给「渠道差异大于材料优化」这条承重的经验断言标上 默认建议值,并立一条通用纪律:判断性断言也要标等级,不只是数字。
  • v0.1.1(来自一次端到端实跑测试):「开跑前」补一节「四字段够起步,不够收尾」——说清照最小形态给会拿到 X、拿不到 Y,并点明 ledger.md 的「渠道 / 用的哪一版 / 级别」三栏事后补不回来;步骤 2 增加 triage/(定级结果的落点)与"runs/ resumes/ 现在注定是空的"的主动说明;步骤 6 与步骤 8 自检同步。
  • v0.1.0(首发):确立八步流程;「开跑前」六项输入与最小可接受形态;来源标注三档(facts.md 只允许 你给的);「不对劲的时候」六条;三级自救阶梯。

2026-09-13 修订

事实冲突保持待确认,不能以较小值代替真值。回归材料见 定向回归。

Signals

GitHub stars
75
Forks
12
Last commit
Sep 2026
Advanced
Item type
skill
Key
x-00-workspace
Source
github.com/gilgameshcc/ai-native-jobhunt