Communitygithub.com

更新堆疊規格

根據工具的最新版本,自動檢查並提議更新 stack-spec.md,確保規格中的版本、發布日期與穩定性聲明皆與最新發行版本同步。

更新堆疊規格 是什麼?

此技能專注於自動化維護「堆疊規格」(stack-spec.md)文件,確保其中列出的每個工具版本、發布日期及穩定性聲明都與官方最新發行版本保持一致。當使用者要求更新堆疊規格,或其中某個工具(如 Astro、TypeScript、Tailwind CSS、Solid、Node.js、Vite、Biome、Vitest、Playwright、KaT)發布新主要版本時,即可啟用此技能。 技能會先盤點規格文件中所有相關版本資訊與「Revisit when」觸發條件,然後直接從 npm 註冊表、Nixpkgs unstable 分支、官方發布頁面及文件等主要來源進行比對。針對每個主要版本的新變更,它會完整閱讀變更日誌或遷移指南,並將變更分類為「事實」(可直接更新)、「原因」(更新原因文字)或「決策」(提議但不修改)。 最終,它會產生一份詳細報告,列出每個工具的當前版本、已更新的事實、已變更的原因、提議的決策及建議,並確保變更以結構化、紀律性的方式提交(使用 Jujutsu,每次提交主題明確,並簽署)。此技能支援 Claude Code、Cursor 等 AI 編碼代理,並嚴格遵守不直接修改決策、不重新編號章節、不透露使用站點的原則。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/flgrubm/website-stack/tree/HEAD/.claude/skills/update-stack-spec

在你喜歡的 AI 中提問

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

說明文件

更新堆疊規格 是做什麼的?

你更新事實(版本、日期、測量、來源)。你向作者提議決策並等待確認。若有指定參數,則只檢查指定的工具;否則檢查所有工具。

1. 盤點

從 stack-spec.md 列出:

  • 第 §2 節中每一行及其版本號;
  • 第 §3 和 §4 節中的所有版本、發布日期或穩定性聲明(例如「stable」、「release candidate」、「alpha」、「experimental」或工具旁的版本號碼);
  • 每個「Revisit when」的條件,作為待測試的觸發條件;
  • 文件標頭的版本日期。

2. 對照主要來源進行檢查

使用註冊表、發布說明、官方文件。絕不依賴記憶。

  • npm:使用 npm view <pkg> dist-tags time --json。當前版本 = 最新且已發布至少 14 天的版本;列出更年輕的發行版作為「即將發布」。
  • nixpkgs 工具(Node.js、Biome、nixfmt、Wrangler、Playwright 瀏覽器):使用 nix eval --raw nixpkgs#<pkg>.version 搭配 nixos-unstable,並參考該專案的發布頁面。
  • 平台功能(Cloudflare、瀏覽器支援):查閱官方文件頁面及其日期。

針對每個工具,記錄:規格中的版本號、當前版本,以及是否存在介於兩者之間的主要版本(或規格等待的版本)。

3. 分類每個變更

完整閱讀每個新主要版本的變更日誌或遷移指南,以及規格所依賴的文件。然後分類:

  • 事實(版本號、日期、套件數量):直接更新。
  • 原因(已修復的已知缺點、新引入的缺點):更新原因的敘述文字;並在報告中列出。
  • 決策(選擇本身、現在更好的替代方案、已觸發的「Revisit when」觸發條件):不要編輯。報告:變更內容、來源、選項及其成本、建議。等待確認。

4. 編輯

  • 保持規格的風格:簡潔、規則優先、原因隨後、使用 ISO 日期;將已變更的決策文字標記為「Amended <日期>: …」。
  • 新事實 → 在編號清單末尾新增來源,並標註「checked <日期>」。絕不重新編號來源;僅在沒有任何引用時才刪除來源。
  • 絕不重新編號章節。新主題成為其所屬章節的下一個子章節;請詢問作者該站點是否已使用該編號,並回報所選的編號。
  • 更新文件標頭的版本日期。
  • 不得提及任何使用此規格的站點、使用者或儲存庫。

5. 驗證與提交

  • 每個新變更或已變更的 URL 都必須能正常解析:使用 curl -sIL <url> 驗證。
  • 不得提及任何使用此規格的站點、使用者或儲存庫。
  • 使用 Jujutsu 進行簽署提交,每個主題一個提交(例如「記錄 Astro 8」、「提議 TypeScript 7」),提交訊息需說明變更內容、原因以及檢查過的來源。除非要求,否則不要推送。

6. 報告

針對每個工具,呈現:規格中的版本 → 當前版本。然後列出:已更新的事實、已更改的原因、提議的決策與建議、尚未超過 14 天的即將發布版本。

相關技能