這裡講的是一個產品功能從想法到上線的協作旅程。本專案的產品目標是 iOS/Android App,所以第 6 站由 /native-product-implementation 接棒。 Native App 端的元件交接包(規格書、原生零件庫、版本號)另看 native-app.html· 技術版全文(Markdown,在 repo 內閱讀):product-feature.md · 文件索引
ChipK 協作旅程

一個新功能,
從想法到上線的旅程

AI 負責動手做,人負責做決定。這頁帶你走一遍:一個產品想法如何變成可以點的原型,再交棒變成真正的產品。

設計師 PM RD 與 AI

出發前:地基已經打好了

這個地基是設計師帶著 AI 打的:先抽出設計系統(顏色、字體、間距的統一規格),再建好一整櫃現成元件(按鈕、卡片、列表……都放在 Storybook 裡)。之後元件庫要擴充、更新,也由設計師主導。

所以新功能不必從零開始畫——大部分畫面可以用現成元件組出來,長得就跟產品一樣。這也是為什麼下面的旅程可以走得很快。

為什麼是 Storybook?

旅程開始前,先講清楚這個「積木倉庫」在專案裡扮演的角色。

Storybook:元件的倉庫兼展示間

Storybook 是一個在瀏覽器裡打開的網頁,裡面放著產品的每一顆積木——按鈕、卡片、列表、到整個頁面。重點是:它們全都是真的程式碼,可以點、可以切換 hover、載入中、錯誤等各種狀態。在這個專案裡,「元件長什麼樣」以 Storybook 為準。

和 Figma 的分工

Figma

畫的是「圖」

適合發想、探索視覺方向。但圖不是產品——工程要照圖重寫一次,寫出來的和圖總有落差,於是永遠在來回校稿。

Storybook

放的是「真的元件」

設計師在這裡確認的,就是最後上線用的同一份程式碼——確認過就不會走樣。定案後的真相放這裡,Figma 繼續當發想的畫布。

和過去流程的差異

過去

每個功能重刻一次

設計師畫稿 → 工程照稿刻 → 來回校稿(「間距不對」「顏色跑掉」)→ 下個功能又重刻一次類似的按鈕和卡片,愈刻愈不一致。

現在

積木做一次,重複組裝

元件做好進倉庫 → 新功能用現成積木組 → 設計檢查的是「組得對不對」,不是「刻得像不像」。AI 也照同一批積木組,不會自己發明樣式。

共用積木的協作模式,靠三條規矩

  • 積木只有一份。設計師組原型、RD 做產品,拿的是同一個倉庫裡的同一批元件——所以原型和成品天生長得一樣。
  • 缺的積木先收編,再用。原型裡臨時做的新元件,經過第 4 站的收編決定才進倉庫;不允許各功能私刻自己的按鈕。
  • 顏色與間距不寫死。它們連著設計系統的 token——改一處,所有元件一起變,改版不用逐頁翻修。

換來的優勢

  • 組裝比重刻快,原型幾天內就能點
  • 一致同一顆按鈕不會有五種長相
  • 省溝通確認過的元件不必每次重新校稿
  • 改版便宜token 改一次,全產品一起生效
  • AI 好指揮AI 有明確的積木清單,不會自己發明樣式

兩個看倉庫的工具

倉庫大了就會有一個問題:我要的東西,裡面到底有沒有?這兩個工具就是來回答它的。打開 Storybook,左側選單的 Tools 分類下就是。

我手上有一張圖

Component Coverage Analyzer

上傳 UI 圖或貼上 PRD,AI 比對整個元件庫,回報哪些能直接用、哪些要改、哪些得新做。適合在旅程第 1 站用——還沒開始做原型,先知道要花多少工。

四步動線:送出請求(設計師或 PM 上傳圖)→ AI 分析工程師覆核(逐塊決定沿用/擴充/新做)→ 交接實作(把確認過的報告交給 AI)。

我想看全貌

Component Timeline

建立日期排序的元件預覽牆:倉庫裡有什麼、最近長出了什麼,一頁看完。適合盤點與對外說明——月報、跨部門簡報、新人上手都好用。

每張卡片直接載入該元件真正的 story,所以看到的永遠是最新樣子,不需要維護截圖。日期取自 git 首次加入該元件的那個 commit,不是人工填的。

它們怎麼接在這個專案上

  • 不必另外安裝。兩支都已經接進這個專案的 Storybook,npm run storybook 打開就在 Tools 分類下。
  • 元件的名稱與分類只有一份。兩支工具都即時讀 src/storybook/componentCatalog.ts——倉庫加了新元件、改了分類,工具跟著變,不用同步兩邊。
  • Timeline 的日期是算出來的。npm run build:component-timeline 從 git 歷史推算每顆元件的誕生日,寫進 src/storybook/componentTimeline.ts新增元件後要重跑一次;忘了也沒關係,npm run check 裡的 check:component-timeline 會在資料過期時擋下來。
  • Coverage 的請求與報告留在 repo 裡。落在 outputs/component-coverage/,所以覆核決策有紀錄可查;上傳與存檔走的是 dev 模式專用的 /__component-coverage API,正式站台不會有這個端點

提醒:Coverage Analyzer 的完整說明(PRD 怎麼寫、三色報告怎麼讀、決策語彙、疑難排解)在 docs/tools/component-coverage-analyzer.md;Component Timeline 的說明就在它自己 story 的 Docs 分頁。

PM設計師

把想法帶來

旅程從一個想法開始。你不需要準備完整的文件——一段描述、一份 PRD 草稿、或一張畫面截圖都可以當起點。第一步是把這個 Storybook 專案下載到自己的電腦(git clone),接下來整趟旅程都在你自己的副本裡進行。

提醒:Figma 設計稿在這條旅程裡是「參考資料」,不是必要條件。沒有設計稿也能出發。

設計師PM 必到

一起釐清:AI 問,你答

發起的人(設計師或 PM)在自己的專案副本裡啟動原型。AI 不會悶著頭猜,它會一次一題地問清楚,確定之後才動工。產品問題一定要 PM 回答——別人代答不了。

提醒:答不出來的問題可以先掛著,AI 會記成「待決事項」——但每一條之後都要有人回頭給答案。其中目標平台不能掛:答案會寫進說明書的 Target Surfaces,第 5 站接棒的 AI 靠它決定要動哪一個 App 專案、以及導覽要怎麼接。

你可以這樣對 AI 開口
用 /storybook-product-prototype 做一個『到價提醒設定』的原型。使用者從個股頁的鈴鐺圖示進來,目標平台是 app。有不清楚的地方一次一題問我。」 沒有 PRD 也能開始——AI 會用問答幫你把 PRD 長出來。
這是 PRD 草稿(貼上內容或給檔案位置)。用 /storybook-product-prototype 建原型,先列出你需要釐清的問題,再動工。」 已經有文件時,讓 AI 先消化、先提問,省掉來回。
打開『字級設定』原型,幫我補上『載入中』和『錯誤』兩個狀態,字級預覽改成拖動時即時生效。」 打磨階段直接用講的——AI 改原型時會同步更新交接文件。

背後的 AI 指令:/storybook-product-prototype

設計師AI 動手

長出可以點的原型

AI 用現成元件組出一個真的可以點的原型,放在 Storybook 裡:頁面之間可以跳轉、有假資料撐場面。同時,給下一棒的說明書也自動長好了(需求、畫面規格、流程圖、資料格式、驗收清單)。

提醒:原型用的是假資料,這是刻意的——先把「長什麼樣、怎麼流動」定下來,真資料是之後工程的事。

PM設計師RD

一起看 Demo,蓋章

團隊圍著 Storybook 把原型走一遍。這一站要做兩個決定,然後蓋章

沒問題了,就由一個真人在交接文件上把狀態改成 confirmed,寫下誰、什麼時候、看了哪個版本。AI 不能自己蓋這個章。蓋章之後如果又改了內容,就要重新看過、重新蓋。
PMRD 與 AI

交棒

交棒交的不是口頭說明,而是那包蓋過章的說明書。裡面的資訊完整到接棒的人(Production 端的 RD 或 AI)不用來問你就能開工。

交棒時可以這樣說
《到價提醒設定》原型已經 demo 確認,PRODUCTION_HANDOFF.md 是 confirmed。文件在 src/pages/prototypes/price-alert-prototype/docs/。目標是 iOS app,請用 /native-product-implementation 實作——產品問題找我,工程決策找(iOS RD 的名字)。」 交接訊息範本:文件位置+已蓋章+目標平台+誰回答什麼問題,四個要素齊了就能開工。
用 /native-product-implementation 接手 src/pages/prototypes/price-alert-prototype/docs/ 的交接文件。目標 repo 是(App 專案路徑),架構依那個 repo 的現況(SwiftUI/Compose、導覽框架、最低版本),不要自己換。要做決定的事來問我。」 給 AI 的開工指令:講清楚「哪一個原型的 docs」和「做到哪個 App 專案」,其他它會自己讀文件。
用 /native-product-implementation 接手 src/pages/prototypes/font-size-setting-prototype/docs/ 的交接文件。導覽對照表(FLOW_SPEC 的 Production Navigation Map)有空格就來問(Android RD 的名字),不要自己發明畫面。」 導覽是 App 最容易出錯的地方:哪一頁用 push、哪一頁用 modal,說明書填不滿就要問人,不能讓 AI 自己決定。
先讀完 docs/ 的七份文件,列出你的實作計畫、打算重用哪些現成元件、還有哪些沒答案的問題——先不要動工。」 保險做法:先看計畫再放行,是最省來回的方式。

背後的 AI 指令:/native-product-implementation(iOS/Android)。它讀的就是這包說明書,在 App 專案裡組出 SwiftUI/Compose 的畫面與導覽。

RD 與 AIPM 驗收

做成真的產品,驗收

Production 端的 RD 或 AI 照著說明書,把原型翻譯成真正的 App 程式碼——長在 Xcode/Android 專案裡,用的是該平台原生的畫面與導覽。這一站分兩棒:第一棒把畫面與流程組好(先用假資料跑通),第二棒才把假資料換成真的。做完各跑一輪自動檢查,長得不像的地方會用畫面比對工具抓出來。

提醒:看到成品跑著假資料,不是偷工減料——那是交接設計,真資料由工程接手才安全。

背後的 AI 指令:第二棒是 /production-data-integration,只動資料、不動畫面。

記住三個確認點就好

整條旅程只有三個地方需要「人」點頭。卡住的時候,通常就是卡在其中一個。

確認一

元件對不對

設計師確認原型用的元件、和畫面的長相。(第 3 站)

確認二

蓋章才交棒

Demo 看過、由真人改成 confirmed,才能交給下一棒。(第 4 站)

確認三

驗收才算完

畫面先用假資料走通,再由記名的第二棒接上真資料;PM 照驗收清單打勾才算完。(第 6 站)

出門前的備忘卡

每個角色只要記得自己這張。

設計師

  • 地基是你打的:抽設計系統、建元件庫(已完成,擴充也由你主導)
  • 也可以自己下載專案做原型(第 1–4 站)
  • 有 UI 圖先走 Coverage 快速通道;想看倉庫全貌用 Component Timeline
  • 第 3、4 站:確認元件和長相、決定收編
  • 遇到安裝、環境問題找 RD 支援

PM

  • 可以自己下載專案發起原型
  • 第 2 站一定要在場,準備三類答案
  • 第 4 站看 Demo、蓋章
  • 第 6 站照清單驗收
  • 第 2 站要定案做 iOS、Android 還是兩個都做
  • 原型和初版產品跑假資料是正常的

RD 與 Production AI

  • 沒蓋章的交接,退回不開工
  • 先確認 Target Surfaces 寫的平台,再用 /native-product-implementation 接棒
  • AI 接棒時指定一位 RD 陪跑
  • 先用假資料組好,接真資料是記名的第二棒
  • 技術細節看完整版指南(下方連結)

想看完整技術版?RD 與 AI 執行時的完整契約(指令、檔案路徑、檢查清單、已知問題)都在 docs/workflows/product-feature.md

背後用到的 AI 指令:/design-system-extractor(抽設計系統)與 /design-system-to-storybook(建元件庫)由設計師負責,已完成;/storybook-product-prototype(做原型)由設計師或 PM 在自己下載的專案裡使用;/native-product-implementation(做 iOS/Android App,本專案走這支)由 Production 端的 RD 或 AI 接手使用;最後 /production-data-integration(接真資料)由說明書記名的第二棒使用。

這些 AI 指令(skill)從哪裡來?正本在 GitHub harrychuang-cm/skills,每支一個資料夾(上面的指令名都可以點)。想知道「我這個情境該用哪一支、怎麼開口」,看 CM Skills 圖解指南:依情境挑、工具目錄、口令表。本專案用到哪些、怎麼安裝更新:docs/guides/skills.md