Explore Feature E2E Test
comet-ml/opik
Turns a code change into one committed, passing Playwright end-to-end spec by resolving the change scope and handing authoring to a companion skill.
Runs Cherry Studio's critical-path regression suite as deterministic Playwright E2E tests through a GitHub workflow on macOS and Windows runners.
$ npx skills add CherryHQ/cherry-studio --skill cherry-regression-test -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install CherryHQ/cherry-studio cherry-regression-test --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/CherryHQ/cherry-studio.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/cherry-regression-test .claude/skills/cherry-regression-test && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "cherry-regression-test" agent skill from https://github.com/CherryHQ/cherry-studio/tree/main/.agents/skills/cherry-regression-test into .claude/skills/cherry-regression-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cherry-regression-test", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/CherryHQ/cherry-studio/tree/main/.agents/skills/cherry-regression-testType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add CherryHQ/cherry-studio --skill cherry-regression-test -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install CherryHQ/cherry-studio cherry-regression-test --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CherryHQ/cherry-studio.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/cherry-regression-test .agents/skills/cherry-regression-test && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cherry-regression-test" agent skill from https://github.com/CherryHQ/cherry-studio/tree/main/.agents/skills/cherry-regression-test into .agents/skills/cherry-regression-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cherry-regression-test", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add CherryHQ/cherry-studio --skill cherry-regression-test -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install CherryHQ/cherry-studio cherry-regression-test --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CherryHQ/cherry-studio.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/cherry-regression-test .cursor/skills/cherry-regression-test && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cherry-regression-test" agent skill from https://github.com/CherryHQ/cherry-studio/tree/main/.agents/skills/cherry-regression-test into .cursor/skills/cherry-regression-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cherry-regression-test", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/CherryHQ/cherry-studio.git --path .agents/skills/cherry-regression-test--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add CherryHQ/cherry-studio --skill cherry-regression-test -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install CherryHQ/cherry-studio cherry-regression-test --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CherryHQ/cherry-studio.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/cherry-regression-test .gemini/skills/cherry-regression-test && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cherry-regression-test" agent skill from https://github.com/CherryHQ/cherry-studio/tree/main/.agents/skills/cherry-regression-test into .gemini/skills/cherry-regression-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cherry-regression-test", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install CherryHQ/cherry-studio cherry-regression-testInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add CherryHQ/cherry-studio --skill cherry-regression-test -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/CherryHQ/cherry-studio.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/cherry-regression-test .github/skills/cherry-regression-test && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cherry-regression-test" agent skill from https://github.com/CherryHQ/cherry-studio/tree/main/.agents/skills/cherry-regression-test into .github/skills/cherry-regression-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cherry-regression-test", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add CherryHQ/cherry-studio --skill cherry-regression-test -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install CherryHQ/cherry-studio cherry-regression-test --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CherryHQ/cherry-studio.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/cherry-regression-test .opencode/skills/cherry-regression-test && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cherry-regression-test" agent skill from https://github.com/CherryHQ/cherry-studio/tree/main/.agents/skills/cherry-regression-test into .opencode/skills/cherry-regression-test/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cherry-regression-test", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cherry-regression-testRuns Cherry Studio's critical-path regression suite as deterministic Playwright E2E tests through a GitHub workflow on macOS and Windows runners.
The suite drives one Electron process of Cherry Studio per platform with Playwright, covering chat, agents, MCP, skills, knowledge bases, translation, image generation and code tools. An LLM test agent does not control the run. The entry point is the `e2e-regression-test.yml` workflow, which resolves a trusted branch or tag, uses an isolated runner directory, installs the app and the code tools, runs ten test files from simple to complex, keeps going after a failed phase, then produces English per-platform and aggregate reports and enforces the verdict.
Rules forbid adding an LLM tool loop, an MCP control server, a turn limit or a second Electron launch per test, with restarts only where a case verifies persistence or switches profiles. The workflow reads repository variables and secrets for custom chat and embedding providers and a CherryIN account, and credentials must never be printed, written to fixtures or attached to artifacts. Contributors read the scenario and controller READMEs before changing cases, which are registered from a manifest.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c97c23c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pnpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
CHERRY_TEST_CUSTOM_PROVIDER_API_KEYCHERRY_TEST_CUSTOM_PROVIDER_EMBEDDING_API_KEYCHERRY_TEST_CHERRYIN_PASSWORDFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Cherry Studio Regression Tests loads about 1.2k tokens when it runs. Until then it costs about 75 tokens; SKILL.md has 476 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from CherryHQ/cherry-studio at commit c97c23c, republished under its AGPL-3.0 licence (© CherryHQ). 476 words, ~1,189 tokens.
.claude/skills/cherry-regression-test/SKILL.md (or your agent's skills folder).Run deterministic Playwright E2E tests against one driver-owned Cherry Studio process per platform. The tested product includes Chat, Agents, MCP, Skills, knowledge bases, translation, image generation, and code tools; an LLM test agent does not control the test run.
Use .github/workflows/e2e-regression-test.yml as the entry point. It:
tests/e2e/regression/ from simple to complex.Do not add an LLM tool loop, MCP control server, turn limit, or a second Electron launch for each test. A restart is allowed only where the case contract explicitly verifies persistence or switches from the clean startup profile to the authenticated shared profile.
The workflow reads these repository variables and secrets:
CHERRY_TEST_CUSTOM_PROVIDER_BASE_URLCHERRY_TEST_CUSTOM_PROVIDER_ANTHROPIC_BASE_URLCHERRY_TEST_CUSTOM_PROVIDER_API_KEYCHERRY_TEST_CUSTOM_PROVIDER_CHAT_MODELCHERRY_TEST_CUSTOM_PROVIDER_EMBEDDING_BASE_URLCHERRY_TEST_CUSTOM_PROVIDER_EMBEDDING_API_KEYCHERRY_TEST_CUSTOM_PROVIDER_EMBEDDING_MODELCHERRY_TEST_CHERRYIN_CHAT_MODELCHERRY_TEST_CHERRYIN_IMAGE_MODELCHERRY_TEST_CHERRYIN_ACCOUNTCHERRY_TEST_CHERRYIN_PASSWORDThe custom chat provider requires both URLs: CHERRY_TEST_CUSTOM_PROVIDER_BASE_URL
fills OpenAI, and CHERRY_TEST_CUSTOM_PROVIDER_ANTHROPIC_BASE_URL fills Anthropic.
Both endpoints share CHERRY_TEST_CUSTOM_PROVIDER_API_KEY.
Chat and embedding providers are independent. Never print literal credentials, write them to fixtures, attach them to Playwright artifacts, or pass them to an unrelated action.
Read scenario organization and the controller contract before making changes.
Register each case from the manifest:
test(...caseDefinition('S-01'), async ({ mainWindow }) => {
// Assert the user-visible outcome.
})cases.ts owns case IDs, titles, task tags, phases, and capability requirements.
The workflow accepts a task ID and delegates selection to the controller.
Prefer accessible roles, labels, placeholders, test IDs,
and visible text. Native dialogs and cross-application interactions must use
the repository-owned helpers in systemAutomation.ts.
Record assertions in Playwright, not prose. The custom reporter writes case and phase
status into run.json and feeds the English Markdown/JUnit reports. The fixture
saves failure screenshots. Executor errors and interrupted phases block a passing verdict. Do not enable Playwright Trace for credential-bearing
tests because action parameters can expose secrets. A passing result does not
depend on a model's judgment.
With an initialized run directory and its owned Electron process running:
pnpm exec tsx scripts/e2e/regression/cli.ts run-phase \
--run-dir /absolute/run-directory --phase 02-basic-featuresThe task selected when initializing the run determines which cases execute.
For a Notes-only run, initialize with --task notes. Enumeration is read-only:
set CHERRY_TEST_RUN_DIR to an absolute path, but no initialized run directory
or running Electron process is required because --list does not execute fixtures.
CHERRY_TEST_RUN_DIR=/tmp/cherry-regression-list pnpm test:e2e:regression --listDo not call the regression cleanup command for an Electron instance owned by
cherry-electron-dev; cleanup is only for an app record created by this driver.
Run the focused script suite and enumerate Playwright cases:
pnpm exec vitest run --project scripts scripts/e2e/regression
CHERRY_TEST_RUN_DIR=/tmp/cherry-regression-list \
pnpm test:e2e:regression --list
pnpm typecheck:e2e
pnpm test:lintDo not use pnpm test or pnpm build:check for this focused workflow change.
© CherryHQ, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/cherry-regression-test of CherryHQ/cherry-studio.
Open the folder on GitHubat commit c97c23c
Cherry Studio Regression Tests next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cherry Studio Regression Tests this skillCherryHQ/cherry-studio | 52k | — | ~1.2k | Automated safety check: Pass | AGPL-3.0 | |
| Explore Feature E2E Testcomet-ml/opik | 22k | — | ~3.4k | Automated safety check: Pass | Apache-2.0 | |
| Kane CLI Browser TestingLambdaTest/kane-cli | 247 | — | ~8.4k | Automated safety check: Pass | Apache-2.0 | |
| Hydra Devstreamband/hydra-srt | 146 | — | ~995 | Automated safety check: Pass | Apache-2.0 | |
| Michel Packmind Engineer ReviewPackmindHub/packmind | 317 | — | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| Record E2E Giflablup/backend.ai-webui | 133 | — | ~907 | Automated safety check: Notes | LGPL-3.0 |
comet-ml/opik
Turns a code change into one committed, passing Playwright end-to-end spec by resolving the change scope and handing authoring to a companion skill.
LambdaTest/kane-cli
Drives a real browser through the kane-cli tool and designs requirement-linked test suites from a PRD or a plain description, with mobile and cloud-grid runs.
streamband/hydra-srt
Run HydraSRT development workflows: mix q quality gate, Elixir unit/E2E tests, native Rust tests, web Vitest/Playwright, and make dev.
PackmindHub/packmind
Review an implemented GitHub issue the way a senior Packmind engineer would — the human-judgment checks that ESLint, the TypeScript compiler, and e2e tests cannot catch (authorization scoping…
lablup/backend.ai-webui
Record Playwright e2e tests as one GIF per test case (video → ffmpeg palette GIF) and return a markdown table for a PR description.
hmislk/hmis
Run a GitHub issue through its full lifecycle end-to-end: investigate, discuss the approach, gather test context (department/data), implement, rebuild + local redeploy, verify with Playwright and…
CherryHQ/cherry-studio
Derives new files from a selected part of a spreadsheet, Word document, PDF or slide deck, such as a cell range, paragraph, page or slide, without ever modifying the source file.
CherryHQ/cherry-studio
Creates GitHub issues for the current repository by choosing the matching issue template and following its format, with a permission check for engineering tasks.
CherryHQ/cherry-studio
Delegates one bounded repository task to Kimi Code in non-interactive prompt mode and reads back the final result from its JSON event stream.
CherryHQ/cherry-studio
Reviews Cherry Studio branches, pull requests, commits, files and docs against the project's own architecture, naming, API-boundary and UI rules, report-only by default.
CherryHQ/cherry-studio
Runs the Antigravity CLI headlessly with the agy command to analyze a repository or carry out a coding task, then checks its JSON result and the diff.
CherryHQ/cherry-studio
Creates or updates GitHub pull requests by reading the repository's PR template, filling every section and picking the right base branch under its release rules.
Works with
Categories
Runs Cherry Studio's critical-path regression suite as deterministic Playwright E2E tests through a GitHub workflow on macOS and Windows runners. The suite drives one Electron process of Cherry Studio per platform with Playwright, covering chat, agents, MCP, skills, knowledge bases, translation, image generation and code tools. An LLM test agent does not control the run.
Cherry Studio Regression Tests fits situations like: running the full regression suite before a release; validating a development branch on macOS and Windows runners; adding or changing a regression case in tests/e2e/regression; running a named cherry-regression-test task.
Run `npx skills add CherryHQ/cherry-studio --skill cherry-regression-test -a claude-code`. Or copy the skill folder (.agents/skills/cherry-regression-test in CherryHQ/cherry-studio) into .claude/skills/cherry-regression-test in your project. Claude Code loads it when a task matches its description.
Run `npx skills add CherryHQ/cherry-studio --skill cherry-regression-test -a codex`. Or copy the skill folder (.agents/skills/cherry-regression-test in CherryHQ/cherry-studio) into .agents/skills/cherry-regression-test in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add CherryHQ/cherry-studio --skill cherry-regression-test -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cherry-regression-test, .gemini/skills/cherry-regression-test, .github/skills/cherry-regression-test and .opencode/skills/cherry-regression-test in your project.
Going by SKILL.md and its folder, Cherry Studio Regression Tests needs the command-line tools its instructions call (pnpm) and credentials named CHERRY_TEST_CUSTOM_PROVIDER_API_KEY, CHERRY_TEST_CUSTOM_PROVIDER_EMBEDDING_API_KEY and CHERRY_TEST_CHERRYIN_PASSWORD. Our summary lists: A GitHub repository with runners for macOS and Windows; Repository variables and secrets for the test providers.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Cherry Studio Regression Tests is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 4.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Cherry Studio Regression Tests: Explore Feature E2E Test (comet-ml/opik, 22k stars), Kane CLI Browser Testing (LambdaTest/kane-cli, 247 stars), Hydra Dev (streamband/hydra-srt, 146 stars) and Michel Packmind Engineer Review (PackmindHub/packmind, 317 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
CherryHQ (a GitHub organization) maintains it in CherryHQ/cherry-studio, which has 52,431 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 8, 2026.
Source: CherryHQ/cherry-studio on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.