Community程式設計與開發github.com

vibe64-dev/seed-nextjs

在已啟用 Genesis 的程式碼庫中安全工作,使用其藍圖(Blueprint)、技術棧(Stack)、子系統程式(Program)、路徑導向的上下文和具體驗證。適用於包含 genesis/blueprint.md 的儲存庫中的實作或審查。

seed-nextjs 是什麼?

此技能專為使用 Genesis 編譯器的專案設計,提供結構化的開發和驗證工作流程。它引導 AI 代理程式在包含 `genesis/blueprint.md` 的儲存庫中進行實作、審查和維護。技能的核心是 `SKILL.md` 文件,其中定義了嚴格的規則,例如:執行 Genesis 指令前必先解析呼叫方式、在新專案中等待使用者確認產品方向再行動、以及明確的技術選擇協商流程。它支援任何與 Genesis 整合的專案,在 Claude Code、Cursor 等代理程式中運作,確保修改是基於已宣告的架構而非猜測。透過要求代理程式遵循藍圖、工程指南和技術棧定義,它減少了偏離架構的風險,並透過 `verify` 指令提供具體的驗證步驟。總體而言,此技能強制執行嚴謹、以文件為驅動的工作模式,非常適合需要嚴格遵循 Genesis 規範的專案。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/vibe64-dev/seed-nextjs/tree/HEAD/.agents/skills/genesis-project

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Genesis 專案工作

Genesis 是一個說明與驗證的夥伴。它不會取代 程式碼庫、測試、Git 審查或程式代理人。

建立新產品方向

對於藍圖尚未確立產品方向的新專案, 在使用者清楚說明正在建置的內容、誰或什麼會使用或呼叫它、 以及第一個可觀察的有用結果之前,請勿研究技術或建立原始碼。 僅詢問未解決的高衝擊問題。回覆僅確認其明確回答的內容; 技術棧確認並非產品意圖。

一旦產品方向明確,選擇一條最小的實作路徑, 通過選定的技術指南,或當目錄中沒有相符項目時, 參考權威的技術文件,並且只閱讀該路徑所需的內容。 不要調查替代方案、複製整個技術儲存庫、檢查不相關的套件內部、 或委派研究,除非一個具體的失敗需要一次精確的調查。

執行 Genesis 指令

在執行第一個 Genesis 操作之前,先解析呼叫方式。 不要使用 Genesis 操作或 genesis --version 作為可用性探測。

  1. 讀取儲存庫根目錄的 package.json。僅當該清單的 name 是 genesis-compiler,或其 dependencies、devDependencies 或 optionalDependencies 包含精確的 genesis-compiler 鍵時, 才將 Genesis 視為專案鎖定。
  2. 對於專案鎖定的儲存庫,使用 npm exec --no -- genesis <引數> 來呼叫每個 Genesis CLI 操作。這會在不擷取其他套件的情況下執行。 如果宣告的套件未安裝,請回報該專案的相依套件尚未準備就緒; 不要回退到另一個 Genesis 版本。
  3. 否則,不要嘗試 npm exec。執行 command -v genesis (或目前 shell 的等效 PATH 查找)。當它解析到一個可執行檔時, 直接呼叫 genesis <引數>。
  4. 當兩個來源都無法使用時,停止並回報 Genesis 不可用。 永遠不要僅為了滿足工作流程指示而安裝或更新 Genesis。

成功解析呼叫方式是常規操作。不要敘述 Genesis 是專案鎖定還是在 PATH 上, 並且永遠不要將直接使用 PATH 描述為回退。 僅在解析失敗或使用者明確詢問時,才提及呼叫方式的選擇過程。

對於面向使用者的更新,請遵循已設定的協作方法, 包括其技術深度和回應長度。回報具體的進度、 發現或阻礙;不要宣布您正在遵循指導。

解析明確的技術選擇

在進行外部技術研究或實作之前,當使用者明確指定一個 未選定的技術、框架、語言或資料庫時:

  1. 執行 Genesis stack list 操作作為第一個技術動作。
  2. 如果某個目錄元件完全符合此選擇,請詢問:「<技術> 可在 Genesis 中使用。 您是否希望我將其新增到此專案並使用其官方指南準備應用程式?」 在未獲得確認前,不要執行 stack add <piece...>。
  3. 如果獲得確認,新增該元件,讓 Genesis 套用其宣告的相依封閉包, 並同步該元件宣告的任何權威性 Agent 技能。在同一個任務中遵循 stack add 返回的準備提示:使每個具體化的專案契約成真, 或用有證據的現實取代完整的章節。然後執行 context ., 或一旦原始碼存在則執行相關的原始碼路徑,載入適用的已安裝技能(如果存在), 並遵循該技術擁有的指南來準備實際的專案相依套件。 永遠不要從元件 ID 推斷安裝指令。
  4. 如果被拒絕,繼續進行而不新增該元件或再次詢問。如果沒有目錄元件相符, 不要發明一個;正常繼續,使用該技術擁有的權威文件。

建立上下文

  1. 讀取 genesis/blueprint.md 以了解非技術性的產品意圖。
  2. 讀取 genesis/engineering.md 以了解選定的工程輪廓和任何 專案特定的需求。
  3. 讀取 genesis/stack.md 以了解選定的技術組成、資源、 和驗證指令。
  4. 定位請求中所涉及的原始碼。
  5. 在新增輔助或公開操作之前,執行 Genesis index <名稱或路徑> 操作。 當一個既有函式已擁有該行為時,重複使用它。
  6. 對於相關的程式解釋和選定的技術棧上下文, 執行 Genesis context <路徑...> 操作。
  7. 從 .agents/skills/ 或從代理人自己的已安裝技能目錄中, 載入適用的技術技能。

對於現有應用程式的首次技術棧選擇,在接受具體化的元件提案之前, 檢查其實際的設定、建置和輸出指令。 一個選定的元件描述其當前基礎;它不會默默地移植舊的原始碼。 當現有指令不同時,保持實作不變,並替換完整的 專案擁有的消費者操作(例如,主機的 ## Workspace setup 或 ## Outputs)。 Genesis 將這些章節視為不透明文字; 命名的消費者單獨擁有其意義和執行。在提案與原始碼匹配之前, 不要聲稱提議的配方是可用的。

程式(Program)是簡潔、可能出錯的說明。其來源和可選的 實作地圖有助於導航,但絕不能取代閱讀程式碼、測試和執行時期行為。

.genesis/machine-city.json 是一個衍生的詳細檔案/函式對應圖。 .genesis/program-city.json 是一個衍生的較簡單子系統/操作對應圖。 兩者都不是權威或證據;它們都被 git 忽略,並且可以使用 Genesis index 操作重新產生。

實作一般本地工作

  • 套用 Genesis 提供的有效工程方法。每個變更 必須易於推理,並且是滿足已知需求的最小目標實作。 不要過度工程化或複雜化,也不要新增投機的抽象層、 依賴項、基礎設施、相容性路徑、分散式模式、 加密或其他高階機制。
  • 當一個具體需求使得實質的複雜性成為必要時,在撰寫之前停下來。 解釋為什麼直接設計是不足的,以及提議的最小新增複雜性是什麼, 然後讓使用者批准或闡明權衡。 永遠不要默默地覆蓋工程方法。
  • 直接在當前的 Git 樹中工作,並讓有用的編輯在一般的 diff 中可見。
  • 當實作有意圖地改變可觀察的產品行為時,在同一個來回中 保持藍圖和受影響的程式模組對齊。 私有的重組可能只需要修正的來源或資訊性的實作地圖, 並且可能不需要編輯說明。當實作有意圖地改變相應的指令或 能力時,保持精確的消費者擁有的操作宣告(例如主機的 ## Outputs)對齊。 僅在該處記錄能力元資料和環境變數名稱, 永遠不要記錄值或機密;不要推斷或將該章節作為 Genesis 行為執行。 將 .genesis/ 視為可替換的衍生的導航資料,而非撰寫的產品意圖。
  • 遵循既有的專案和技術接縫,而不是建立平行的框架、 持久層、傳輸層、驗證器或 UI 系統。
  • 永遠不要發明不可用的外部資源值,或將文字的環境變數名稱 作為資料傳遞。回報缺失的資源並保留有用的工作。
  • 保持實作直接且內聚。在報告完成之前,套用任何提供的技術棧 變更後指導;它是此實作回合的一部分,不是對另一個代理人回合的請求。 在有用時執行重點檢查。

驗證與報告

在實作期間,選擇與變更相關的檢查。當專案的驗證政策或使用者的 請求要求時,在選定技術的工作區子系統存在後,透過 Genesis verify 執行技術棧宣告的最終檢查。完成一個項目或恢復一個工作階段 本身並不需要廣泛的驗證執行。將完整輸出保留在本地工件中, 保留退出狀態,並在展開日誌之前閱讀摘要和相關的失敗摘錄。 不要為了節省時間或令牌而削弱斷言或省略所需的覆蓋率。 一個未設定的結果意味著宣告的工作區或檢查尚不存在; 它不是一個失敗的檢查。在報告完成之前,將請求的可觀察行為、 所需的輸入和資源、宣告的專案操作以及重點證據與實際存在的內容進行比較。 報告已變更的檔案、實際執行的檢查、 任何未經證明的部分,以及任何仍需關注的事項。 永遠不要聲稱未執行的檢查已通過,或通過的檢查證明了整個產品。

子系統維護

當一個變更新增、移除或改變了子系統責任、程式成員資格或 資料擁有權/使用時,在同一個實作回合中維護 genesis/subsystems.md。 在變更相關程式碼之前,先閱讀該對應圖。重複使用現有的子系統, 除非有證據顯示一個不同的責任。每個子系統需要一個來源目錄, 並且每個程式模組只宣告一次;程式資料夾名稱不決定成員資格。 保持表格參考植根於綱要/遷移;Genesis 不會檢查資料庫。 當這些關聯保持不變時,私有輔助程式的變更不需要編輯對應圖。

如果 genesis/subsystems.md 缺失,或在一個現有的已說明應用程式中為空, 請在實作之前從實際的原始碼、綱要和現有程式建立它。 這是正常的說明性採用,不是阻礙或需要再次請求許可的理由。 保留現有的程式和原始碼;檢查相關的責任並完成最小的真實對應圖。 初始化可以建立空檔案,但只有代理人撰寫其意義。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相關技能