2026年3月22日4 分鐘閱讀ai-agent-workflows

用 AI CLI Agent 自動產生個人化入職指南

別再讓每個新人收到同一份過期的入職文件。用 CLAUDE.md 編碼公司知識、MCP 串接 HR 系統、Skill 定義模板,幾秒鐘產出角色專屬的入職指南 -- 版本控制、支援 markdown 與 PDF。

DH
Danny Huang

週一早上九點零七分

週一早上。一位新工程師加入你的團隊。她叫小美。她打開 Slack,47 個未讀頻道。有人在某個頻道釘選了一份 Google Doc,標題是「入職指南(2025 年 2 月更新)」-- 十四個月前的版本。她點進去。第一個連結指向一個已經不存在的 wiki 頁面。第二個連結打開一個上季度已結案的 Jira 看板。第三個連結能開,但描述的是六個月前就改掉的 deploy 流程。

到了中午,小美已經私訊了四個人問東西在哪。三個人給了不太一樣的答案。其中一個轉寄了一封 2024 年的 email,主旨是「RE: RE: FWD: 新人設定筆記 (最終版 v2)」。

這不是人的問題。是知識的問題。資訊存在。它散落在 Notion 頁面、Slack 書籤、Google Docs、以及那些待得夠久才知道哪些 wiki 頁面是騙人的同事腦中。沒有人有時間為每個新人組裝一份全新、正確、角色專屬的指南。所以每個人拿到同一份過期文件,真正的入職靠的是打斷別人的工作來問問題。

有更好的做法。它從一個叫 CLAUDE.md 的檔案開始。

核心概念:把公司知識變成程式碼

把入職知識想像成一座圖書館。一座巨大、雜亂無章的圖書館,書隨便放,目錄上次更新是兩年前。新人走進來,你遞給他一張 2024 年的影印地圖,祝他好運。

如果圖書館有一份活的索引呢?知道每一個書架、每一本書,而且能根據特定的人 -- 他的角色、他的團隊、他會用到的工具 -- 即時組裝一份專屬書單。

這就是 CLAUDE.md 的角色。它是一個純文字檔,放在專案根目錄,告訴 AI agent 關於你組織的一切必要資訊。不是全世界的知識 -- 只是那些你的程式碼和工具本身無法揭示的東西。當你的入職知識住在這個檔案裡,產生一份個人化指南就從四小時的任務變成十秒鐘的操作。

Anthropic 自己的文件展示過一個用例:「建立新人入職指南」。你把公司資訊貼進聊天視窗,Claude 產出一份歡迎文件。能用。但那是一次性互動。公司資訊活在你的剪貼簿裡,不在你的系統裡。每次產生指南,你重新貼、重新解釋、重新排版。

我們可以做得更好。讓知識永久存在,讓生成自動化,讓輸出針對每個人量身打造。

架構:三個層次

這個系統有三個層次。每一層解決不同的問題。

第一層:CLAUDE.md -- 永久知識庫。 編碼那些不會因新人而改變的資訊。你的技術棧。你的溝通規範。你的團隊結構。你的資安政策。它在每個 Claude Code session 自動載入,所以 agent 永遠知道組織脈絡。

第二層:Skill 檔案 -- 入職模板。 Skill 是一個按需載入的 markdown 檔案,不是每次 session 都載入。它定義入職指南的結構:包含哪些章節、用什麼語氣、輸出什麼格式。把它想成食譜。CLAUDE.md 提供食材,Skill 提供做法。

第三層:MCP 伺服器 -- HR 系統的即時資料。 MCP 是 Model Context Protocol 的縮寫。它是 AI agent 連接外部工具的標準方式 -- 把 MCP 伺服器想成你的終端機與外部世界之間的橋樑。一個 MCP 伺服器可以從你的 HR 系統(BambooHR、Rippling、甚至 Google Sheet)拉取新人的角色、團隊、到職日和主管。不用複製貼上。資料自動流入。

第一層:在 CLAUDE.md 編碼公司知識

你的專案層級 CLAUDE.md 如果使用 Claude Code 應該已經存在。如果還沒有,請參考 CLAUDE.md 撰寫指南 的完整教學。這裡我們加入入職專屬的區塊。

核心原則:只放 agent 無法從程式碼找到的資訊。團隊名稱、Slack 頻道、工具存取流程、資安要求 -- 這些不在你的 package.json 裡。

## Onboarding Context

### Team Structure
- Engineering: backend (Python/FastAPI), frontend (React/Next.js), platform (Terraform/K8s)
- Product: PM + designer pairs per squad
- Security: all new hires complete security training in Week 1 via KnowBe4

### Communication
- Slack: #general, #engineering, #deployments, #incidents
- Each team has a private channel: #team-backend, #team-frontend, #team-platform
- Standups: async in Slack threads, daily by 10 AM local time
- All-hands: Thursdays 2 PM UTC on Google Meet

### Tools & Access
- Code: GitHub (org: your-company), branch protection on main
- CI/CD: GitHub Actions, deploys via ArgoCD
- Monitoring: Datadog (request access via IT ticket)
- Docs: Notion workspace (auto-provisioned on first SSO login)
- Secrets: 1Password Teams (IT provisions on Day 1)

### Repositories
- your-company/api -- backend services (Python, FastAPI)
- your-company/web -- frontend app (Next.js 15, TypeScript)
- your-company/infra -- Terraform configs, Helm charts
- your-company/docs -- internal documentation site (Astro)

### First Week Milestones
- Day 1: laptop setup, SSO login, Slack introductions, 1:1 with manager
- Day 2: dev environment running locally, first PR (typo fix or README update)
- Day 3: shadow a deployment, read incident runbook
- Day 5: present a 5-minute "what I learned" to the team

大約 35 行。精簡到可以每次 session 都載入而不浪費 token。豐富到 agent 不需要追問就能產出指南。

注意這裡沒有什麼:各 repo 的詳細設定步驟(那應該在各 repo 自己的 README)、HR 福利資訊(那來自 MCP 層)、或任何因人而異的內容(那是 Skill 處理的)。

第二層:入職 Skill

Skill 檔案放在 .claude/skills/,在 agent 需要時啟動。建立 .claude/skills/generate-onboarding-guide.md

# Skill: Generate Onboarding Guide

## Trigger
When asked to generate an onboarding guide, welcome doc, or new hire document.

## Inputs Required
- New hire name
- Role (e.g., "Senior Backend Engineer")
- Team (e.g., "Platform")
- Start date
- Manager name
- Any role-specific notes (optional)

## Output Format
Generate a markdown document with these sections:

1. **Welcome** -- personal greeting, team intro, manager intro
2. **Your First Week** -- day-by-day schedule based on First Week Milestones in CLAUDE.md, customized for role
3. **Tools & Access** -- only the tools relevant to this role/team, with setup steps
4. **Key Repositories** -- only the repos this person will work in, with a one-line description of each
5. **Communication** -- relevant Slack channels (team-specific + general), meeting schedule
6. **Key Contacts** -- manager, team lead, buddy (if provided), IT support, security contact
7. **Learning Resources** -- internal docs, architecture decision records, relevant past incident postmortems
8. **FAQ** -- common questions for this role, pulled from historical onboarding feedback

## Tone
Warm but efficient. The reader is smart and anxious. Reduce uncertainty. Every link must be real and current.

## Output Filename
`onboarding-guide-{name}-{date}.md` in the `onboarding/` directory.

Skill 是一張食譜卡。它不包含食材 -- 食材來自 CLAUDE.md 和 MCP。它只告訴 agent 如何組合它們。

第三層:用 MCP 串接 HR 即時資料

如果你的公司使用有 API 的 HR 平台,可以透過 MCP 串接,讓 agent 自動拉取新人資料。不需要手動輸入。

以下是 .mcp.json 中通用 HR API MCP 伺服器的設定:

{
  "mcpServers": {
    "hr-system": {
      "command": "node",
      "args": ["./mcp-servers/hr-bridge/index.js"],
      "env": {
        "HR_API_BASE": "https://api.bamboohr.com/api/gateway.php/yourcompany/v1",
        "HR_API_KEY": "${BAMBOOHR_API_KEY}"
      }
    }
  }
}

MCP 伺服器暴露 get_new_hires_this_weekget_employee_detailsget_team_members 等工具。當你要求 agent 產生入職指南時,它呼叫這些工具取得新人的角色、團隊、主管和到職日 -- 然後餵入 Skill。

如果你沒有 HR API,備案很簡單:把細節當作指令參數傳入。MCP 層是最佳化,不是必要條件。

執行

三個層次都到位後,生成指令只要一行:

claude "Generate an onboarding guide for Mei Chen, Senior Backend Engineer,
  Platform team, starting 2026-03-24, reporting to James Wu"

Agent 讀取 CLAUDE.md 取得公司脈絡、啟動入職 Skill 取得結構、產出一份 markdown 檔案在 onboarding/onboarding-guide-mei-chen-2026-03-24.md

如果有設定 MCP,可以更簡短:

claude "Generate onboarding guides for all new hires starting next Monday"

Agent 查詢 HR 系統,取得名單,為每個人產生一份指南。每份指南都是量身打造:後端工程師的指南強調 API repo、Python 工具鏈和 FastAPI 慣例。前端工程師的指南強調 web repo、React pattern 和設計系統。平台工程師的指南強調 infra repo、Terraform workflow 和 incident response 程序。

轉換為 PDF

Markdown 適合版本控制。但 HR 可能需要 PDF 在第一天寄出。Pandoc 處理這件事:

pandoc onboarding/onboarding-guide-mei-chen-2026-03-24.md \
  -o onboarding/onboarding-guide-mei-chen-2026-03-24.pdf \
  --pdf-engine=weasyprint \
  -V margin-top=2cm -V margin-bottom=2cm

或者讓 agent 做。在 Skill 加一行:

## Post-Generation
After generating the markdown guide, also produce a PDF version using Pandoc.

現在 claude "generate onboarding guide for Mei Chen..." 會同時輸出兩份檔案。

版本控制:隱藏的優勢

這是聊天式方法做不到的事:版本控制。

每份生成的指南都是 repo 中的 markdown 檔案。當團隊結構改變 -- 新的 Slack 頻道、停用的工具、不同的 deploy 流程 -- 你更新 CLAUDE.md。下一份指南會自動反映這些變更。

但你同時擁有歷史紀錄。git log onboarding/ 顯示每份曾經產生的指南。對同一個角色、相隔三個月的兩份指南做 git diff,精確顯示你的入職流程改變了什麼。這是自動產生的文件紀錄。

如果你同時管理多個入職專案 -- 比方說同一個週一有五位新人報到 -- 每份指南可以在自己的 workspace 中進行。這時終端機 workspace 工具就真正派上用場:一個面板一份指南,各自跑生成指令,全部一目了然。

為什麼這比 Google Doc 好

比較的重點不是 AI 對上非 AI。是架構。

Google Doc 是快照。寫下的那一刻就開始腐敗。連結壞掉。工具換了。團隊重組。沒有人的工作是維護入職文件,所以沒有人做。

這個系統有三個 Google Doc 缺少的特性:

可組合。 公司知識(CLAUDE.md)、指南結構(Skill)、即時資料(MCP)是獨立的層。你各別更新。團隊結構的變動只改 CLAUDE.md 的一個區塊。Skill 和 MCP 層不需要動。

預設就是個人化。 沒有「通用」輸出。每份指南都是角色專屬的,因為 agent 讀取角色後會自動篩選。後端工程師不會看到前端工具的設定步驟。設計師不會看到 Terraform 設定。

有版本控制。 每份指南是 repo 裡的檔案。變更被追蹤。歷史可稽核。你可以 diff、code review、rollback。

開始動手

如果你想今天就試,從小處開始:

  1. 在你現有的 CLAUDE.md 加入入職區塊。十行團隊結構、工具和頻道。
  2. .claude/skills/ 建立 Skill 檔案。複製本文的模板,調整章節。
  3. 用一個真實新人的資料執行指令。

先跳過 MCP 層。等價值被驗證後再加。前兩層本身 -- 永久知識加結構化的模板 -- 就已經消除了「過期 Google Doc」的問題。

目標不是把入職的人性面自動化。和 team lead 的第一杯咖啡、走廊上的對話、「我示範一下我們實際上怎麼做」的那些時刻 -- 這些很重要。目標是自動化機械的部分:組裝正確的連結、正確的頻道、正確的 repo、正確的聯絡人,給正確的人。讓小美在週一早上打開入職指南時,每一個連結都能用,而且那份文件是專門為她寫的。

那才是更好的第一天。

#ai-agent#onboarding#claude-code#mcp#workflow-automation#ai-cli#claude-md

相關文章