Agent skill

Cherry Studio PR Tester

by CherryHQ in CherryHQ/cherry-studio

Tests a Cherry Studio pull request by checking it out, inspecting changes, driving the UI in an owned Electron instance and reporting, then restoring the branch.

AGPL-3.0Auto-check passedTesting & QA

Install Cherry Studio PR Tester

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

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

GitHub CLI
$ gh skill install CherryHQ/cherry-studio cherry-pr-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-pr-test .claude/skills/cherry-pr-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-pr-test
GitHub stars
52k
Token cost
~1.2k tokens
SKILL.md length
520 words
Files
1
Skills in repo
30
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Tests a Cherry Studio pull request by checking it out, inspecting changes, driving the UI in an owned Electron instance and reporting, then restoring the branch.

  • Works in 5 steps: Resolve and inspect the PR → Analyze and start the app → Run interactive tests → …
  • Verifying a Cherry Studio pull request before merging
  • SKILL.md covers Prerequisites and safety and Workflow
  • Calls gh, git and pnpm

What it does

The workflow resolves a PR from a number, a URL or the latest open ones with `gh`, records the current branch, checks the PR out and reads the changed files. Static analysis runs `pnpm typecheck` and looks for blocked or deprecated v1 and v2-refactor files, hardcoded user-visible strings instead of i18n, `console.log` instead of `loggerService`, and missing types on new public interfaces.

For the UI pass it follows the shared Electron instance reference, reusing only an instance from the same workspace whose launch HEAD matches the PR, or launching an ephemeral, agent-owned one with an isolated `CS_DEV_USER_DATA_SUFFIX`, driven through Playwright over CDP or the optional `agent-browser`. It never discards local changes, avoids broad process or port cleanup, shows the report before posting it anywhere and cleans up only the instance it owns.

When your agent uses it

  • Verifying a Cherry Studio pull request before merging
  • Running interactive UI checks against a PR build of the Electron app
  • Producing a structured test report for a PR

Example prompts

  • “Test the latest open Cherry Studio PR and give me a report.”
  • “Check out this PR by URL, run the UI checks and restore my branch afterwards.”
  • “Test the settings page PR and show me the report before posting it.”

Requirements

  • Authenticated `gh` and `pnpm` with project dependencies installed
  • Playwright with CDP, or the optional `agent-browser`
  • A Cherry Studio checkout

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Resolve and inspect the PR
  2. Analyze and start the app
  3. Run interactive tests
  4. Clean up and restore
  5. Report

What it can do on your machine

Read from SKILL.md and the folder at commit dd0767e. 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:

    • gh
    • git
    • pnpm

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

  • Network

    No URLs in SKILL.md. Its commands use gh, git and 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 no API keys, tokens, secrets or passwords.

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

Context cost

Cherry Studio PR Tester loads about 1.2k tokens when it runs. Until then it costs about 75 tokens; SKILL.md has 520 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 dd0767e, republished under its AGPL-3.0 licence (© CherryHQ). 520 words, ~1,243 tokens.

Download SKILL.mdSave it as .claude/skills/cherry-pr-test/SKILL.md (or your agent's skills folder).
name
cherry-pr-test
description
Test Cherry Studio PRs by resolving and checking out a PR, statically inspecting its changes, running interactive UI tests against a safely tracked Electron instance through CDP, producing a structured report, cleaning up only the owned test instance, and restoring the original branch.

Cherry Studio PR Test

Use this workflow for a bounded PR test. Use cherry-electron-dev for ongoing implementation or debugging in the current checkout.

Prerequisites and safety

  • Require authenticated gh, pnpm, and installed project dependencies.
  • Use Playwright/CDP or optional agent-browser for UI control.
  • Before touching Electron, read Electron Instance Management and select its ephemeral policy.
  • Treat that reference as the only authority for discovery, target selection, launch, replacement, shutdown, tracking, and troubleshooting.
  • Never discard local changes. Stop and ask if checkout would overwrite them.
  • Show the report before posting it anywhere.

$ARGUMENTS may contain a PR number, PR URL, latest/recent, or nothing.

Workflow

1. Resolve and inspect the PR

If no PR is specified, list recent PRs and ask the user to choose unless they requested the latest:

bash
gh pr list --repo CherryHQ/cherry-studio --state open --limit 10 \
  --json number,title,author,createdAt,headRefName,changedFiles

Record the current branch for restoration, inspect the PR, then check it out:

bash
git status --short
git branch --show-current
gh pr view <NUMBER> --json title,body,author,headRefName,files
gh pr checkout <NUMBER>

Read the changed files and nearby instructions. Record the exact checked-out HEAD.

2. Analyze and start the app

Run static analysis while the app starts when both can proceed independently.

For static analysis:

bash
pnpm typecheck

Also check:

  • blocked or deprecated v1/v2-refactor files
  • hardcoded user-visible strings instead of i18n
  • console.log instead of loggerService
  • missing types on new public interfaces

For Electron:

  1. Use the shared reference to verify existing instances.
  2. Reuse only an instance from this workspace whose recorded launch HEAD equals the checked-out PR HEAD.
  3. When reusing one, mark it borrowed and preserve its existing policy and ownership. Never reclassify a persistent instance as ephemeral.
  4. Otherwise gracefully replace only the verified same-workspace instance.
  5. Launch an ephemeral, agent-owned instance with an isolated CS_DEV_USER_DATA_SUFFIX, such as PR-<NUMBER>.
  6. Keep its managed terminal/session, PIDs, ports, log, exact target, and pr-test:<NUMBER> launch purpose in instance.json.

Do not use broad process or port cleanup.

Show full SKILL.md (229 more words)Show less
3. Run interactive tests

Bind the controller to the exact target returned by the shared reference. Never navigate to a guessed root URL or select a target by index.

Build test cases from the PR description and changed files:

  1. Capture the initial state.
  2. Inspect interactive elements with the available CDP controller.
  3. Exercise the changed behavior.
  4. Capture the result and verify relevant persisted state.
  5. Repeat edge cases justified by the change.

Consider UI rendering, interactions, persistence, light/dark themes, relevant window sizes, i18n, empty states, and rapid interaction only when in scope.

Store screenshots and the report under /tmp/pr-<NUMBER>/:

bash
mkdir -p /tmp/pr-<NUMBER>

If an isolated profile shows the migration wizard or splash, follow the shared troubleshooting guidance and startup logs. Do not reset or force-close data.

4. Clean up and restore

Use the shared ephemeral finish procedure. Stop only an instance launched by this PR-test workflow whose verified record remains ephemeral, agent-owned, and scoped to pr-test:<NUMBER>. Leave every borrowed instance running. Do not stop unrelated workspaces or packaged apps.

Restore the branch recorded before checkout. If it no longer exists, resolve the repository default branch and report the fallback before switching:

bash
git checkout <ORIGINAL_BRANCH>
5. Report

Save /tmp/pr-<NUMBER>/report.md and show it to the user. Match the report language to the user's language; the template uses English labels:

markdown
# PR #<NUMBER> Test Report

**Title**: <title>
**Author**: @<author>
**Branch**: <branch>
**Changed files**: <count>

## Static Analysis

| Check | Result | Notes |
| --- | --- | --- |
| TypeScript typecheck | ✅/❌ | ... |
| Blocked-file check | ✅/⚠️ | ... |
| Logging, i18n, and types | ✅/❌ | ... |

## UI Tests

### <Test Case>

<scenario, evidence, and result>

![screenshot](<filename>.png)

## Findings

<findings or none>

## Conclusion

- Total findings: N
- Recommendation: APPROVE / REQUEST_CHANGES / COMMENT

Do not post the report or submit a GitHub review unless the user explicitly asks.

© 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-pr-test of CherryHQ/cherry-studio.

Open the folder on GitHubat commit dd0767e

Compare with similar skills

Cherry Studio PR Tester 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 PR Tester compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cherry Studio PR Tester this skillCherryHQ/cherry-studio52k—~1.2kAutomated safety check: PassAGPL-3.0
Verify Omnigent End-to-Endomnigent-ai/omnigent11k—~1.6kAutomated safety check: PassApache-2.0
Glance TestDebugBase/glance156—~827Automated safety check: PassMIT
E2E VerificationChorus-AIDLC/Chorus1.2k—~1.5kAutomated safety check: NotesAGPL-3.0
E2E PlaywrightAsvarox/allkaraoke261—~876Automated safety check: PassNone
Ha Frontend Testinghome-assistant/frontend5.7k—~1.7kAutomated safety check: PassApache-2.0

Similar skills

  • Verify Omnigent End-to-End

    omnigent-ai/omnigent

    Spins up an isolated Omnigent server, runner and mock model to prove a user-facing behavior or bug fix with recorded evidence instead of reasoning from code.

    11k GitHub stars~1.6k tokensUpdated today
    Testing & QAAuto-check passed
  • Glance Test

    DebugBase/glance

    Run E2E browser tests on any web application using Glance MCP.

    156 GitHub stars~827 tokensUpdated 5 mo ago
    Testing & QAAuto-check passed
  • E2E Verification

    Chorus-AIDLC/Chorus

    A skill your agent uses when manually verifying a Chorus frontend change in a real browser — finding local login credentials, driving the running dev server with the Playwright MCP, logging in…

    1.2k GitHub stars~1.5k tokensUpdated today
    Testing & QAAuto-check: notes
  • E2E Playwright

    Asvarox/allkaraoke

    Run, write, and debug Playwright E2E tests for this project.

    261 GitHub stars~876 tokensUpdated today
    Testing & QAAuto-check passed
  • Ha Frontend Testing

    home-assistant/frontend

    Home Assistant frontend testing and validation workflow. An agent skill from home-assistant/frontend.

    5.7k GitHub stars~1.7k tokensUpdated today
    Testing & QAAuto-check passed
  • Playwright Screen Recording

    liaohch3/claude-tap

    Records headless Playwright sessions as .webm videos to show a bug fix working or to give pull request reviewers visual evidence.

    3.3k GitHub stars~714 tokensUpdated 15 days ago
    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
  • 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
  • Cherry Studio Regression Tests

    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.

    52k GitHub stars~1.2k 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
  • 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 stars~504 tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Cherry Studio PR Tester

What does Cherry Studio PR Tester do?

Tests a Cherry Studio pull request by checking it out, inspecting changes, driving the UI in an owned Electron instance and reporting, then restoring the branch. The workflow resolves a PR from a number, a URL or the latest open ones with `gh`, records the current branch, checks the PR out and reads the changed files.log` instead of `loggerService`, and missing types on new public interfaces.

When should I use Cherry Studio PR Tester?

Cherry Studio PR Tester fits situations like: verifying a Cherry Studio pull request before merging; running interactive UI checks against a PR build of the Electron app; producing a structured test report for a PR.

How do I install Cherry Studio PR Tester in Claude Code?

Run `npx skills add CherryHQ/cherry-studio --skill cherry-pr-test -a claude-code`. Or copy the skill folder (.agents/skills/cherry-pr-test in CherryHQ/cherry-studio) into .claude/skills/cherry-pr-test in your project. Claude Code loads it when a task matches its description.

How do I install Cherry Studio PR Tester in Codex?

Run `npx skills add CherryHQ/cherry-studio --skill cherry-pr-test -a codex`. Or copy the skill folder (.agents/skills/cherry-pr-test in CherryHQ/cherry-studio) into .agents/skills/cherry-pr-test in your project. Codex loads it when a task matches its description.

Can I use Cherry Studio PR Tester 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-pr-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-pr-test, .gemini/skills/cherry-pr-test, .github/skills/cherry-pr-test and .opencode/skills/cherry-pr-test in your project.

What does Cherry Studio PR Tester need to run?

Going by SKILL.md and its folder, Cherry Studio PR Tester needs the command-line tools its instructions call (gh, git and pnpm). Our summary lists: Authenticated `gh` and `pnpm` with project dependencies installed; Playwright with CDP, or the optional `agent-browser`; A Cherry Studio checkout.

Does Cherry Studio PR Tester access the network?

SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Cherry Studio PR Tester 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 PR Tester use?

Cherry Studio PR Tester 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 PR Tester use?

About 1.2k tokens (SKILL.md is roughly 5k 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 PR Tester?

Skills that share tags, products or a category with Cherry Studio PR Tester: Verify Omnigent End-to-End (omnigent-ai/omnigent, 11k stars), Glance Test (DebugBase/glance, 156 stars), E2E Verification (Chorus-AIDLC/Chorus, 1.2k stars) and E2E Playwright (Asvarox/allkaraoke, 261 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cherry Studio PR Tester?

CherryHQ (a GitHub organization) maintains it in CherryHQ/cherry-studio, which has 52,407 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 7, 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.