Community程式設計與開發github.com

openclaw-testing

選擇合適的 OpenClaw 測試/檢查、診斷失敗原因,並將環境敏感或發布驗證問題轉交給相關負責人。

openclaw-testing 是什麼?

這個技能為 AI 代理提供了一套完整的 OpenClaw 測試選擇與故障診斷流程,特別適合用於 PR CI 和本地開發環境。它明確定義了「預設廣泛證明(PR CI)」與「有目標的狹窄證明(本地執行)」之間的取捨,並指導代理如何根據變更類型(如執行時期缺陷、公開 SDK 合約、建構輸出或文件更新)選擇最有效的測試命令。此外,技能強制要求「僅在真正修復後才推送,不為了綠燈而重新執行或重新推送」,這有助於維持 CI 的可靠性與開發紀律。在故障診斷方面,它提供了標準化步驟:使用 `pnpm test:ci-failed <pr>` 讀取失敗分類,區分既有失敗與新增失敗,並要求將診斷綁定到確切的 SHA 和工作階段,而不是模糊的 PR 狀態。技能同時處理環境邊界(如不信任未經審查的貢獻者程式碼、隔離狀態與連接埠、並行測試隔離)以及發布驗證(保留候選版本的 SHA、不授予發布權限),並引導代理參考相關的 SKILL.md 文件以進行更深入的測試撰寫與審查。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/.agents/skills/openclaw-testing

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

在你喜歡的 AI 中提問

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

說明文件

OpenClaw 測試

證明政策

  • PR CI = 預設廣泛證明。 變更建置 + 重點測試通過 → 開啟 準備好的 PR。CI 執行廣泛套件;絕不為了預先執行 PR 套件而延遲 PR。

  • 在 PR 之前,進行狹窄證明: 被觸及的測試使用 pnpm test <file> --maxWorkers=1,有目標的型別檢查、lint、格式化。 當依賴項與目前主機容量合格時,優先對可信任、有界限的工作使用本地證明。 本地執行是可選的:一個有焦點的命令仍可能載入大型編譯器圖形或擴展到廣泛的通道。

  • 審慎選擇遠端證明。 使用 PR CI 進行廣泛證明;Crabbox/Testbox 可用於涵蓋昂貴的檢查、忙碌或不合格的本地主機、另一個作業系統/裝置、 即時提供者/頻道、長時間的 E2E 或繁重的基準測試。僅在命令準備就緒且 容量被及時授予時才獲取。如果處於佇列中,僅停止任務擁有的分配;使用 PR CI 或安全的本地範圍。保持未涵蓋的平台特定證明待處理。絕不將繁重工作 強加到忙碌的機器上或鏈接提供者。使用為所選工作負載證明的最小設定檔。

  • 絕不為了綠燈而重新執行或重新推送。 修復真正的失敗;在將紅色歸因於 CI 之前,先閱讀可用的 CI 失敗分類。

  • 證明已變更的合約,完成必要的關卡,結束。僅針對變更的輸入、 失敗或已命名的未解決風險進行擴展/重複。

  • 遵循範圍限定的 AGENTS.md;撰寫/審查測試:使用 邊界指南 和測試稽核。

選擇證明方式

  • 執行時期缺陷:重現真正的進入點;重新執行它 + 相關的同級項目。

  • 可信任來源:pnpm changed:lanes --json,焦點測試 + 有目標的型別檢查/lint/格式化;pnpm check:changed = 可選的智慧本地檢查。

  • 公開 SDK/外掛合約:代表性消費者,而非所有外掛的全面掃描。

  • 建構輸出、延遲匯入、套件邊界:包含 pnpm build。

  • 工作流程:git diff --check + pnpm check:workflows。

  • 僅文件:相關的文件/連結/格式化檢查 + git diff --check;無執行時期測試。

  • 按需閱讀:本地命令, Crabbox,OpenClaw 遠端設定, 套件/Docker 證明, 發布 CI, 外掛發布矩陣, Docker 撰寫,頻道技能/ 控制 UI E2E。

  • Mock-Gateway 邊界證明有效;標記即時差距。

  • 發布證明:保留候選版本/Tooling SHA;從不授予發布權限。

來源與狀態邊界

  • 絕不在本地執行未經信任的貢獻者/分支程式碼、包裝器、設定。 使用無機密的 fork CI 或透過 Crabbox 清理後的直接 AWS;絕不使用 已注入憑證的 Testbox。憑證執行:需要維護者在審查後批准; 絕不為未經信任的租約注入憑證。
  • 隔離狀態 + 空閒連接埠。未經明確的任務批准,絕不重新啟動、編輯或測試 操作者 Gateway/真實資料。保留不相關的處理程序和 共享的依賴項安裝。
  • 並行的測試/檢查命令:使用不同的 OPENCLAW_VITEST_FS_MODULE_CACHE_PATH 值或序列執行;檢查也可以執行 Vitest。僅使用儲存庫包裝器, 絕不使用原始 Vitest。已準備好的連結工作樹:node scripts/check-changed.mjs 和 node scripts/run-vitest.mjs <file> --maxWorkers=1 避免 pnpm 調解。

CI 失敗

  • PR CI 失敗 → pnpm test:ci-failed <pr>;讀取既有/新增/未知分類。
  • 修復新增失敗;調查未知失敗 → pnpm test:ci-failed <pr> --run 直到選定的測試在本機通過 → 推送一次。
  • 既有失敗:失敗表降落規則。匹配簽章 ≠ 僅以作業名稱歸因。
  • 絕不執行 gh run rerun 來追求綠燈;絕不為 CI 修復執行本地完整套件。
  • 將診斷綁定到確切的 SHA + 作業。擷取失敗的日誌一次;優先使用確切的執行/作業 狀態,而非過時的 PR 摘要。
  • 區分產品、測試框架、基礎設施、憑證、被取代的執行 取消。快照在 macOS 通過 / CI 失敗:在重新產生之前,先在 Linux/Node 位元組層級重現。

測試失敗政策

  • 失敗 = 缺陷。有界限的重現嘗試(首先使用相同的測試分片順序); 識別負責人;修復產品、測試固定裝置、共享狀態、排序錯誤。
  • 已驗證的修復:添加回歸測試;如適用,引用另一個負責人的修復。
  • 無法建立/完成安全修復:在 PR 中記錄原始失敗、嘗試、 證據、不確定性;在正常的 CI/審查關卡下繼續。
  • 未解決的失敗本身既不會阻礙合併,也不需要額外的批准。 通過重新執行 ≠ 已驗證的修復。
  • 絕不透過重試、更長超時、更弱的斷言、更廣泛的模擬、 更改基準線來隱藏失敗。

Individual skills in this repo

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

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

相關技能