Community程式設計與開發github.com

SebastienElet/agent-skills

使用 AssertLedger 驗證回歸測試。當要求檢查測試是否偵測到宣告的錯誤或重播 AssertLedger 證據時使用。即使未指名 AssertLedger,只要要求此驗證就務必使用此技能。排除例行 TDD、覆蓋率、一般程式碼審查及不支援的測試執行器。

agent-skills 是什麼?

此技能提供對 AssertLedger 驗證工作流程的完整支援,用於評估回歸測試候選版本在修正程式碼、宣告錯誤及中性對照組下的表現。它根據已發佈的 AssertLedger 1.4.0 文件實作,透過 `check` 命令執行 Git 驗證,並使用 `replay` 命令重現結果。技能會保留所有觀察結果、請求及操作錯誤,確保決策可追溯且一致。支援容器化執行(需經授權的映像摘要)及受信任的本機執行,但絕不允許混合模式或隱含取得執行權限。當操作員要求驗證回歸測試是否可偵測特定錯誤,或要求重播先前的 AssertLedger 證據時,應使用此技能。它專注於驗證工作,不取代例行 TDD、覆蓋率或一般程式碼審查。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SebastienElet/agent-skills/tree/HEAD/skills/assertledger

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

在你喜歡的 AI 中提問

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

說明文件

AssertLedger

概述

針對同一個回歸候選版本,評估其在修正後的程式碼、宣告的錯誤以及中性對照組下的表現。保留觀察結果,並在報告具界限的判決前,重現產生的紀錄清單。操作員需提供錯誤及對照組的意義;此工具不建立整體程式正確性、生產者真實性,或永久免除不穩定的測試。

此在地維護的工作流程遵循已發佈的 AssertLedger 1.4.0 文件。

使用方式

使用 $assertledger <儲存庫與回歸> 或 /assertledger <要重播的紀錄清單>。 例如:檢查已提交的同位檢查回歸測試是否能偵測所提供的錯誤修訂版本。 一般實作使用 tdd,當驗證機制本身改變時使用 proof-integrity-review。AssertLedger 驗證是一個額外要求的工作流程,而非全面的測試閘門。

透過主機宣告的工具安裝取得相容的 CLI;此技能本身在執行時不需要 dotfiles 檢出。如果缺少 CLI,應回報該先決條件,而不應隱含安裝套件或修改專案設定。

步驟

  1. 執行 assertledger --version 及 assertledger doctor /path/to/repository --json。此診斷是靜態且唯讀的。在規劃執行前檢查衝突與框架支援;偵測到測試指令並不代表轉接器能執行它。

  2. 對於 Git 驗證,需建立錯誤、修正及中性的已提交修訂版本、中性原因、候選路徑、不變的基礎測試路徑,以及相對於儲存庫的新輸出目錄。盡可能沿用已提供的事實;切勿發明缺少的控制語意。請查閱 Git 指南 了解資格條件:無依賴的 .js、.mjs 或 .cjs 檔案使用 node:test,不變的基礎測試,以及除了候選版本外相同的檔案路徑集合。本機未提交的變更將被忽略。

  3. 根據操作員的授權建立執行後端。容器執行需要操作員選擇一個已固定摘要的映像,該映像須存在於 Linux 守護行程上且包含 Node.js。受信任的本機執行為 UNSANDBOXED,需要針對該範圍的授權。絕不混合兩種模式,也不應從安裝或專案設定推斷執行權限。

  4. 使用實際建立的輸入執行所選指令。對於經授權的容器執行:

    assertledger check /path/to/repository --before BEFORE --after AFTER --neutral NEUTRAL --neutral-reason "已建立的對照組理由" --test tests/regression.test.js --base-test tests/base.test.js --out .assertledger/evidence-001 --container-image node@sha256:DIGEST --json
    

    對於經授權的受信任本機執行,將 --container-image node@sha256:DIGEST 替換為 --allow-unsafe-execution。在建立後端之前,請勿傳遞任一旗標。

  5. 保留指令的結束狀態、摘要、已執行的請求及紀錄清單。完整的輸出目錄應包含 manifest.json(最後發佈)。執行 assertledger replay /path/to/repository/.assertledger/evidence-001/manifest.json --json。 正向證據需要 decision.status: VERIFIED 且重播 valid: true;保留所有失敗的嘗試、對照組、原因代碼、執行限制及隔離事實。拒絕、無結論的觀察、操作錯誤或無效的重播均不能支援接受。

  6. 報告確切的錯誤、修訂版本、選定的候選版本、環境、產物位置及限制。對於拒絕,使用 assertledger explain CODE --json。重播檢查完整性與決策一致性,但不重新執行測試或驗證其生產者。當需要重現或獨立稽核時,請分別保留來源修訂版本、請求和原始日誌。

  7. 對於已提供版本的請求或受支援的 Bun 活動,請在使用 verify 或重播前閱讀對應的 參考資料。Bun 轉接器固定 Bun 1.4.2 並將來自 assertledger/bun assertSame 的失敗計入目標偵測;原生的 Bun expect 失敗不計為目標偵測。此較低層級的路徑不會延伸 Git check 指令的資格條件。

注意事項

  • 將 Git 驗證應用於 TypeScript/Bun 或 Rust — 靜態偵測可能看起來很有希望,但 check 無法執行候選版本;請保留現有的原生測試並報告限制。
  • 忽略儲存庫符號連結拒絕 — 移除連結或發明排除條件會改變已宣告的證據;請保留檢出狀態並報告 UNSUPPORTED_REPOSITORY_SYMLINK。只有操作員在檢查文件規則後才能宣告僅限本機的排除條件。
  • 重複使用證據目錄 — 輸出保留會失敗,而非覆蓋先前的活動;請選擇新的相對路徑並保留先前的證據。
  • 將當機計為偵測 — 逾時、編譯、探索與程序失敗均不能建立所聲稱的回歸;請檢查原因代碼並修正執行問題。
  • 自動執行客戶端設定 — connect --write 會安裝專案技能與 MCP 設定,建立此使用者技能的另一個發現副本;僅在要求的客戶端設定時預覽,並在寫入前解決重複問題。

限制

  • 絕不製造錯誤語意、中性理由、觀察結果或執行授權。
  • 絕不隱含初始化專案、註冊 MCP 伺服器、拉取映像或變更排除條件。
  • 絕不透過猜測的轉接器執行不支援的執行器,或削弱政策以獲得接受。
  • 絕不將重播有效性視為實際執行、真實性或一般正確性的證明。
  • 絕不丟棄失敗的觀察結果、隱藏不完整的輸出,或將示範視為儲存庫證據。
  • 保留原生測試與 CI 需求;此技能既不取代它們,也不授權合併。

Individual skills in this repo

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

相關技能