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

openclaw-docker-e2e-authoring

OpenClaw の Docker E2E テストおよびライブプロバイダ Docker レーンを作成・編集するためのスキルです。

openclaw-docker-e2e-authoring とは?

このスキルは、OpenClaw プロジェクトにおける Docker ベースの E2E (エンドツーエンド) テストレーンを作成・編集するためのガイドラインを提供します。主に決定論的 Docker テストとライブ Docker テストの2種類のレーンを扱い、それぞれのユースケースに応じた適切な選択方法を定義します。テスト補助コードの配置ルール、フェイクサーバーとクライアントアサーションの設計指針、画像や動画を含むメディアテストの注意点、`chat.send` エンドポイントの検証パターンなど、実践的なルールを網羅しています。また、変更後の検証手順として、フォーマットチェック、シンタックスチェック、ユニットテスト、実際のDocker テストの実行手順を定義しており、CI パイプラインにスムーズに統合できるよう設計されています。Claude Code や Cursor などの AI エージェントがこのスキルに従うことで、OpenClaw の Docker テストレーンを一貫性と品質を保ちながら効率的に開発できます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/.agents/skills/openclaw-docker-e2e-authoring

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

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

ドキュメント

OpenClaw Docker E2E オーサリング

このスキルは、Docker E2E レーン、リリースパスの Docker テスト、またはライブプロバイダ Docker 証明を追加・変更する際に使用します。

レーンの選択

  • 決定論的 Docker: 依存関係/サーバーをフェイクし、境界を越える正確なランタイムコントラクトをアサートします。
  • ライブ Docker: ユーザーから見える動作に実際のサービスが必要な場合にのみ、実際のプロバイダ認証情報/モデルを使用します。
  • 両方を推奨: 決定論的はバイト/ペイロードルーティングの証明に、ライブは実際のプロバイダ動作の証明に、それぞれ異なるリスクを検証します。

オーサリングルール

  • テスト専用ヘルパーは test/helpers または scripts/e2e/lib/<lane>/ に配置し、src/** には置かないでください(プロダクションがインポートする場合を除く)。
  • パッケージインストールされたアプリは /app から実行されます。マウントするのは明示的なハーネス/ヘルパーパスのみとし、読み取り専用にします。
  • フェイクサーバーは境界リクエストを JSONL としてログ出力し、クライアントは単なる処理成功ではなく、実際の依存関係ペイロードをアサートする必要があります。
  • 同じ変更内で、パッケージスクリプトと scripts/lib/docker-e2e-scenarios.mjs のレーンを追加してください。
  • レーンが npm からプラグインをインストールする場合、公開パスとローカルオーバーライドパスの両方をテスト可能にするため、環境変数で spec をデフォルト設定してください。

メディアとビジョン

  • 期待される回答は、テスト対象のピクセルまたはプロバイダ出力にのみ存在する必要があります。
  • ニュートラルなファイル名、ニュートラルなプロンプトを使用し、メタデータの漏洩を防いでください。
  • ランダムなビットマップ/OCR トークンは、テストがより強力なグリフセットを所有していない限り、リポジトリの OCR 安全アルファベット 24567ACEF を再利用します。
  • 実際の画像理解を証明する場合は、実行ごとに期待される回答を一意にしてください。

chat.send E2E

  • chat.send が status: "started" と文字列の runId を返すことを要求します。
  • agent.wait で完了を待ちます。
  • イベント順序がテスト対象の動作でない場合は、chat.history を介して最終的なユーザー可視テキストをアサートします。
  • 発信元のチャネル/アカウントメタデータは、バグパスがキューイングされたインバウンド/チャネルコンテキストを必要とする場合にのみ保持します。

検証

タッチしたレーンをカバーする最小の証明を実行します:

pnpm exec oxfmt --write <変更されたファイル>
node --check <新しい .mjs ファイル>
bash -n <新しい .sh ファイル>
node scripts/run-vitest.mjs test/scripts/docker-e2e-plan.test.ts
OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:<lane>

実プロバイダレーンの場合は、決定論的 Docker がグリーンになった後、対応するライブ Docker スクリプトを実行します。コミット/PR の前に $autoreview で終了してください。

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.

関連スキル