AI 求職組合技:Career-Ops 客製化 × GitResume 把關
Career-Ops 幫你為每個職缺客製化履歷,GitResume 在送出前檢查排版細節,並給每份履歷自己的網址和 PDF。不需要 Git,AI agent 直接上傳。
你用 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 個專案。
兩者接起來是這樣:
整個過程不需要 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 會:
- 把同一份內容轉成 GitResume 的格式並通過驗證
- 為這個職缺建立專案,例如
resume-acme,並關掉搜尋引擎收錄 - 把 Resume Check 的結果拿給你看,問你要不要修
想把連結寄給對方時,再請 AI agent 發布這個專案。
我自己跑一次
我拿自己的履歷和一個真實的職缺跑了一遍:一個 Backend Software Engineer 的職缺。用的是 Career-Ops v1.36.0,GitResume 帳號一開始是空的。
職缺文字是我從 LinkedIn 複製的。它先上網查證,在那家公司的官方徵才網站找到同一個職缺,確認還在開放,再逐項比對我的履歷。第一次的結果是 3.7 分(滿分 5 分)。職缺只寫了「Taiwan」,沒寫在哪個城市,它沒有自己猜,而是請我投之前先確認。我補充了實際的工作地點、也確認我可以接受之後,它重新評分為 4.1 分,建議也從「先查清楚」變成「可以投」。
接著是客製化履歷。它照規則沒有在本機產 PDF,而是在 GitResume 為這個職缺另建了一個 resume-<公司名稱> 專案,關掉搜尋引擎收錄,也沒有發布。Resume Check 馬上抓到兩個問題,都是最後一行只剩一個字。
它問我要不要修,我說好。它把那兩條條列改短,重新上傳,再檢查一次就沒有提醒了。整個過程我沒有碰過 YAML,也沒有開過 Git。
最後拿到的 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 產生履歷給我。這一段我還沒實際試過,但我相信它會幫我省下大量的時間。有機會再跟大家分享實際跑起來的結果。
延伸閱讀
- Resume Check:它會檢查哪些問題
- AI Agent 幫你把現有履歷變成 Resume as Code:還沒有 GitResume 履歷的話從這裡開始
- 什麼是 Resume as Code?:想用 Git 管理履歷的話從這裡開始
- AI 整合文件:各種 AI 工具的連接方式
- Career-Ops:官方 GitHub repo