用于规划并执行 OpenClaw 插件发布前的全流程验证与兼容性测试
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "release-openclaw-plugin-testing" 技能: 1. 下载 https://raw.githubusercontent.com/openclaw/openclaw/main/.agents/skills/release-openclaw-plugin-testing/SKILL.md 2. 保存为 ~/.claude/skills/release-openclaw-plugin-testing/SKILL.md 3. 装好后重载技能,告诉我可以用了
请为 OpenClaw 插件发布前验证制定一份测试计划,覆盖 bundled plugins、package artifacts、lifecycle commands、doctor/fix、config round-trip、gateway startup、SDK compatibility、Docker E2E、Package Acceptance 和 Testbox proof,并按优先级、通过标准和执行顺序整理。
一份结构化测试计划,包含测试范围、执行顺序、通过标准与风险提示。
请把 OpenClaw 插件发布前验证拆解为可执行的自动化检查步骤,分别说明每一步的输入、命令、预期结果和失败后的排查建议,重点覆盖 doctor/fix、gateway startup、Docker E2E 和 SDK compatibility。
一套可落地的自动化验证步骤说明,可直接用于 CI 或发布流程。
我会提供 OpenClaw 插件各项预发布测试结果,请帮我汇总通过/失败情况,标记阻塞问题、兼容性风险和建议修复项,并给出是否允许发布的结论。输出请包含简洁摘要和详细结论。
一份发布就绪性评估报告,明确测试结论、风险等级与后续建议。
Use this skill when the user asks for plugin release confidence, plugin lifecycle
sweeps, package-artifact plugin proof, or "what else should we test before
release?" It complements openclaw-testing; use that skill too when choosing
the cheapest safe runner or debugging a failing lane.
Prove the plugin system as a product surface, not just as source tests:
HOMEFrom the OpenClaw repo root:
pnpm docs:list
git status --short --branch
readlink node_modules
pnpm changed:lanes --json
In Codex worktrees under .codex/worktrees, node_modules must be a symlink to
the main OpenClaw checkout. Do not run pnpm install there. For broad or
package-heavy proof, use Blacksmith Testbox or GitHub Actions.
Prefer this order:
ci-build-artifacts-testbox.yml Testbox when Docker/package lanes need
seeded dist, dist-runtime, and package caches.ci-check-testbox.yml Testbox for source checks, targeted Vitest,
package-boundary checks, or focused Docker lanes.Avoid long package Docker runs from a stale sparse worktree. If Testbox sync
reports hundreds of changed files or starts deleting package inputs, stop and
warm a fresh box from current main, or switch to Package Acceptance.
Run or verify these before inventing new coverage:
OPENCLAW_TESTBOX=1 pnpm check:changed
pnpm run test:extensions:package-boundary:canary
pnpm run test:extensions:package-boundary:compile
pnpm test:docker:plugins
OPENCLAW_PLUGINS_E2E_CLAWHUB=0 pnpm test:docker:plugins
pnpm test:docker:plugin-update
pnpm test:docker:bundled-channel-deps:fast
For full bundled install/uninstall proof, shard the packaged sweep:
OPENCLAW_BUNDLED_PLUGIN_SWEEP_TOTAL=8 \
OPENCLAW_BUNDLED_PLUGIN_SWEEP_INDEX=<0-7> \
pnpm test:docker:bundled-plugin-install-uninstall
Expected current packaged scope: 116 public bundled plugins over shards 0-7.
Private QA plugins are source-mode only unless a package explicitly includes
them.
Use this matrix for pre-release signoff. Record pass/fail, run URL/Testbox ID, package SHA/version, and skipped-live reason.
| Surface | Proof | Preferred runner |
|---|---|---|
| Package artifact | Package Acceptance suite_profile=package or custom lanes | GitHub Actions |
| Bundled lifecycle | 8-shard test:docker:bundled-plugin-install-uninstall | Testbox or release Docker |
| External plugins | test:docker:plugins and plugins-offline | Testbox/package acceptance |
| Update no-op | test:docker:plugin-update | Testbox/package acceptance |
| Channel runtime deps | test:docker:bundled-channel-deps:fast plus key channels | Testbox/package acceptance |
| Doctor/fix | seeded bad configs + doctor --fix --non-interactive | new Docker/Testbox harness |
| Config round-trip | config set/get, inspect, doctor, reload, diff hash | new Docker/Testbox harness |
| Gateway bootstrap | clean HOME, plugin groups enabled/disabled, status JSON | new Docker/Testbox harness |
| SDK compatibility | directory, tgz, and file: external plugins using SDK subpaths | test:docker:plugins plus new smoke |
| Live-ish | redacted provider/channel probes only for present env | Testbox live lanes |
Use this when validating a release branch, beta, or candidate package:
…
帮助团队检索重复的 PR 与问题单,并自动分组同步重复状态。