每個寫過後端的人,硬碟某處都躺著一個會員系統。

註冊、登入、忘記密碼、寄驗證信、權限分級、改密碼、登出、會員資料 CRUD。你寫過一次,下個專案又寫一次,再下個專案還是得寫一次。每次都告訴自己「這次要寫成可以複用的」,每次都因為這專案的需求差那麼一點點,最後又從頭刻。十年下來,你大概把同一套東西寫了幾十遍,每一遍都沒比上一遍聰明多少。

這就是 member-system-cc-skills 想戳破的那個荒謬:一件你已經做到閉著眼睛都會的事,你還在一個字一個字地重打。

以前,你是這樣建會員系統的

開一個 Spring Initializr,勾一堆 starter,下載 zip 解壓縮。建 package 結構,entityrepositoryservicecontroller 一層層補。寫 User entity,欄位想半天,密碼欄位記得要存 hash 不是明碼。接 Spring Security,被那串 filter chain 設定折磨兩小時,登入終於通了。再寫忘記密碼流程,要產 token、要設過期、要寄信——SMTP 設定又卡你半天。

寫到第三天,你連測試都還沒補。

更慘的是,這整套流程裡,真正屬於「你這個專案」的東西可能不到一成。剩下九成,是任何一個會員系統都長一樣的骨架。你花了三天,九成的時間在重建輪子,一成的時間在做你真正該做的事。

現在,你是這樣建會員系統的

1
2
3
4
5
mkdir my-member-site && cd my-member-site
claude
/springboot-welcome # 選語言、檢查工具
/springboot-setup # 回答幾個問題,產生 .spring-config.json
/springboot-scaffold # 骨架長出來

然後一路 /springboot-auth/springboot-member、往下接。每下一個指令,Claude 就讀對應的 SKILL.md,動態長出那一塊的 migration、entity、repository、service、controller、Thymeleaf 樣板,連測試和 git commit 都幫你做完。

這套 repo 最反直覺的地方在這裡:它裡面一行 Java 都沒有。 27 個 skill,每一個就是一份 SKILL.md,內容全是寫給 Claude 的指令。它不給你程式碼模板,它給你「生成程式碼的方法」。作者自己的形容很傳神——把它想成一個資深工程師坐你旁邊,一邊幫你實作、一邊跟你解釋他在幹嘛。

如果硬要類比,它像一台「會自己長肉的 Spring Initializr」。Spring Initializr 給你一具骨架就停了,剩下的肉你自己長。這套東西是你說一句,它幫你長一塊,從身分驗證、會員管理、檔案上傳、全文搜尋,一路長到能部署上 Cloud Run。

真正聰明的不是「會生 code」,是那個 JSON

光是「能生程式碼」其實不稀奇,你對著 ChatGPT 喊也能生。這套東西真正講究的地方,藏在一個不起眼的檔案:.spring-config.json

27 個 skill 之間靠這個檔案對話。它記著你的 base package、語言偏好、已經裝了哪些模組。每個 skill 啟動時第一件事,是去讀這個檔,檢查前置需求有沒有滿足——你還沒跑身分驗證就想裝會員管理?它會先擋下來告訴你缺什麼。裝完一個模組,它再把這個模組註冊回 JSON 裡。

這招解掉的,是 AI 生成程式碼最讓人頭痛的老問題:失憶。你跟 AI 來回對話生一個大系統,生到第十輪它早就忘了第三輪那個 package 叫什麼、欄位怎麼命名,於是前後兜不起來。這套東西等於給 AI 外掛了一本帳本——狀態不存在 Claude 的記憶裡,存在硬碟上那個 JSON。每個 skill 都是無狀態的,要用到的脈絡,現查現拿。

這個設計,比那 27 個 skill 本身更值得抄。你想寫自己的 Claude Code skill,「用一個共享 JSON 管狀態」加上「每步先做前置檢查」這兩招,幾乎可以套到任何多步驟的生成流程上。

但你先別急著 clone

講了這麼多它的好,得誠實把另一面也攤開——這套東西我還沒實際從頭跑過一輪,下面是讀它的文件和審查報告整理出來的,不是我自己踩出來的經驗。

第一個雷在技術棧。它鎖死在 Spring Boot + Kotlin + PostgreSQL + Cloud Run。注意是 Kotlin 不是 Java,是 PostgreSQL 不是 MySQL,部署只認 Google Cloud Run。你要是 Java + MySQL + 自架的組合,這套直接跟你無緣。

第二個雷更該知道:它的 REVIEW.md 自己記了 30 個 issue,其中 10 個是 Critical。最致命的一個是 Flyway migration 的命名格式錯了——有 8 個 skill 把版本號寫成 V_mail__ 而不是 V1__,這種錯會讓你的應用直接啟動失敗。還有些 service 方法被呼叫卻沒定義。所以它比較像一份「設計得很好、但還沒完工」的參考實作,不是拿來就能上正式環境的東西。clone 之前,先把 REVIEW.md 讀一遍,不然你會在啟動失敗的紅字裡耗掉一個下午。

它真正改變的,不是你少打幾行字

回到最開頭那個躺在硬碟裡的會員系統。

這套工具最有意思的,不是幫你省了三天,是它逼你重新想一個問題:你過去那幾十次「從頭刻會員系統」,到底是在創造價值,還是只是在付一筆每次都得重付的稅?

答案很清楚。會員系統第一百次寫,跟第一次寫,沒有任何一個決策變得更聰明——你只是更熟練地重複而已。而熟練地重複一件沒有變化的事,正是該交出去的那種工作。把這塊外包出去,省下來的不是三天工時,是你那三天的腦力,可以拿去想那真正屬於你這個專案、別人沒辦法替你想的那一成。

工具會不會生出完美的 code,其實是其次。它先幫你看清楚的是:你手上有多少時間,其實一直花在重建那些早就不該由你重建的東西上。

原始來源:member-system-cc-skills(GitHub)、repo 內附的 REVIEW.md 品質審查報告