跳到正文
cccskills
免费在 GitHub 公开

run-tests

Run Openwork end-to-end tests, which verify complete user journeys, locally or on Daytona. Check the exact commit and runtime, investigate failures or skipped tests, and report results with commands, counts, and an explicit overall verdict.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Run the tests, run one spec, run e2e locally or on Daytona, investigate a skipped spec. Use for executing @openwork/testkit agent-first verification.

集成工具MySQL
查看安装方法

适用场景

  • Running a single end-to-end test
  • Verifying the exact commit intended for a PR
  • Investigating skipped tests and missing prerequisites
  • Checking behavior on the runtime used in production

包含的文件(1)

  • SKILL.md3.7 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Skill: Run Tests

Run the landable tree

  • Check out the exact PR head that will land. After any rebase or cherry-pick, discard the old verdict and run again.
  • Run one test at a time so each failure and ambient test evidence has one owner.

Choose the execution environment

pnpm evals:e2e <slug>

The CLI prints the placement and reason; copy that line into the report. Use --local only when the user asks for local. --daytona requires Daytona. Never switch lanes to turn a red Daytona run green.

Know what each placement runs before reading a verdict:

  • Daytona (the default when the daytona CLI is logged in) builds OPENWORK_EVAL_REF, which defaults to dev, not your working tree. To test a branch, push it and export OPENWORK_EVAL_REF=$(git rev-parse HEAD); add --strict-ref so a mismatch fails instead of warning.
  • --local runs your working tree. A spec whose world uses appWeb stays in headless Chrome. A spec whose world uses desktop (seed.desktop, app()) opens an Electron window that takes focus on this computer; run those on Daytona unless the user asks for a local window.

Run the core journey

The test every PR runs. Its world is a Freestyle VM, so this needs only the evals install and the Freestyle key:

FREESTYLE_API_KEY="$(infisical secrets get FREESTYLE_API_KEY --env dev --path /openwork-ops --plain --silent)" \
  node evals/bin/evals.mjs core/core-chat.e2e.test.ts --local --engine v1 --surface web

It runs against the pushed HEAD commit; push first. After changing the world itself, run node evals/scripts/check-freestyle-world.ts --base <sha> instead.

Prepare local fallback

pnpm --filter @openwork/types build
pnpm --filter @openwork-ee/den-db build
pnpm --filter @openwork/email build
pnpm dev:den:mysql
  • Local server() requires MySQL at 127.0.0.1:3306.
  • Build those workspace dependencies before local Den; otherwise den-api imports can fail.
  • If the checkout path contains spaces, set OPENWORK_EVAL_SURFACES_DIR to a space-free path before E2E tests. node-gyp and electron-rebuild require it.
  • Local Electron profiles, and the electron.log inside them, are removed when a journey ends. Set OPENWORK_EVAL_SURFACE_LOGS_DIR to a directory outside the surfaces directory to keep a copy of each log; the packaged smoke does.

Choose one lane

  • Run one app/Den-driving E2E test:
pnpm evals:e2e <name>
  • The CLI owns placement and prints placement: <daytona|local> (<reason>).

Match the runtime

Check what runtime the changed code ships on before trusting a green run. apps/server runs on Bun in evals; Desktop runs that same code on Electron's Node (undici). If the change touches fetch, streams, signals, GC, or timers, run it on the shipping runtime too:

ELECTRON_RUN_AS_NODE=1 apps/desktop/node_modules/electron/dist/Electron.app/Contents/MacOS/Electron --expose-gc <script>

A green run on the wrong runtime is not evidence.

Read the verdict

  • Record the exact command, exit code, and passed/failed/skipped counts.
  • Report each skip as skipped — needs: X; never call it passed. A green command containing skips makes the overall verdict Incomplete.
  • Use Passed, Incomplete, or Failed for the overall result.

Iterate, then cold-boot

  • While iterating, reuse a warm Den with OPENWORK_EVAL_DEN_API_URL.
  • Before declaring Passed, remove the reuse override and cold-boot through server() on the same commit.
  • Inject secrets with infisical run --silent --; never print or echo values.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Manage OpenWork feature releases with feature flags, switches that control access to new behavior. Register features before coding, release them by organization and deployment, prepare a global shutdown option, and remove temporary flags after rollout.

中文简介正在准备中。当前显示英语简介。

  • Registering a feature before implementation
  • Releasing a feature to selected organizations
  • Separating cloud and self-hosted availability
different-ai/openwork2.4万2026年10月19日 更新

Connect OpenCode browser tools to a locally running OpenWork Electron app to inspect its UI, enter a task, and check the response. This skill supports exploration and debugging through CDP, Chrome's remote control protocol.

中文简介正在准备中。当前显示英语简介。

  • Connecting browser tools to a local Electron development app
  • Inspecting screen state during debugging
  • Entering a task in the composer and running it
different-ai/openwork2.4万2026年10月19日 更新

Check added lines in a change for information identifying customers, prospects, partners, or outside individuals. Report locations and generic remediation without reproducing identities, and escalate cases where the information is already public.

中文简介正在准备中。当前显示英语简介。

  • Checking changes for customer and partner identities
  • Reviewing documents and test data for identifying details
  • Reporting disclosure locations without repeating identities
different-ai/openwork2.4万2026年10月19日 更新

Connects supported AI clients, including Claude Code and Codex, to OpenWork through MCP, a protocol for accessing external tools. It guides account sign-in and verifies that tools for finding and running organization capabilities are available.

中文简介正在准备中。当前显示英语简介。

  • Connecting an AI client to OpenWork organization resources
  • Signing in and verifying available MCP tools
  • Switching organizations or troubleshooting authentication
different-ai/openwork2.4万2026年10月19日 更新

Review an outside contributor’s pull request before running its code. Identify concealed behavior, obfuscated code, risky dependencies, and build hooks, with file locations and specific checks for maintainers to follow up.

中文简介正在准备中。当前显示英语简介。

  • Screening an outside contributor’s pull request before execution
  • Checking encoded code and unexplained network calls
  • Reviewing dependency changes and installation scripts
different-ai/openwork2.4万2026年10月19日 更新

Create an OpenCode plugin for OpenWork with custom tools and hooks, which run code at specific events. The skill builds the plugin file and adds its entry to the project configuration.

中文简介正在准备中。当前显示英语简介。

  • Adding custom tools to OpenWork
  • Creating a plugin to save and list notes
  • Running custom code before or after tool execution
different-ai/openwork2.4万2026年10月19日 更新

查看 different-ai 的全部技能

报告此技能的问题