Agent skill

Cherry Studio Regression Tests

by CherryHQ in CherryHQ/cherry-studio

Runs Cherry Studio's critical-path regression suite as deterministic Playwright E2E tests through a GitHub workflow on macOS and Windows runners.

AGPL-3.0Auto-check passedTesting & QA

Install Cherry Studio Regression Tests

skills CLI
$ npx skills add CherryHQ/cherry-studio --skill cherry-regression-test -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install CherryHQ/cherry-studio cherry-regression-test --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
cherry-regression-test
GitHub stars
52k
Token cost
~1.2k tokens
SKILL.md length
476 words
Files
1
Skills in repo
30
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Runs Cherry Studio's critical-path regression suite as deterministic Playwright E2E tests through a GitHub workflow on macOS and Windows runners.

  • Works in 8 steps: Resolves a trusted branch or release tag. → Initializes an isolated directory under… → Installs the application and the code… → …
  • Running the full regression suite before a release
  • SKILL.md covers CI contract, Configuration, Test organization and Focused execution, plus 1 more section
  • Calls pnpm; needs CHERRY_TEST_CUSTOM_PROVIDER_API_KEY and CHERRY_TEST_CUSTOM_PROVIDER_EMBEDDING_API_KEY

What it does

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.

When your agent uses it

  • 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

Example prompts

  • “Run the Cherry Studio regression workflow against the release candidate tag.”
  • “Add a regression case for knowledge base import following the manifest pattern.”
  • “The Windows run failed in the agents phase. Pull the report and tell me what broke.”

Requirements

  • A GitHub repository with runners for macOS and Windows
  • Repository variables and secrets for the test providers

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Resolves a trusted branch or release tag.
  2. Initializes an isolated directory under the GitHub runner temporary folder.
  3. Installs the application and the code tools under test.
  4. Launches one owned Electron process with CDP enabled.
  5. Runs the ten files in tests/e2e/regression/ from simple to complex.
  6. Continues after a failed phase so later results are still collected.
  7. Produces English platform and aggregate reports, then enforces the verdict.
  8. Stops only the Electron process recorded in the isolated run directory.

What it can do on your machine

Read from SKILL.md and the folder at commit c97c23c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    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.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • CHERRY_TEST_CUSTOM_PROVIDER_API_KEY
    • CHERRY_TEST_CUSTOM_PROVIDER_EMBEDDING_API_KEY
    • CHERRY_TEST_CHERRYIN_PASSWORD

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~75
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from CherryHQ/cherry-studio at commit c97c23c, republished under its AGPL-3.0 licence (© CherryHQ). 476 words, ~1,189 tokens.

Download SKILL.mdSave it as .claude/skills/cherry-regression-test/SKILL.md (or your agent's skills folder).
name
cherry-regression-test
description
Run Cherry Studio critical-path system regression tasks through the repository-owned Playwright E2E workflow. Use for full regression, release acceptance, development-branch system validation, or a named cherry-regression-test task on GitHub-hosted macOS and Windows runners.

Cherry Regression Test

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.

CI contract

Use .github/workflows/e2e-regression-test.yml as the entry point. It:

  1. Resolves a trusted branch or release tag.
  2. Initializes an isolated directory under the GitHub runner temporary folder.
  3. Installs the application and the code tools under test.
  4. Launches one owned Electron process with CDP enabled.
  5. Runs the ten files in tests/e2e/regression/ from simple to complex.
  6. Continues after a failed phase so later results are still collected.
  7. Produces English platform and aggregate reports, then enforces the verdict.
  8. Stops only the Electron process recorded in the isolated run directory.

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.

Configuration

The workflow reads these repository variables and secrets:

  • CHERRY_TEST_CUSTOM_PROVIDER_BASE_URL
  • CHERRY_TEST_CUSTOM_PROVIDER_ANTHROPIC_BASE_URL
  • CHERRY_TEST_CUSTOM_PROVIDER_API_KEY
  • CHERRY_TEST_CUSTOM_PROVIDER_CHAT_MODEL
  • CHERRY_TEST_CUSTOM_PROVIDER_EMBEDDING_BASE_URL
  • CHERRY_TEST_CUSTOM_PROVIDER_EMBEDDING_API_KEY
  • CHERRY_TEST_CUSTOM_PROVIDER_EMBEDDING_MODEL
  • CHERRY_TEST_CHERRYIN_CHAT_MODEL
  • CHERRY_TEST_CHERRYIN_IMAGE_MODEL
  • CHERRY_TEST_CHERRYIN_ACCOUNT
  • CHERRY_TEST_CHERRYIN_PASSWORD

The 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.

Show full SKILL.md (233 more words)Show less

Test organization

Read scenario organization and the controller contract before making changes.

Register each case from the manifest:

ts
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.

Focused execution

With an initialized run directory and its owned Electron process running:

bash
pnpm exec tsx scripts/e2e/regression/cli.ts run-phase \
  --run-dir /absolute/run-directory --phase 02-basic-features

The 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.

bash
CHERRY_TEST_RUN_DIR=/tmp/cherry-regression-list pnpm test:e2e:regression --list

Do 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.

Verification when changing the framework

Run the focused script suite and enumerate Playwright cases:

bash
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:lint

Do 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

Files

Just SKILL.md in .agents/skills/cherry-regression-test of CherryHQ/cherry-studio.

Open the folder on GitHubat commit c97c23c

Compare with similar skills

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.

Cherry Studio Regression Tests compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cherry Studio Regression Tests this skillCherryHQ/cherry-studio52k—~1.2kAutomated safety check: PassAGPL-3.0
Explore Feature E2E Testcomet-ml/opik22k—~3.4kAutomated safety check: PassApache-2.0
Kane CLI Browser TestingLambdaTest/kane-cli247—~8.4kAutomated safety check: PassApache-2.0
Hydra Devstreamband/hydra-srt146—~995Automated safety check: PassApache-2.0
Michel Packmind Engineer ReviewPackmindHub/packmind317—~2.7kAutomated safety check: PassApache-2.0
Record E2E Giflablup/backend.ai-webui133—~907Automated safety check: NotesLGPL-3.0

Similar skills

  • 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.

    22k GitHub stars~3.4k tokensUpdated today
    Testing & QAAuto-check passed
  • Kane CLI Browser Testing

    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.

    247 GitHub stars~8.4k tokensUpdated 2 days ago
    Testing & QAAuto-check passed
  • Hydra Dev

    streamband/hydra-srt

    Run HydraSRT development workflows: mix q quality gate, Elixir unit/E2E tests, native Rust tests, web Vitest/Playwright, and make dev.

    146 GitHub stars~995 tokensUpdated 22 days ago
    Testing & QAAuto-check passed
  • 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…

    317 GitHub stars~2.7k tokensUpdated today
    Testing & QAAuto-check passed
  • Record E2E Gif

    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.

    133 GitHub stars~907 tokensUpdated today
    Testing & QAAuto-check: notes
  • Dev Issue

    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…

    236 GitHub stars~5k tokensUpdated today
    Testing & QAAuto-check passed

More from CherryHQ/cherry-studio

All 30 skills in this repo
  • Office File Transform

    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.

    52k GitHub stars~4.7k tokensUpdated today
    Auto-check passed
  • GitHub Issue Creator

    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.

    52k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Kimi Code Delegation

    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.

    52k GitHub starsUsed in 1 repo~504 tokens
    Auto-check passed
  • Cherry Studio PR Review

    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.

    52k GitHub stars~3.9k tokensUpdated today
    Auto-check passed
  • Antigravity CLI Runner

    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.

    52k GitHub stars~531 tokensUpdated today
    Auto-check passed
  • GitHub PR Creation

    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.

    52k GitHub stars~1.8k tokensUpdated today
    Auto-check passed

Categories

Questions about Cherry Studio Regression Tests

What does Cherry Studio Regression Tests do?

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.

When should I use Cherry Studio Regression Tests?

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.

How do I install Cherry Studio Regression Tests in Claude Code?

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.

How do I install Cherry Studio Regression Tests in Codex?

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.

Can I use Cherry Studio Regression Tests in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Cherry Studio Regression Tests need to run?

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.

Does Cherry Studio Regression Tests access the network?

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.

Is Cherry Studio Regression Tests safe to install?

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.

What licence does Cherry Studio Regression Tests use?

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.

How many tokens does Cherry Studio Regression Tests use?

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.

What are the alternatives to Cherry Studio Regression Tests?

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.

Who maintains Cherry Studio Regression Tests?

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.