본문으로 건너뛰기
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(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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 / 1,000자

이 양식은 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월 18일 업데이트

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월 18일 업데이트

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월 18일 업데이트

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월 18일 업데이트

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월 18일 업데이트

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월 18일 업데이트

different-ai의 스킬 모두 보기

이 스킬의 문제 신고