Communityコーディング&開発github.com

openclaw-testing

OpenClaw のテスト/チェックを適切に選択し、失敗を診断し、環境依存やリリース証明をその所有者に振り分けます。

openclaw-testing とは?

OpenClaw Testing スキルは、開発者や CI が OpenClaw プロジェクトに対して適切なテスト・チェック戦略を選択し、失敗を診断し、環境依存やリリース証明を適切な所有者に振り分けるためのガイドラインを提供します。このスキルは主に PR CI での広範な証明、ローカルでのフォーカスされた証明、リモート証明(Crabox/Testbox)の使い分けを定義しています。また、CI 失敗時の診断手順、既存失敗と新規失敗の区別、ベースライン例外の取り扱い、テスト失敗に対する防御的な修正ポリシー(リトライや弱いアサーションで隠さない)など、厳格な品質管理を実現します。OpenClaw リポジトリの CI ワークフロー、ローカルテストコマンド、リモート証明環境と統合されており、エージェントはこのスキルに従って信頼性の高いテストプロセスを遂行できます。

対応✓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に質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

OpenClaw テスト

証明ポリシー

  • PR CI = デフォルトの広範な証明。 変更ビルド + フォーカステストが合格 → オープン ready PR。CI は広範なスイートを実行します。プレPRスイートの実行のために PR を遅らせることは決してありません。

  • 公開前のビルドが利用できない場合: 公開がすでに承認されており、 リモート容量が利用できず、ローカル実行が不適格な場合、欠落しているビルドと容量ギャップを正確に記録した ドラフト PR をプッシュ/オープンします。そのビルドを 正確なヘッド CI に延期します。ready またはマージの前にその成功を要求します。これにより 証明のタイミングのみが変更され、公開権限、ソースの信頼性、認証情報、 所有者の承認、またはマージゲートは変更されません。 自動 CI はドラフトをスキップします。信頼できるカノニカルブランチの場合は、既存の ci.yml 手動ディスパッチを target_ref をプッシュされた完全なヘッド SHA に設定して使用します (ghx workflow run ci.yml --repo openclaw/openclaw --ref main -f target_ref=<sha>)。 選択されたチェックアウト SHA と成功した build-artifacts ジョブが必要なビルドをカバーしていることを確認します。 CI の build:ci-artifacts は完全な宣言出力を省略します。カバーされていない証明は保留にします。 スキップされたジョブまたはワークフロー参照 SHA はビルド証明ではありません。 PR に実行結果をリンクし、通常の ready-PR CI とランディングゲートを使用します。 信頼できないソースはシークレットなしのルートを維持します。

  • PR の前に、狭く証明する: 影響を受けるテストを pnpm test <file> --maxWorkers=1、ターゲット型チェック、lint、フォーマットで実行。 依存関係と現在の ホスト容量が適格である場合、信頼できる境界のある作業にはローカル証明を優先します。ローカル実行はオプションです。フォーカスされたコマンドでも 大きなコンパイラグラフをロードしたり、ブロードレーンに拡大したりする可能性があります。

  • リモート証明は意図的に選択します。 PR CI をブロード証明に使用します。Crabox/Testbox は 高価なチェック、ビジーまたは不適格なローカルホスト、別の OS/デバイス、 ライブプロバイダー/チャネル、長時間 E2E、または重いベンチマークをカバーする場合があります。 コマンドの準備ができていて容量がすぐに許可される場合にのみ取得します。キューに入れられた場合、 タスク所有の割り当てのみを停止します。PR CI または安全なローカルスコープを使用します。カバーされていない プラットフォーム固有の証明は保留にします。ビジーなマシンに重い作業を強制したり、 プロバイダーを連鎖させたりしないでください。選択されたワークロードに対して証明された最小のプロファイルを使用します。

  • グリーンのためだけに再実行または再プッシュしないでください。 実際の失敗を修正します。利用可能な CI 失敗分類を読んでから red の原因を特定します。

  • 変更されたコントラクトを証明し、必要なゲートを完了し、終了します。変更された入力、失敗、または名前の付いた未解決のリスクに対してのみ拡大/繰り返します。

  • スコープ指定された AGENTS.md に従います。テストの作成/レビュー: 境界ガイド および test-audit を使用します。

証明を選択する

  • 影響を受けるコントラクトの証明を選択します。有効な証明を再利用します(変更された入力または欠落しているカバレッジがある場合は再実行)。ユーザー/ホストの制限内でワークフローの必要なゲートを完了します。未実行のチェックとギャップを報告します。可能な場合は実際のフローを通じてユーザー可視の動作を証明します。外部 API はライブコントラクト証明が必要です。分離されたモックゲートウェイハーネス = 有効なチャネル境界証明。ドキュメントのみ:ドキュメントの健全性チェックと git diff --check。

  • ランタイム欠陥:実際のエントリポイントを再現します。それと関連する兄弟を再実行します。

  • 信頼できるソース:pnpm changed:lanes --json、フォーカステスト + ターゲット型チェック/lint/フォーマット。pnpm check:changed = オプションのスマートローカルチェック。

  • 公開 SDK/プラグインコントラクト:代表的なコンシューマー、全プラグインスイープではない。

  • ビルド出力、遅延インポート、パッケージ境界:pnpm build または変更されたコントラクトをカバーするリポジトリ CI ビルドを含めます。カバーされていないパッケージング/プラットフォーム/宣言要件を記録します。完全なパッケージまたはリリースビルドが必要な場合でも、それらに一致する証明が必要です。

  • ワークフロー:git diff --check + pnpm check:workflows。

  • ドキュメントのみ:関連するドキュメント/リンク/フォーマットチェック + git diff --check。ランタイムテストは不要。

  • 必要に応じて参照:ローカルコマンド、 Crabox、OpenClaw リモート設定、 パッケージ/Docker 証明、 リリース CI、 プラグインリリースマトリックス、 Docker 作成、チャネルスキル/ Control UI E2E。

  • 分離されたモックゲートウェイハーネスは有効なチャネル境界証明であり、 ライブのギャップを報告します。可能な場合は実際のフローを通じてユーザー可視の動作を証明します。 外部 API はライブコントラクト証明が必要です。ライブチャネルまたはネイティブアプリの作業については、スコープ指定されたチャネル/プラットフォームガイドを参照してください。Telegram の主張には Test Server ユーザーボット証明と Convex リース認証情報が必要です。 プラットフォームの主張には実機エビデンスが必要です。macOS の権限証明には 安定した署名付きアプリが必要です。

  • リリース証明:candidate/Tooling SHA を保持します。公開権限を付与することは決してありません。

ソースと状態の境界

  • 信頼できないコントリビューター/フォークのコード、ラッパー、設定をローカルで実行しないでください。 シークレットなしのフォーク CI または Crabox を介したサニタイズされた直接 AWS を使用します。認証情報を注入した Testbox は絶対に使用しないでください。認証情報を使用した実行:レビュー後のメンテナー承認が必要です。信頼できないリースに認証情報を注入しないでください。
  • 分離された状態 + 空きポート。明示的なタスクごとの承認なしに、オペレーター Gateway/実際のデータを再起動、編集、またはテストしないでください。無関係なプロセスと共有依存関係のインストールを保持します。
  • 同時テスト/チェックコマンド:別々の OPENCLAW_VITEST_FS_MODULE_CACHE_PATH 値を使用するか、直列に実行します。チェックも Vitest を実行できます。リポジトリラッパーのみ、 生の Vitest は使用しません。準備されたリンクワークツリー:node scripts/run-vitest.mjs <file> --maxWorkers=1 は pnpm の調整を回避します。PR CI はブロードチェックを実行します。

CI 失敗

  • PR CI 失敗 → pnpm test:ci-failed <pr>。既存/新規/不明の分類を読みます。
  • 新しい失敗を修正します。不明を調査 → pnpm test:ci-failed <pr> --run を選択されたテストがローカルで合格するまで実行 → プッシュは1回。
  • --run は OPENCLAW_NODE_TEST_PLAN_CONTINUE_ON_FAILURE=1 を有効にします。選択された設定間で通常の失敗を収集し、インフラストラクチャの失敗は停止します。手動でのフォーカスされた再実行にも同じオプトインを使用します。
  • 既存の失敗:failure-table ランディングルール。一致するシグネチャ ≠ ジョブ名のみの属性。
  • グリーンを追いかけるために gh run rerun を使用しないでください。CI 修復のためにローカルフルスイートを実行しないでください。
  • 診断を正確な SHA + ジョブにバインドします。失敗したログを一度フェッチします。古い PR ロールアップよりも正確な実行/ジョブ状態を優先します。
  • 製品、ハーネス、インフラストラクチャ、認証情報、置き換えられた実行のキャンセルを区別します。スナップショットは macOS で合格/CI で失敗:再生成する前に Linux/Node バイトを再現します。

ベースラインおよび期待される失敗の例外

狭いベースライン、スナップショット、無視、および期待される失敗の例外は、各エントリがソースに対して検証され、PR がその理由を記録している場合にのみ実装者の判断となります(たとえば、ユーザーデータが正確なままである間にアップグレードスナップショット内のツール所有メタデータ)。実際の回帰やユーザーデータの変更を決して隠さないでください。包括的または未検証の例外は承認が必要です。正確な縮小のみのラチェット更新はメンテナンスです。修正 PR は、スカッシュ本文が理由を述べている場合、それ自体の正当化された正味回帰テスト行に対して、別の追跡される config/test-lines-allocations/<change>.txt レコードを追加できます。共有スカラーは変更しないでください。独立した許可がマージされるようにします。チェッカーは、実際の LF 成長に対する有効な上限成長を制限し、継承された負債を保持します。スカラーのみの調整を含むその他の引き上げは承認が必要です。コスト予算については、コスト予算を参照してください。

モジュールモックについては、フィクスチャコントラクトに従ってください。 分離アノテーションが既存のベースラインエントリを廃止する場合、アノテーションと対応するベースライン削除を一緒にコミットします。 --prune はチェックアウト全体をスキャンするため、完全なベースライン差分を検査します。 更新されたベースラインを --prune なしのガード実行で検証します。

テスト失敗ポリシー

  • 失敗 = 欠陥。限定された再現試行(最初に同じシャード順序)。 所有者を特定します。製品、フィクスチャ、共有状態、順序バグを修正します。
  • 証明された修正:回帰を追加します。該当する場合は別の所有者の修正を引用します。
  • 安全な修正を確立/完了できない場合:元の失敗、試行、証拠、不確実性を 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, Grok Build, 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.

関連スキル