Skill 最佳實踐:五種設計模式+六步打磨法(含完整實戰過程和源碼)

作者:熊貓Jay字節之旅
日期:2026年4月9日 下午1:51
來源:WeChat 原文

整理版優先睇

速讀 5 個重點 高亮

Skill 開發嘅核心係灌入團隊內部知識,而唔係靠提示詞技巧。

整理版摘要

呢篇文章出自一位叫熊貓 Jay 嘅開發者,佢因為一次用 AI 做售前工時估算時,兩次結果差成倍(157 vs 71人天),差啲令公司蝕錢。佢被銷售同客戶催到炆,決定做一套系統化嘅 Skill 嚟告別呢種混亂。

文章先介紹 Google 總結嘅五種 Skill 設計模式:知識注入型(將專業知識打包成 references)、模板生成型(固定輸出格式)、審查打分型(按清單檢查)、反轉採訪型(先問清楚再做)、流水線型(分階段執行)。作者指出呢啲模式可以組合使用,而唔係互斥。

之後作者提出一套「評測驅動」嘅六步打磨法:先建立基線(直接裸跑 AI 睇下錯咩)、定義驗收標準、寫 MVP 版本、逐步擴展(每加一條規則都要對應一個測試)、加上記憶同自檢、上線後持續校準。成個方法論嘅核心係「讓失敗告訴你該寫咩」,而唔係硬估。

  • 五種設計模式(知識注入、模板生成、審查打分、反轉採訪、流水線)可以按需組合,流水線做主骨架,其他模式嵌入關鍵環節。
  • 六步打磨法核心係「評測驅動」:先用基線暴露問題,再定義驗收標準,寫 MVP 逐個解決,唔好一次過加好多規則。
  • 成功嘅 Skill 唔係靠提示詞技巧,而係靠灌入 AI 永遠估唔到嘅團隊內部知識,例如模塊地圖、踩坑規則、員工能力矩陣。
  • 實戰案例中,售前工時 Skill 將需求拆成四步流水線(分析→開發文檔→匹配資源→輸出報告),並嵌入子 Skill 同 references,最終穩定輸出兼自動生成 Word
  • 作者提醒:每加一條新規則都要對應一個測試用例,唔好盲目堆積;上線後要持續觀察誤觸發、漏文件等信號,形成閉環改進。
值得記低
連結 github.com

售前工時評估 Skill 源碼

完整嘅 Skill 源碼開源喺 GitHub,包含 SKILL.md 同相關 references 檔案。

整理重點

開頭故事同五種 Skill 設計模式

作者開頭分享一個親身經歷:用 AI 做售前工時估算,兩次結果差成倍(157 vs 71人天),差啲令公司蝕錢。呢件事促使佢決心開發一套系統化嘅 Skill,杜絕呢種唔穩定嘅情況。

  1. 1 知識注入型(Tool Wrapper):將專業經驗包成 references 文件,解決 AI 通用知識唔夠精準嘅問題。
  2. 2 模板生成型(Generator):喺 assets/ 放輸出模板,解決輸出格式唔一致嘅問題。
  3. 3 審查打分型(Reviewer):將檢查清單放 references,定義審查流程,適合需要按固定標準評估嘅場景。
  4. 4 反轉採訪型(Inversion):反轉交互方向,等 AI 先問清楚至動手,避免信息不足下亂做。
  5. 5 流水線型(Pipeline):將任務拆成嚴格階段,每步有輸入輸出同檢查點,適合步驟多、唔可以跳步嘅複雜任務。

最簡單嘅模式係知識注入型,任何 Markdown 檔案都得,完全冇編程門檻。

反轉採訪型喺實際使用中被嚴重低估,大多數 Skill 失敗嘅原因就係 AI 喺信息不全下直接執行。

整理重點

六步打磨法:評測驅動嘅系統化方法

作者提出「評測驅動」嘅打磨方法,核心係「唔好估 Skill 該寫咩,讓失敗話畀你知該寫咩」。方法共六步,每一步都針對實際問題。

  1. 1 建立基線:直接叫 ClaudeDeepSeek 裸跑任務,記錄邊啲環節唔穩定、邊啲輸入會理解錯、邊度自作聰明。
  2. 2 定義驗收標準:按基線發現嘅問題設計 3-5 個測試用例,每個有明確通過/失敗標準。
  3. 3 寫最小版本(MVP):先寫誤觸發場景做防線,定義最短成功路徑,保持單一職責。
  4. 4 通過測試後逐步擴展:補充邊界場景、格式定義、示例,每加一條規則都要有測試支撐。
  5. 5 加記憶同驗收標準:用日誌檔案記錄執行結果,令 Skill 知道上次做咗咩;寫明成功/失敗標準等 AI 自檢。
  6. 6 上線後持續校準:觀察誤觸發、漏文件、重複讀取等信號,發現新問題就返去第二步補測試用例。

呢個打磨過程建議先用 Claude Code 執行,因為執行過程透明,睇到 AI 每一步讀咩檔案、卡喺邊度。

五分鐘測試:如果 DeepSeek 可以喺 5 分鐘內穩定輸出結果,大概唔需要寫 Skill;否則就係 Skill 嘅切入點。

整理重點

實戰案例:售前工時評估 Skill 嘅完整開發過程

作者用自己嘅真實案例將六步法具體演繹一次。場景係售前工時評估,經常被催到 '奪命連環催',以前要成日熬通宵。

  1. 1 定義四條驗收標準:需求分析要關聯真實模塊、人員要出真實姓名同技能等級、工時要有代碼層面依據、報告結構固定七章。
  2. 2 MVP 版本:寫一個 SKILL.md 鎖死四步流程(需求分析→開發文檔→匹配資源→輸出報告)同七章模板,解決格式問題。
  3. 3 注入內部知識:將系統模塊地圖(module-structure.md)同影響範圍規則庫(impact_rules.md)放入 references,令 AI 識別需求牽涉邊個模塊、有咩坑。
  4. 4 補充員工能力矩陣:將員工嘅角色、技能等級、負責模塊整理成 employee-data.md,並封裝成子 Skill,令 AI 可以精準匹配人員。
  5. 5 加入代碼掃描步驟:令 AI 搜尋涉及模塊嘅源碼,分析現有代碼可複用程度,令工時估算有實質依據。

關鍵一步係將模塊地圖同規則庫抽成獨立子 Skill,因為呢啲能力之後可以複用,唔只係為工時評估而設。

作者仲製作咗一個 Word 生成腳本(generate_word_report.py),確保每次輸出排版一致,唔使 AI 自由發揮。

最後,Skill 上線後持續校準,發現新問題(例如客戶需求太簡略時 AI 會腦補),就補返約束「信息不足先列待確認項,唔好自行補全」。最終對比好明顯:冇 Skill 要半日至幾日、格式唔同、人員亂編、工時拍腦袋;有 Skill 只需 10-15 分鐘、七章固定、精準匹配、工時有代碼依據。

整個過程中最值錢嘅唔係流程或模板,而係模塊地圖、踩坑規則庫、員工能力矩陣——呢啲 AI 永遠估唔到嘅內部知識。

整理重點

開源同總結:越早開始,複利越大

作者將售前工時評估嘅完整 Skill 源碼開源喺 GitHub(連結見 resources),希望幫到遇到類似問題嘅人。佢強調 Skill 填嘅唔係技術嘅坑,而係「理解」嘅坑。你教畀 AI 嘅每一條規則,都喺度縮緊「佢做到嘅」同「你想要嘅」之間嘅距離。

最後,作者叫大家幫手點讚、轉發、關注,並預告往期精選文章,包括 Claude CodeMCP、Skills 全套教程,同埋 10 個 AI 編程技巧。

 

我用 AI 差點讓公司虧了一個項目。

事情是這樣的:客戶着急要一份軟件需求的工時報價,銷售一個小時催了我三遍。

我人都被催麻了,差點想罵人。

於是,我讓 AI 快速跑了兩遍,一次 157 人天,一次 71 人天。

差了一倍。

後來我仔細看了下,如果拿着 71 人天的結果去報價,項目鐵定虧。

真的,不禁後背發涼。

這次,我先安撫住客戶和銷售,決定做一套 Skill 出來,告別這種奪命連環催的狀態。

最後,同樣的需求,每次跑出來的結果穩定、資源真實、格式統一,而且只需要 10 分鐘。

今天,我把這套方法論和完整源碼開源出來(見文末)。


一、五種常見的 Skill 設計模式

在講方法論之前,我們先來了解下 Google 總結出的五種常見 Skill 設計模式。

我在自己的實踐中也驗證了這幾種模式的有效性,這裏結合我的理解,做一個拆解。

配圖3

模式一:知識注入型(Tool Wrapper)

解決什麼問題:AI 的通用知識不夠精準,需要注入「只有你知道的」專業知識。

核心思路:把你的專業經驗打包成 references 文件,AI 在需要時自動加載,按你的標準來做事。

舉個例子:

你讓 AI 幫你寫小紅書文案,但它寫出來的風格總是不對:要麼太正式,要麼太浮誇

你可以把自己過去點贊量最高的 10 篇文案放進 references/,再在 SKILL.md 裏寫「模仿這些文案的風格」,AI 就會照着你的調性來寫。

實際的 SKILL.md 長什麼樣?

# skills/writing-xhs-copy/SKILL.md

---

name: writing-xhs-copy

description: 按團隊風格寫小紅書文案。當用戶要求寫小紅書文案、種草筆記時激活。

---

 

你是小紅書文案助手。寫文案前先加載 references/top-posts.md,學習這些爆款文案的風格和結構。

 

## 我們團隊的文案規範(AI 不知道的部分)

- 人設是「閨蜜分享」,不是「專家推薦」,禁用「強烈推薦」「必入」等營銷詞

- 第一句必須是反問句或場景描寫,不能直接說產品名

- 每篇控制在 300-500 字,超過 500 字閲讀完成率會斷崖下跌

- 圖片說明統一用「p1:xxx p2:xxx」格式,方便運營同事對圖

就是一個 Markdown 文件,沒有任何編程門檻。這是最簡單的模式,適合入門練手。

模式二:模板生成型(Generator)

解決什麼問題:AI 每次生成的輸出格式不一致,結構飄忽不定。

核心思路:在 assets/ 裏放一個輸出模板,讓 AI 按模板結構往裏填內容,而不是自由發揮。

舉個例子:

你每天要寫日報,格式固定:今日完成 / 明日計劃 / 阻塞項

每次讓 AI 寫,格式都不一樣。

那我們可以放一個日報模板進去,讓 AI 做填空題,這樣,輸出會穩定得多。

同樣的思路,可以用在技術報告、項目週報、產品需求文檔,以及任何有固定格式要求的重複性產出。

# skills/generating-daily-report/SKILL.md

---

name: generating-daily-report

description: 按團隊格式生成每日工作日報。當用戶說"寫日報"、"今日總結"時激活。

---

 

你是日報生成助手。嚴格按以下步驟執行:

 

1. 加載 assets/report-template.md 獲取日報模板

2. 詢問用戶:今天做了什麼?明天計劃做什麼?有沒有阻塞項?

3. 按模板格式填寫,注意以下團隊要求:

   - 每條必須帶數據(完成了"3 個頁面"而不是"若干頁面")

   - 阻塞項不超過 2 條,多了拆到明日計劃裏

   - 語氣用陳述句,不要用"我覺得""可能"等模糊表述

4. 輸出完整日報,不要遺漏模板中的任何章節

注意,模板越具體越好。別寫 “請生成報告”,而是給出每個章節的標題和填寫要求。

模式三:審查打分型(Reviewer)

解決什麼問題:你需要 AI 按照一套固定標準去檢查、評估某個東西。

核心思路:把檢查清單放在 references/ 裏,SKILL.md 定義審查流程:加載清單 → 逐項檢查 → 按嚴重程度分類 → 輸出結構化報告

舉個例子:

你寫完一篇公眾號文章,想讓 AI 幫你檢查:

標題是否有吸引力?
開頭 3 秒能不能抓住人?
段落是不是太長?
有沒有錯別字?

我們可以把這些檢查項做成 checklist 放進去,AI 就變成了你的私人編輯。

這個模式最靈活的地方在於:換一份 checklist,就變成完全不同的審查工具。同樣的骨架,放代碼規範進去就是代碼審查,放安全標準進去就是漏洞掃描。

# skills/reviewing-articles/SKILL.md

---

name: reviewing-articles

description: 按團隊標準審查公眾號文章質量。當用戶說"幫我檢查文章"、"文章審核"時激活。

---

 

你是公眾號文章質量審查員。這個 Skill 只做檢查,不做改寫。

 

1. 加載 references/review-checklist.md 獲取檢查清單

2. 通讀用戶提交的文章,理解主題和受眾

3. 逐項對照檢查清單,對每個問題:

   - 標註嚴重程度:必須修 / 建議修 / 供參考

   - 說明為什麼是問題(不要只說"標題不好",要說"標題沒有製造信息差,用戶沒有點開的理由")

   - 給出具體修改建議

4. 輸出結構化報告:先列必須修的,再列建議修的,最後給總分(1-10)

關鍵要求 AI 不只說 “這裏有問題”,還要說 “為什麼是問題” 和 “怎麼改”。

模式四:反轉採訪型(Inversion)

解決什麼問題:AI 總是在信息不足的情況下急着動手,結果做出來的東西和你想要的偏差很大。

核心思路:翻轉交互方向——不是你提需求 AI 馬上執行,而是 AI 先當採訪者,問清楚再動手。

舉個例子:

你說「幫我規劃一個日本旅行」,AI 二話不說就給你列了 7 天行程。

但它不知道你只有 5 天假、預算有限、帶着老人不能暴走、而且最想去的是温泉不是東京。

如果 Skill 要求 AI 先問:去幾天?預算多少?同行人是誰?有沒有必去的地方?

問完再規劃,結果好幾倍。

# skills/planning-travel/SKILL.md

---

name: planning-travel

description: 通過結構化提問收集需求後規劃旅行行程。當用戶說"規劃旅行"、"做攻略"時激活。

---

 

你是旅行規劃師。在開始規劃之前,必須先完成信息採集。

不要跳過任何問題,不要在問題回答完之前給出行程方案。

 

## 第一輪:基本信息(逐個問,等用戶回答)

- 去哪裏?出發時間和天數?

- 預算大概多少?

- 同行人是誰?(老人/小孩/朋友/獨行)

 

## 第二輪:偏好確認

- 最想體驗什麼?(美食/文化/自然/購物)

- 有沒有必去的地方?

- 有什麼忌諱或限制?(不能爬山、怕冷、素食等)

 

## 第三輪:輸出方案(所有問題回答完才執行)

加載 references/travel-tips.md 獲取目的地踩坑經驗(旺季避坑、交通陷阱、本地人建議等)。

根據收集到的信息,輸出逐日行程,包含交通、住宿建議和預算估算。

看起來多了一輪對話,實際上省了後面反覆返工的時間。

這個模式在實際使用中被嚴重低估了。

大多數 Skill 失敗的原因不是流程寫得不好,而是 AI 在 信息不全 的情況下就直接開始執行了。

配圖4

模式五:流水線型(Pipeline)

解決什麼問題:任務複雜、步驟多,AI 容易跳步或遺漏關鍵環節。

核心思路:把任務拆成嚴格的階段,每個階段有明確的輸入、輸出和檢查點。上一步沒通過驗證,不允許進入下一步。

舉個例子:

你用 AI 寫公眾號文章的完整流程:先確定選題方向 → 列大綱讓你確認 → 寫初稿 → 自檢(標題吸引力、開頭鈎子、排版規範)→ 生成終稿

如果你沒確認大綱,AI 不能開始寫正文;如果自檢沒通過,不能輸出終稿。

每一步之間有明確的「關卡」。

# skills/writing-wechat-articles/SKILL.md

---

name: writing-wechat-articles

description: 按流水線流程創作公眾號文章。當用戶說"寫一篇文章"、"幫我寫公眾號"時激活。

---

 

你是公眾號寫作流水線。嚴格按步驟執行,不要跳步。

 

## 第一步:選題確認

詢問用戶想寫什麼主題、目標讀者是誰。輸出 3 個選題方向供選擇。

→ 用戶確認後才進入下一步。

 

## 第二步:大綱

根據選題列出文章大綱(標題 + 各段核心觀點)。

→ 用戶確認後才進入下一步。

 

## 第三步:寫初稿

按大綱寫完整文章。加載 references/writing-style.md 遵循團隊風格(我們的號走「專業但不端着」路線,禁用「賦能」「抓手」等黑話)。

 

## 第四步:自檢

加載 references/quality-checklist.md,逐項檢查。

檢查不通過的自動修改,通過後輸出終稿。

這是最重型的模式,只在任務確實複雜時使用,簡單任務不要過度設計。

怎麼選?一個簡單的決策樹:

你的核心需求
選哪個模式
AI 對某個工具/框架的用法不準
知識注入型
每次輸出的格式不統一
模板生成型
需要按固定標準做檢查
審查打分型
AI 總在信息不足時急着動手
反轉採訪型
任務步驟多且不能跳步
流水線型

最後一個重要提醒:這五種模式不是互斥的,它們完全可以組合。

一個流水線型的 Skill 可以在第一步用反轉模式收集需求,在最後一步用審查模式做質量檢查。

記得設計 Skill 的時候,先確定主模式,再看是否需要在某個環節嵌入其他模式。

配圖5

二、進階:如何系統化地打磨一個 Skill

我想說:“能用”和“好用” 的 Skill 之間,隔着一道巨大的鴻溝。

很多人寫完 Skill 之後的做法是:跑一遍,效果不好,就憑直覺改幾句描述、加幾條約束,再跑一遍……

如此反覆,改了十幾版,也說不清楚到底是變好了還是變差了。

問題出在哪?

沒有參照物,也沒有衡量標準。

下面我介紹一套「評測驅動」的打磨方法論。核心思路是:不要猜 Skill 該寫什麼,讓失敗告訴你該寫什麼。

配圖6

第一步:建立基線,發現問題

在寫任何 Skill 之前,可以考慮先讓  DeepSeek、Claude 直接做一遍你需要完成的任務。

這一步的目的是為了發現問題:就像醫生開藥之前先做體檢,你得先知道"病"在哪。

重點觀察三件事:

AI 在哪些環節表現不穩定,同樣的輸入,結果時好時壞?
哪些輸入會讓 AI 理解歧義、走偏方向?
AI 有沒有在不該主動的時候「自作聰明」?

把這些問題一條條記下來,這就是你的 Skill 需要解決的真實缺口,也是後面所有測試用例的來源。

配圖7

這裏有一個簡單的判斷標準,大家習慣叫它「五分鐘測試」:

如果 DeepSeek 就能在 5 分鐘內給出穩定的結果,你大概率不需要為這件事寫 Skill;

如果 5 分鐘內搞不定、或者結果時好時壞,那才是 Skill 真正的切入點。

配圖8

第二步:定義驗收標準

這一步反直覺,但非常關鍵。大多數人的做法是:先寫 Skill → 然後想怎麼測試。

但正確的順序是反過來:先定義「什麼算做對了」,再寫 Skill 去達標。

具體做法:

根據第一步識別的問題,設計 3-5 個具體的測試用例
每個用例有明確的「通過」和「失敗」標準
優先覆蓋 AI 最容易犯錯的場景

為什麼要這麼做?

因為沒有測試約束的 Skill,本質上是在放大 AI 行為的不確定性。

你加的每一條規則,如果不知道它在解決什麼問題,就可能會繼續製造新的問題。

配圖9

第三步:寫最小版本的 Skill

現在才開始寫 Skill。

但注意,不要試圖一次覆蓋所有情況,寫能通過測試標準的 MVP 版本。

重點做三件事:

1.寫”什麼時候不要用“:把最開始發現的誤觸發場景寫進去,作為第一道防線。
2.定義最短成功路徑:用最少的步驟描述核心流程,確保最基本的輸入能得到穩定的輸出。
3.保持單一職責:一個 Skill 只解決一個明確的問題。

這個階段的 Skill 會很簡陋,但它是有針對性的。

每一條規則都是在回應一個真實的失敗案例,而不是憑經驗預判。

配圖10

第四步:通過測試後,再逐步擴展

最短路徑跑通了,再一點點增加覆蓋範圍:

補充更多邊界場景的處理規則
明確輸入輸出的格式定義
加入關鍵的示例,幫助 AI 對齊預期

核心紀律:每增加一條新規則,都必須對應一個測試用例。 沒有測試支撐就加規則,等於在 Skill 裏埋盲區。

同樣重要的是知道什麼時候該停。

規則太多反而會讓 AI 行為變得不可預測——它在多條指令之間糾結,結果哪條都執行不好。如果你的 Skill 已經穩定通過所有測試,就別再往裏塞東西了。

配圖11

第五步:給 Skill 加上記憶和驗收標準

當 Skill 的核心邏輯穩定之後,補上兩個讓它從「能用」變成「好用」的東西:

記憶:在 Skill 目錄下放一個日誌文件,每次執行完追加記錄,下次執行前先讀。

這讓 Skill 知道上次做了什麼,避免重複產出。

哪怕只是一個簡單的文本文件,效果也天差地別。

但注意不要把記憶文件寫成流水賬。

長期記憶是有 token 上限的,只記錄反覆出現的模式和真正重要的經驗,不要什麼都往裏塞。

驗收標準:明確寫出什麼算成功、什麼算失敗。

這不只是給你看的,也是給 AI 看的。AI 可以用這些標準做自檢,在提交最終結果前先自查一遍。

第六步:上線後持續校準

測試用例只能覆蓋你已知的問題,但是,真實場景中一定會冒出新的情況。

Skill 上線後,重點觀察這幾個信號:

AI 在你沒預期的場景下誤觸發了這個 Skill?→ 說明 description 需要收窄
AI 執行時漏掉了關鍵的參考文件?→ 說明 SKILL.md 裏的引用不夠明確
AI 反覆讀同一段內容?→ 說明那段內容可能應該放到更醒目的位置

每發現一個新問題,就回到第二步,補一個測試用例,再改 Skill。

這是一個持續轉動的閉環,不是一次性工程。

配圖12

如果要在龍蝦裏使用 Skill,一個建議:這六步的打磨過程,建議先在 Claude Code 裏完成。

Claude Code 的執行過程是透明的,你能看見 AI 每一步讀了什麼文件、調了什麼工具、在哪個環節卡住了。

因為 OpenClaw 封裝更深,Skill 跑不好時,你分不清是 Skill 的問題還是環境的問題。

在 Claude Code 裏調到滿意,再交給 OpenClaw 穩定運行。

三、實戰案例:售前工時評估 Skill

前面講了方法論,可能還是有點抽象。這裏用我自己的一個真實案例,把六步串一遍。

場景其實開頭已經介紹過了。這裏給大家再感受下那種緊迫感:

圖片

PS:1個小時內,奪命三連催。

這種場景不是第一次了。售前評估幾乎永遠是急活。客戶催銷售,銷售催你,每次都是熬大夜,熬出來的。

流程每次都一樣:拆需求 → 匹配人 → 算工時 → 套模板

流程固定、輸入不同、反覆發生,這就是 Skill 該乾的事。

所以,這件事,已經到了讓我非做不可的地步了。

配圖13

第一步:建立基線,發現問題

我沒有一上來就寫 Skill。先讓扔給 Claude 測試一下,把客戶需求原文扔給它,說「幫我出一份工時評估報告」。

結果能出來,但問題一堆:

圖片

我發現 Claude 需求分析太泛,不瞭解我們的模塊結構和技術棧,分析全是正確的廢話。

而且,它也不知道團隊有誰、誰擅長什麼,給了一堆角色,但是有些角色我們甚至沒有。

後來我嘗試生成兩次後,發現每次格式都不一樣:無論是樣式,還是內容框架。

圖片

最可怕的是兩次的人天相差巨大,幾乎翻了一倍。第一次 157 人天,第二次 71 人天。

圖片

後來我基於 Skill 生成的版本和裸跑版本做了對比,內部認真分析了一下。

如果一不小心拿到第二次的人天,項目得虧麻了。

總結下來就是 6 個字:有框架,沒質量。

配圖14

第二步:定義驗收標準

把基線建立時暴露的四個問題,翻譯成驗收標準:

1.需求分析必須關聯項目真實模塊,不能出現通用廢話
2.人員配置必須輸出真實姓名,技能等級和負責模塊對得上
3.工時評估必須有代碼層面的依據
4.報告結構固定七章,不多不少

後面每改一版,都用同一段需求跑一遍,對着這四條逐項檢查。

不用複雜的測試框架,手動過一遍就行,但有了「通過/不通過」標準,改起來就不是盲調了。

當然這裏也可以做一個自動檢查報告的 Skill,把這些驗證標準寫進去,讓 AI 自動運行。

配圖15

第三步:MVP 版本 Skill

第一版就是一個 SKILL.md:

---

name: req-to-hours-estimate

description: 基於需求輸出工時評估報告。按固定四步流程執行:需求分析 → 生成開發文檔 → 匹配資源 → 輸出報告。用於售前需求評估、項目報價等場景。

---

# 需求轉工時評估報告

## 工作流程

### 第一步:需求分析

基於用戶提供的原始需求,進行分析:

1. 識別核心痛點

2. 挖掘潛在需求

3. 風險評估

4. 將需求拆分為用戶故事(格式:作為[角色],我希望[行為],從而[目的])

### 第二步:生成開發文檔

基於需求分析結果,輸出結構化開發文檔:

- 功能描述

- 影響範圍

- 注意點/風險項

- 待確認項

- 驗收標準

### 第三步:匹配資源配置

根據開發文檔,給出資源配置建議:

- 前端開發人員及職責

- 後端開發人員及職責

- 測試人員及職責

### 第四步:工時評估與報告生成

綜合以上信息,按報告模板輸出工時評估報告。

## 工時評估報告模板

必須嚴格按照以下七章結構輸出,不多不少。

```markdown

# 售前工時評估報告

## 一、需求概述

### 1.1 需求背景

### 1.2 核心痛點

### 1.3 潛在需求

### 1.4 風險提示

## 二、功能範圍

### 2.1 用戶故事拆解

### 2.2 功能清單

## 三、技術方案

### 3.1 涉及模塊

### 3.2 技術棧

### 3.3 影響範圍

## 四、資源配置

### 4.1 前端開發

### 4.2 後端開發

### 4.3 測試人員

## 五、工時評估

### 5.1 工時明細

### 5.2 工時說明

## 六、待確認項

## 七、報價建議

```

它只做了兩件事:

1)鎖死工作流程:

把評估拆成四步流水線:需求分析 → 生成開發文檔 → 匹配資源 → 輸出報告

每步的輸入輸出寫清楚,嚴格按照預定的步驟執行。

2)定輸出模板:

七章報告模板寫死在 SKILL.md 裏,按模板填內容,不允許 AI 自由發揮。

驗證標準第 4 條立刻通過。但前三條還是不行:AI 依然在造數據。

沒關係,最小版本的目標不是滿分,先完成再完美。

配圖16

第四步:補充 AI 不知道的上下文

骨架確定後,該解決 AI 造數據的問題了。

這時候我發現:要補充的資料其實早就有了。

員工能力矩陣、模塊結構文檔、踩坑規則庫,都是過去管理中沉澱下來的,只是每次都想不起來要餵給 AI。

PS:主要還是太繁瑣,文件分散在各地,搜索成本太高。

1、內部知識注入(解決「分析太泛」)

最開始測試時,AI 的需求分析為什麼只是浮於表面?

因為它只看到客戶那段話,不知道在我們系統裏會牽動哪些模塊、踩到哪些坑。

那麼接下來,我給它灌輸內部知識。

但我沒有把這些所有資料直接塞進主 Skill。“需求轉開發文檔”這個步驟,未來一定會單獨使用。

不是每次都可能出現「評估工時」這個場景,有時候,內部的簡單需求也需要變成結構化的開發任務。

所以我把它抽成了獨立的子 Skill req-to-dev-doc,主 Skill 調用它,其他場景直接複用。

寫 Skill 時多想一步:這個能力是隻服務當前流程,還是本身就有獨立價值?

如果是後者,拆出來,未來你會感謝自己的。

配圖17

主 Skill:

### 第二步:生成開發文檔

 

調用 skill:`/req-to-dev-doc`

 

將需求轉換成結構化開發文檔,包含:

- 用戶故事

- 功能描述

- 影響範圍

- 注意點/風險項

- 待確認項

- 驗收標準

需求轉開發文檔 Skill:

---

name: req-to-dev-doc

description: 將簡單需求描述轉換為結構化開發文檔,適用於xxx平台的需求整理。當用戶提供需求說明(一句話或詳細描述)並希望生成開發文檔、需求卡片、驗收標準時使用此 skill。輸出內容結合平台模塊的業務規範和注意點,減少研發返工。

---

 

# 需求轉開發文檔

 

## 工作流程

 

1) 讀取 `references/module-structure.md`:

   - 判斷最可能涉及的模塊

   - 提取該模塊的【模塊依賴/變更風險/注意點(長期邊界)】作為約束與風險來源

 

2) 讀取 `references/impact_rules.md`:

   - 先掃描 L0 必跑規則,明確“命中哪些規則”(必須顯式輸出規則編號)

   - 再按第 1 步的模塊檢索 L1 規則補全“必查落點、迴歸對象、風險與待確認項”

   - 若模塊不明確:先按“通用能力”生成卡片,並在【待確認項】列出需要確認的模塊/入口;不要阻塞輸出

 

3) 按模板輸出任務卡片:

   - 重點把命中規則轉成【影響範圍/風險項/驗收標準】裏的具體“落點”和“迴歸清單”

   - 只寫可執行內容,不寫背景長文

 

若需求涉及模塊不明確,先詢問用戶確認模塊範圍,再生成文檔。

 

## 輸出模板

 

每個需求輸出一張卡片,嚴格按以下結構:

...

 

## 規則

...

我解讀下,這次優化,我將兩份關鍵文檔放進 req-to-dev-doc 的 references 裏:

1)系統模塊地圖module-structure.md):

這份文檔就像一張寶藏地圖,包含系統幾十個模塊的基礎介紹、相關對象實體、各個模塊之間的依賴關係、變更風險和紅線

我挑了一個脱敏簡化後,且大家熟知的“定時任務”模塊給大家看下:

# 模塊結構文檔(模板)

 

> **格式約定:** 每個模塊按以下維度描述:

> - **實體** — 涉及的核心數據對象

> - **核心功能** — 該模塊做什麼

> - **依賴** — 與其他模塊的關係(★強依賴 / ○數據依賴 / △觸發依賴)

> - **變更風險** — 改這個模塊時容易踩的坑

> - **紅線** — 絕對不能違反的規則

 

## 示例:定時任務模塊

 

**實體:** 定時任務 / Cron 表達式

 

**核心功能:**

- 定時任務增刪改查;任務類名唯一性校驗(基於字典編碼);

- Cron 表達式配置與校驗;系統內置任務只讀保護(readonly=0 不可修改)

 

**依賴:** △系統日誌 / 消息通知 ○權限管理

 

**變更風險:**

- 修改任務類名 → 反射創建 Job 實例失敗(運行時才暴露)

- 修改 Cron 解析邏輯 → 所有已有定時任務的調度時間全部異常

 

**紅線:**

- 刪除數據庫中的任務記錄前,**必須**先停止調度器中對應的任務

- 不得繞過 `QuartzJobService` 直接操作數據庫任務表

- Job 類中不得執行耗時過長的操作(會阻塞調度器線程池)

這份文檔,除了幫助 AI 快速建立業務認知之外,也能有效地防止 AI 犯一些基本的錯誤。

比如你改了A模塊,它會告訴你要同步檢查 B、C、D模塊

並且會禁止你做一些內部總結提到的危險操作。

這些事情,交給 AI 是猜不出來的。

2)影響範圍規則庫impact_rules.md):

前面的模塊地圖,解決了“需求落在哪裏?怎麼避免犯錯?

而這份規則庫,則解決了”容易漏做什麼?怎麼按照有效路徑排查問題?

團隊踩坑沉澱的規則,分三層:

L0 是必查規則,是內部過去提煉的所有模塊都容易犯錯的點。
L1 是模塊級規則,細化到每個業務模塊。
L2 是歷史典型事故案例(可選),僅起到輔助人和 AI 理解的作用,保持精煉。

# 變更影響規則庫

 

> 寫法:**觸發條件 → 必查落點**(短、直接、可執行)

 

---

 

## L0|必跑規則(拿到需求都過一遍)

 

| 編號 | 規則名稱 | 觸發條件 | 必查落點 |

|------|---------|---------|---------|

| L0-1 | 字段表現類 | 涉及精度/格式/校驗/默認值/聯動 | 編輯態 + 詳情態 + 列表態 + 導入導出 |

| L0-2 | 通用接口類 | 改動落在通用CRUD/保存/校驗鏈路 | 判定是否通用 → 列迴歸對象清單 |

| L0-3 | 狀態流程類 | 涉及狀態字段/審批/撤回駁回 | 業務狀態↔流程狀態同步 + 審計日誌 |

| L0-4 | 歷史兼容類 | 新增規則/舊數據可能不滿足 | 代碼兼容 + 遷移腳本 + 歷史樣本驗證 |

| L0-5 | 配置項策略 | 出現閾值/開關/枚舉等參數 | 不允許寫死 → 明確誰維護、默認值 |

| ...  | (按團隊經驗持續補充) | | |

 

## L1|模塊規則(按模塊細化補全)

 

| 模塊 | 觸發條件 | 必查落點 |

|------|---------|---------|

| 通用能力 | 數字精度調整 | 列表/詳情/編輯/篩選/導出 + 前後端一致 |

| 通用能力 | 枚舉/字典調整 | 歷史值兼容 + 篩選項 + 導入導出映射 |

| 工作流 | 審批規則調整 | 歷史實例兼容 + 審批記錄不可篡改 |

| 權限 | 按鈕/字段權限調整 | 前端控制 + 後端兜底 + 導出權限一致 |

| ... | (按業務模塊持續補充) | |

 

## L2|案例庫(事故沉澱反哺規則)

 

| 事故描述 | 命中規則 | 補救措施 |

|---------|---------|---------|

| 價格精度只改了編輯頁,列表未同步 | L0-1 | 補查所有展示入口 |

| 改了新增接口,導致關聯模塊創建異常 | L0-2 | 通用接口必列迴歸清單 |

| 新規則上線,歷史數據無法編輯 | L0-4 | 補遷移腳本 + 歷史樣本回歸 |

有了這兩份資料,AI 不再泛泛地寫“可能影響其他模塊”。

而是相對精確命中規則:”命中 L0-7(歷史數據兼容)、L1-9(數據結構腳本)“,逐條列出必查項和迴歸清單。

圖片

這樣拆得越細,後面估工時越準。

備註:這個規則庫也不是一成不變的,我還設計了一個 FAQ Skill 來反哺規則庫,這樣團隊運轉中高頻發生的問題和總結,就會自動落到規則中,形成高效閉環。

小結一下,這一步的本質就是:用內部知識把模糊的客戶需求,翻譯成精確的開發任務。

配圖18

2、補充「員工能力矩陣」(解決「資源虛構」)

這次,我把團隊所有人的角色、技能等級整理成 employee-data.md

考慮到匹配資源在未來也可能被複用,所以單獨封裝了一個 Skill:/dev-doc-match-resource。並且在主 Skill 中調用它。

圖片25

主 Skill:

### 第三步:匹配資源配置

 

調用 Skill:`/dev-doc-match-resource`

 

基於開發文檔和員工能力資源矩陣,分析匹配資源配置:

- 前端開發人員及技能等級

- 後端開發人員及技能等級

- 測試人員及負責模塊

- 資源風險提示

資源匹配 Skill:

---

name: dev-doc-match-resource

description: 基於開發文檔分析匹配當前開發方案的資源配置。結合能力資源矩陣文件(employee-data.md),根據開發文檔中的模塊、技術棧、複雜度等維度,匹配合適的開發人員、測試人員及其能力等級,輸出資源配置建議。用於需求評估階段的資源安排參考。

---

# 開發文檔資源配置匹配

## 工作流程

1. 讀取 `references/employee-data.md`:

   - 解析每位員工的角色、技能等級、負責的模塊信息

   - 技能等級說明:1-瞭解 | 2-熟悉 | 3-精通

2. 分析開發文檔內容:

   - 識別涉及的模塊(xxx 功能等)

   - 識別所需技術棧(Java、Python、Vue、MySQL、Redis、中間件等)

   - 評估開發複雜度(新增/修改、前端/後端、是否涉及集成)

3. 匹配資源配置:

   - 根據"負責模塊"字段匹配主要開發/對接人員

   - 根據技術需求匹配技能等級合適的人員

   - 根據測試責任匹配測試負責人

4. 輸出資源配置報告

## 輸出模板

```markdown

# 資源配置建議

## 需求概述

- 涉及模塊:xxx

- 技術棧:xxx

- 複雜度評估:低/中/高

## 人員配置

### 產品設計

| 姓名 | 技能等級 | 擅長模塊 | 負責內容 | 說明 |

|------|---------|---------|---------|------|

| xxx  | 3       | xxx     | xxx     | xxx   |

### 前端開發

| 姓名 | 技能等級 | 擅長模塊 | 負責內容 | 說明 |

|------|---------|---------|---------|------|

| xxx  | 3       | xxx     | xxx     | xxx   |

### 後端開發

| 姓名 | 技能等級 | 擅長模塊 | 負責內容 | 說明 |

|------|---------|---------|---------|------|

| xxx  | 3       | xxx     | xxx     | xxx   |

### 測試人員

| 姓名 | 負責模塊 | 測試類型 | 說明 |

|------|---------|---------|------|

| xxx  | xxx     | xxx     | xxx   |

## 資源風險提示

- xxx

## 補充說明

- xxx

```

## 配置規則

- 優先匹配"負責模塊"中明確的人員

- 技能等級3為首選,2為備選,1需評估

- 複雜度高、涉及核心模塊需配置高技能等級人員

- 涉及系統集成需確認相關經驗

## 參考資料

 

- `references/employee-data.md`:部門員工能力數據,包含角色、技能等級、負責模塊等詳細信息

但第一版只寫了角色和等級,AI 匹配還是不夠精準:不知道誰熟悉哪個具體模塊

於是迭代中,我又補了一列「業務領域」,精確到每個人熟悉的業務模塊。

補完後,AI 輸出的不再是「高級開發 1 名,QA 1 名」

而是「小明(精通系統底層/導入中心)負責核心引擎,小李(熟悉化工模塊)負責業務適配」。

圖片

驗證標準第 2 條通過。

如下是我整理的一份模板,大家需要可以自取:

# 團隊員工能力數據

 

> 最後更新:2026-04-01(建議每季度 review 一次)

>

> 技能等級:1-瞭解 | 2-熟悉 | 3-精通

>

> 等級校準:

> - 1-瞭解:學過/用過,需要指導才能完成任務

> - 2-熟悉:能獨立完成常規任務,遇到複雜問題需要查資料

> - 3-精通:能獨立解決複雜問題,能指導他人,能做技術方案

>

> 業務領域等級:

> - 1-接觸過:瞭解基本功能,做過少量相關任務

> - 2-能獨立處理:能獨立處理該領域常規需求

> - 3-深度掌握:熟悉業務規則、歷史坑點和跨模塊影響

>

> 業務領域範圍(請根據實際項目自定義):

> - 系統底層:基礎設置/權限/系統管理

> - 工作流:流程引擎/通知/定時任務

> - 業務模塊A:(填寫你的核心業務模塊,如:訂單/商品/庫存)

> - 業務模塊B:(填寫你的次要業務模塊,如:報表/審批/合規)

> - 通用功能:導入導出/附件/搜索/工具類/組件庫

 

## 李明

- 角色:高級後端開發(核心模塊開發、帶新人、技術攻堅)

- 業務領域:系統底層(3), 業務模塊A(3), 通用功能(3), 業務模塊B(2)

- 開發語言:Java(3), Python(2), Vue(2), JavaScript(2)

- 數據庫/緩存:PostgreSQL(3), MySQL(3), Redis(3)

- 中間件:RocketMQ(3), Quartz(3), Elasticsearch(2), Minio(1)

- 系統集成:OA(2)

- 雲原生/DevOps:Docker(3), Kubernetes(2), CI/CD(Jenkins/GitLab)(2)

- 測試:功能單元測試(2), 自動化測試(2)

- 軟技能:需求分析(2), 技術調研(2), 方案評審(2), 培訓(2)

- 負責模塊(主要對接人):[系統] 對象管理、模型管理、定時任務;[業務模塊A] 核心數據處理、數據導入平台;[通用功能] 全局搜索、文件下載、在線編輯

補充能力矩陣,有兩個重要的作用:

1.專業的事情交給專業的人來做,降低項目風險。
2.即使項目立刻開始,管理者也能夠基於資源分配情況從容編寫計劃,為後期做好鋪墊。
配圖19

3、基於項目代碼掃描

我認為這是非常關鍵的一次優化。

和普通 AI 聊天工具最大的區別在於:它是基於我的項目代碼本身進行評估的。

結合當前項目相關代碼進行工時評估:

 

1. **搜索相關代碼**:

   - 搜索涉及模塊的代碼文件

   - 識別 Entity、Service、Controller、Mapper 等層次

   - 分析現有代碼複雜度和可複用性

從而讓 AI 搜索需求涉及的模塊,思考:

哪些代碼已經存在?
哪些代碼可以複用?
需要新增的代碼量多大?

「能複用多少」和「要增加多少」都寫進報告,這樣工時終於有了更可靠的代碼層面的依據。

圖片

驗證標準第 3 條通過。

到這裏,四條驗證標準全部通過。

配圖20

第五步:加驗收標準和腳本

1、驗收標準寫進 Skill

SKILL.md 末尾加了自檢清單,AI 輸出前先自查:結構、數據的一致性、風險是否預留了

如果自檢不過就自動修改,不用我再次指揮 AI 進行返工。

### 第五步:輸出自檢

 

報告生成後,逐項檢查以下內容,發現問題立即修正後再輸出給用戶:

 

1. 結構完整性:七個章節(需求概述、功能範圍、技術方案、資源配置、工時評估、待確認項、報價建議)是否齊全

2. 數據一致性:

   - 工時明細表的合計行 = 各行之和

   - 報價建議中的工時數 = 工時明細表的合計數

   - 資源配置中的人員 = 工時明細表中涉及的角色

   - 技能等級調整係數是否已正確應用

3. 風險預留:是否按複雜度等級計入了對應比例的風險預留

2、加了 Word 生成腳本

## 輸出格式說明

 

前四步的分析流程始終執行,輸出格式僅影響最終呈現方式:

 

- **默認輸出**:Markdown 格式報告,直接在對話中展示

- **僅需 Word 文檔**:用戶明確要求時,跳過 Markdown 輸出,直接將各字段組裝為 `data` 字典,調用 `references/generate_word_report.py` 中的 `ReportGenerator().generate(data=data)` 生成文件,依賴安裝:`pip install python-docx`

基本上,客戶要 Word,不是 Markdown。

每次讓 AI 轉格式,排版都不一樣,這種確定性任務不該讓 AI 自由發揮。

所以我讓 AI 寫了一個 generate_word_report.py 放 scripts/ 裏,AI 填數據,腳本管排版,從此每次都一樣。

image-20260327182350557

第六步:上線後持續校準

後續又跑了幾個需求,發現新問題:客戶需求描述太簡略時,AI 會「腦補」過度,生成客戶沒提的功能。

補了一條約束:「如果原始需求信息不足,先列待確認項,不要自行補全」

下一步,我打算把過去項目計劃的信息收集一下。

這樣每個項目的預估工時和實際工時都有了,再讓 AI 進行「類比估算」,基於歷史項目計劃數據推算結果將更加準確。

配圖21

最終效果對比

維度
沒有 Skill
有 Skill
耗時
半天到一天,複雜的好幾天
10-15 分鐘
輸出格式
每次不一樣
七章固定,直接生成 Word
人員配置
編造泛泛的崗位名
按真實團隊能力精準匹配
工時評估
拍腦袋
代碼掃描 + 技能係數
交付質量
大量人工返工
AI 自檢後輸出,微調即可

回看整個過程,完美對應六步打磨法:

① 建立基線,發現四個問題

② 把問題翻譯成四條驗證標準

③ 最小版本解決流程和格式

④ 逐步補 references、拆子 Skill,每次回應一個真實失敗

⑤ 加驗收標準 + 腳本解決確定性輸出

⑥ 新場景暴露新問題,回到②補標準,繼續循環

沒有一步到位,每一次改動都是在回應一次失敗。

這就是「評測驅動」的核心:不要猜該寫什麼,先發現問題,讓它告訴你該寫什麼。

整個過程中最值錢的,不是流程,不是模板。

而是那些「只有我們團隊知道」的經驗和規則:模塊地圖、踩坑規則庫、員工能力矩陣

這恰恰印證了前面的原則:提供 AI 不知道的上下文。

對照五種設計模式,這個 Skill 不是單一模式,而是四種模式的組合:

體現在哪
對應模式
四步嚴格按順序執行,上一步沒完成不進下一步
流水線型
(主模式)
模塊地圖、規則庫、能力矩陣作為 references 注入
知識注入型
七章報告模板寫死,AI 按模板填內容
模板生成型
AI 輸出前按自檢清單逐項檢查,不過不交
審查打分型

五種模式不是互斥的,而是可以組合的。

先用流水線定骨架,在關鍵環節嵌入知識注入、模板生成和審查打分,各司其職。

這可能是我發現的最好用的 Skill 開發路徑了。

四、Skill 開源

我將工時評估的完整 Skill 源碼開源了。

如果覺得有用,記得幫我點個Star,感謝~

地址: https://github.com/jaylpp/pandajay-skills

五、寫在最後

還記得開頭那組數字嗎?157 vs 71。

差距不是因為 AI 不行,而是沒人告訴它該怎麼做。

模塊地圖、踩坑規則、團隊能力矩陣。這些 AI 永遠猜不到的東西,才是 Skill 真正值錢的部分。

配圖24

Skill 填的不是技術的坑,是「理解」的坑。

你教給 AI 的每一條規則,都在縮小「它能做的」和「你想要的」之間的距離。

總之,這件事,越早開始,複利越大。

謝謝你看我的文章,如果覺得不錯,幫忙點贊、轉發、關注三連吧~

我是 🐼熊貓 Jay,我們下次再見~

往期精選:

最適合新手的 Claude Code、MCP、Skills 全套教程

從混亂到可控:我最受益的 10 個 AI 編程技巧(含提示詞)