Resume as Code Career-Ops AI Job Search Career ATS Resume Developer Resume GitHub Resume

AI 求職組合技:Career-Ops 客製化 × GitResume 把關

Career-Ops 幫你為每個職缺客製化履歷,GitResume 在送出前檢查排版細節,並給每份履歷自己的網址和 PDF。不需要 Git,AI agent 直接上傳。

Hao @ GitResume Hao @ GitResume
繁體中文
English 繁體中文

你用 AI 為某個職缺客製化了一份履歷,內容很到位。

但 PDF 的最後一行只剩一個字。有一條條列換行成 4 行。同一段經歷的起訖日期,一個寫「2019」,一個寫「2021-03」。

這些小細節很容易被忽略,卻會影響第一印象。就我自己的經驗,即使現在大家普遍用 AI 幫忙寫履歷,也不是每個 AI agent 都會主動抓出這種小問題。

這就是 Career-Ops 搭配 GitResume 要解決的事。

Career-Ops 是什麼

Career-Ops 是一套開源的 AI 求職系統,跑在 Claude Code 這類 AI agent 上。貼上職缺連結,它會評估媒合度、分析 ATS 關鍵字、產出客製化履歷。

作者 Santiago 用它評估了 740 個職缺,投了 68 份,拿到 12 次面試和 1 個 offer。

它產出的是一份份存在本機的 PDF。內容交給 AI 了,但排版和格式的小問題,沒有人幫你看。

GitResume 補上的兩件事

Resume Check。 每次建置都會檢查容易被忽略的排版和格式問題,例如最後一行只剩一個字、條列太長、同一段經歷的日期格式不一致。每則提醒都會指出是履歷的哪幾行,AI agent 讀得到,可以直接幫你修。所有方案都有。完整介紹在這篇。

每個職缺一個專案。 每份客製化的版本各自是一個專案,有自己的網址、網頁和 PDF,要給對方連結或附檔都可以。你的主履歷完全不動。免費方案可以開 10 個專案。

兩者接起來是這樣:

流程圖:Career-Ops 從職缺產出媒合度評分、ATS 關鍵字與客製化履歷,接著交給 GitResume 跑 Resume Check、產出 PDF 與網頁,並得到這個職缺專屬的網址

整個過程不需要 Git,也不需要 GitHub 帳號。AI agent 會直接把履歷上傳到 GitResume。

快速開始

1. 安裝 Career-Ops

照官方 repo 的說明安裝,用官方版本就好,不需要另外的整合版:

npx @santifer/career-ops init

安裝完成後會看到這段輸出(以 v1.36.0 為例):

✓ career-ops is ready in ./career-ops

Next steps:
  1. cd career-ops
  2. Open your workspace with any of:  claude, gemini, codex, copilot

Optional (for PDF generation):
  npx playwright install chromium

最後那個選用的步驟可以跳過。它是用來在本機產 PDF 的,搭配 GitResume 之後,PDF 交給 GitResume 建置。

Career-Ops 不綁定特定的 AI 工具,Claude Code、Codex、Copilot 等都能用。下面以 Claude Code 為例。

2. 連接 GitResume

先到 gitresume.co 註冊帳號。目前最快的方式是 Claude:在 Claude 的連接器目錄按「Connect to Claude」並同意授權。已經連接過的話可以跳過這一步。

Connect to Claudeclaude.ai/directory/gitresume

連好之後,進到 career-ops 目錄啟動 Claude Code,它會自動帶入這個連接器:

cd career-ops
claude

不想經過 claude.ai 的話,也可以在 career-ops 目錄裡手動加入,進去之後再用 /mcp 完成授權:

claude mcp add --transport http gitresume https://gitresume.co/mcp

用其他 AI 工具?看看怎麼設定。

主履歷已經連接 GitHub 也沒關係。AI agent 不會寫入你的 GitHub 儲存庫,客製版本會另外建立成不連接 GitHub 的專案,跟主履歷互不影響。

3. 第一次啟動:給履歷、個人資料和規則

跟 AI agent 說一句「Set me up.」,它會檢查目前的設定,然後跟你要履歷和幾項個人資料,例如目標職位、地點、期望薪資。履歷可以直接貼文字、給檔案,或給 LinkedIn 網址。如果你的 GitResume 帳號裡已經有履歷,跟它說用那一份就好,不用再給一次。

在同一則訊息的最後,加上這條規則:

One house rule to save in modes/_custom.md: I use GitResume, and its connector
is connected. When a tailored CV is ready, do not render a local PDF. Instead,
convert the same content to GitResume YAML, validate it, and create a separate
GitResume project for that job, with search engine indexing turned off.
GitResume builds the PDF and the web page. Show me the Resume Check findings,
and never publish unless I ask.

它會先問你要不要把這條規則存起來,因為這會改變履歷資料之後送去哪裡。選「Yes, save it」。

規則會存進 modes/_custom.md。這是 Career-Ops 留給使用者自訂規則的檔案,每次執行都會讀取,系統更新也不會覆蓋,所以之後開新的對話也會生效。

4. 貼職缺

貼上職缺的網址或文字。Career-Ops 照常評估職缺、產出報告,也會在本機檢查客製的內容有沒有超出你原本的履歷,只是最後不轉成 PDF。接著 AI agent 會:

  1. 把同一份內容轉成 GitResume 的格式並通過驗證
  2. 為這個職缺建立專案,例如 resume-acme,並關掉搜尋引擎收錄
  3. 把 Resume Check 的結果拿給你看,問你要不要修

想把連結寄給對方時,再請 AI agent 發布這個專案。

我自己跑一次

我拿自己的履歷和一個真實的職缺跑了一遍:一個 Backend Software Engineer 的職缺。用的是 Career-Ops v1.36.0,GitResume 帳號一開始是空的。

職缺文字是我從 LinkedIn 複製的。它先上網查證,在那家公司的官方徵才網站找到同一個職缺,確認還在開放,再逐項比對我的履歷。第一次的結果是 3.7 分(滿分 5 分)。職缺只寫了「Taiwan」,沒寫在哪個城市,它沒有自己猜,而是請我投之前先確認。我補充了實際的工作地點、也確認我可以接受之後,它重新評分為 4.1 分,建議也從「先查清楚」變成「可以投」。

Career-Ops 在終端機裡重新評分的結果:這個 Backend Software Engineer 職缺從 3.7 分變成 4.1 分,表格逐項列出各個面向調整前後的分數與理由

接著是客製化履歷。它照規則沒有在本機產 PDF,而是在 GitResume 為這個職缺另建了一個 resume-<公司名稱> 專案,關掉搜尋引擎收錄,也沒有發布。Resume Check 馬上抓到兩個問題,都是最後一行只剩一個字。

AI agent 的回報:依照規則沒有產生本機 PDF,建立了 resume-<公司名稱> 專案並關閉搜尋引擎收錄,Resume Check 找到兩個最後一行只剩一個字的問題

它問我要不要修,我說好。它把那兩條條列改短,重新上傳,再檢查一次就沒有提醒了。整個過程我沒有碰過 YAML,也沒有開過 Git。

GitResume 的建置紀錄:第一版的 Check 顯示兩則提醒,修正後的版本通過

最後拿到的 PDF 長這樣:

GitResume 建置出來的客製化履歷 PDF 上半頁,包含摘要與第一段工作經歷

幾件實際跑過才知道的事:

  • 它很保守。 職缺要求 Kubernetes 和 OpenAPI,我的履歷沒寫,它沒有硬加,而是問我實際上有沒有用過。我回答用過 OpenAPI,它才加進技能;Kubernetes 我說沒有,它就完全沒寫。客製的內容主要是加一段摘要、把跟職缺相關的條列往前排,事實沒有動。
  • 改了什麼它會交代。 它把履歷標題從 Backend Team Lead 改成 Backend Software Engineer,因為這是非主管職,並且說我不同意的話就改回去。
  • 時間。 從貼上職缺到拿到 Resume Check 的結果,AI agent 跑了大約 6 分鐘,大部分花在 Career-Ops 自己的評估上。

為什麼要搭配

只用 Career-Ops只用 GitResume搭配使用
AI 職缺分析✓✗✓
ATS 關鍵字優化✓✗✓
送出前的排版與格式檢查✗✓✓
PDF 與網頁版只有 PDF✓✓
產 PDF 不用在本機安裝 Chromium✗✓✓
每個職缺自己的網址✗✓✓

Career-Ops 負責把內容寫對,GitResume 負責在送出前把關。

結語

4 月這篇文章剛發布時,我的做法是 fork 一份 Career-Ops,改成直接整合 GitResume 的版本。老實說,那個 fork 維護起來真的令人頭痛,畢竟 upstream 更新得太頻繁了。

好消息是,GitResume 在 10 月重新設計了整個上手流程,建立履歷不再一定要連結 GitHub,也正式上架了 Claude 的連接器目錄。現在只要把 AI agent 接上 GitResume MCP,它就能直接幫你建立專案、上傳履歷,fork 也就不需要了:官方版的 Career-Ops 加上一條規則就能接上。跟 4 月的版本比起來,兩者搭配起來更加行雲流水。

對我來說,Career-Ops 最有用的地方是篩選。目前我的 Grok Bot 每天都會定時幫我蒐集職缺,但它只能匯報一份清單,沒有分數,也沒有統一的標準,我沒辦法一眼就看出哪幾個值得投。未來我會把這份清單交給 Career-Ops 逐一評分,超過 4 分的才到 GitResume 產生履歷給我。這一段我還沒實際試過,但我相信它會幫我省下大量的時間。有機會再跟大家分享實際跑起來的結果。

Git your resume →

延伸閱讀