Agent skill

Diagnose

by CherryHQ in CherryHQ/cherry-studio-app

Opt-in evidence-first causal diagnosis for bugs, browser or app/device failures, flaky behavior, and performance regressions.

AGPL-3.0Auto-check passedDevelopment

Install Diagnose

skills CLI
$ npx skills add CherryHQ/cherry-studio-app --skill diagnose -a claude-code

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

GitHub CLI
$ gh skill install CherryHQ/cherry-studio-app diagnose --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-app.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/diagnose .claude/skills/diagnose && 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
diagnose
GitHub stars
4k
Token cost
~1.8k tokens
SKILL.md length
853 words
Files
6 (incl. scripts, references)
Skills in repo
13
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Opt-in evidence-first causal diagnosis for bugs, browser or app/device failures, flaky behavior, and performance regressions.

  • Works in 5 steps: Locate likely causes. Inspect the code… → Instrument before reproducing. Load… → Reproduce the instrumented issue. Use… → …
  • Explicitly invokes $diagnose
  • SKILL.md covers References, Evidence Loop, Output and Temporary Diagnostics, plus 1 more section
  • Runs Shell scripts from its folder

What it does

Diagnose is an agent skill from CherryHQ/cherry-studio-app. Opt-in evidence-first causal diagnosis for bugs, browser or app/device failures, flaky behavior, and performance regressions. Activate only when the user explicitly invokes $diagnose or explicitly asks to use the named diagnose skill. Do not activate merely because the user mentions a bug, asks why something failed, requests debugging or a fix, or describes unexpected behavior. Once explicitly invoked, locate likely causes, instrument relevant boundaries with extensive structured logging, reproduce the issue…

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `agents/openai.yaml`, `references/app-device.md` and `references/browser-react.md`).

It sits in Development, covering Observability. It works with Android, iOS and React. The repository describes itself as: 🍒 This is the mobile version of Cherry Studio. The licence is AGPL-3.0.

When your agent uses it

  • Explicitly invokes $diagnose
  • Explicitly asks to use the named diagnose skill

Example prompts

  • “/diagnose”

Requirements

  • A Bash shell

Workflow steps

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

  1. Locate likely causes. Inspect the code path and existing evidence around the user's anchor. Form the smallest useful set of likely areas…
  2. Instrument before reproducing. Load instrumentation.md and add structured logging across the relevant boundaries, extensive enough to…
  3. Reproduce the instrumented issue. Use the fastest deterministic signal that represents the reported symptom: focused test, script, browser…
  4. Collect and analyze. Collect the complete output, correlate events across boundaries, compare it with each prediction, and record evidence…
  5. Determine confidence. Rank each cause by role (root, contributing, or alternative), 0-100% confidence, supporting and conflicting…

What it can do on your machine

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

    Ships 1 file in scripts/ (Shell), which the agent can run.

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

  • Network

    No URLs in SKILL.md.

    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

Diagnose loads about 1.8k tokens when it runs, and up to ~4.2k if it reads all its reference files. Until then it costs about 167 tokens; SKILL.md has 853 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~167
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.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); the scripts in this folder are not scanned.

SKILL.md

The full file from CherryHQ/cherry-studio-app at commit fcfd953, republished under its AGPL-3.0 licence (© CherryHQ). 853 words, ~1,788 tokens.

Download SKILL.mdSave it as .claude/skills/diagnose/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
diagnose
description
Opt-in evidence-first causal diagnosis for bugs, browser or app/device failures, flaky behavior, and performance regressions. Activate only when the user explicitly invokes `$diagnose` or explicitly asks to use the named diagnose skill. Do not activate merely because the user mentions a bug, asks why something failed, requests debugging or a fix, or describes unexpected behavior. Once explicitly invoked, locate likely causes, instrument relevant boundaries with extensive structured logging, reproduce the issue, analyze the collected logs, rank causes with confidence scores, and pursue 100% operational confidence while probes can increase confidence.

Diagnose

Use this workflow only after the explicit opt-in described in the frontmatter. A normal bug report or debugging request does not opt in to this skill.

Find and explain the cause of a symptom with 100% operational confidence.

Start from the user's concrete anchor: file, route, error, log, screen, branch, artifact, or reproduction step. Consult relevant architecture notes, ADRs, glossaries, and test docs. Inspect code, run safe tools or tests, and analyze existing artifacts.

Explicit invocation of Diagnose constitutes approval for behavior-neutral temporary instrumentation within the requested scope. Ask separately only for risky actions, inaccessible-state reproduction, or mutations that affect product behavior or external systems.

References

Load only what applies:

Evidence Loop

  1. Locate likely causes. Inspect the code path and existing evidence around the user's anchor. Form the smallest useful set of likely areas and falsifiable candidate causes, including independent or contributing causes when applicable. Give each cause a distinguishing prediction and identify where those predictions diverge.

  2. Instrument before reproducing. Load instrumentation.md and add structured logging across the relevant boundaries, extensive enough to reconstruct the causal sequence rather than only record the visible symptom. Instrument competing causes in the same pass when practical so one reproduction can distinguish them.

    Before reproducing, define the probe contract:

    • the exact trigger and visible symptom
    • the questions this run will answer
    • each candidate cause's distinguishing prediction
    • the events, fields, and correlation IDs that test those predictions
    • how the evidence will be tied to the exact visible failure
    • the intended process, build, window, document, and runtime identity when applicable

    Do not run the reproduction if the probes cannot distinguish the leading candidates or cannot confirm that the exact symptom occurred.

  3. Reproduce the instrumented issue. Use the fastest deterministic signal that represents the reported symptom: focused test, script, browser test, trace replay, harness, repeat loop, profiler, app/device automation, or structured human reproduction. Run it when safe and observable. For intermittent failures, run enough repetitions to compare causes.

    When reproduction requires inaccessible state, credentials, devices, subjective interaction, or risky actions, first prepare the capture, exact steps, expected observation, and artifact to inspect. Ask the user to reproduce and reply done; confirm the returned evidence matches the reported failure.

    If the user corrects the trigger, affected component, lifecycle, or visible symptom, invalidate evidence and probes that target the previous interpretation. Return to cause location and instrumentation before reproducing again; do not continue with a nearby but mismatched reproduction.

  4. Collect and analyze. Collect the complete output, correlate events across boundaries, compare it with each prediction, and record evidence for and against every cause. If the logs are incomplete or ambiguous, identify how the likely areas or instrumentation must change before another reproduction.

  5. Determine confidence. Rank each cause by role (root, contributing, or alternative), 0-100% confidence, supporting and conflicting evidence, and the next evidence that could change its score or rank. Treat scores as calibrated judgments, not statistical probabilities. Assign 100% operational confidence only when:

    • the exact symptom is reproduced
    • the causal chain from trigger to failure is observed
    • controlling the suspected boundary reliably controls the symptom
    • the cause or combination of causes explains every relevant observation
    • plausible alternatives are falsified or included as contributing causes
    • intermittent behavior is repeated enough to distinguish causality from coincidence

    If proof is incomplete, choose the safest practical probe likely to add discriminating evidence and state which results would raise, lower, or redistribute confidence. Revise the likely areas or instrumentation and repeat the loop only while such a probe exists; do not repeat an equivalent pass without changing its inputs, boundary, or instrumentation.

    Stop as incomplete when no available probe should increase confidence, a pass adds no evidence and no distinct boundary remains, or the needed evidence requires unavailable access, user action, unacceptable risk, or disproportionate effort. Never label an incomplete diagnosis as proven.

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

Output

Lead with one status:

  • Proven — 100%: every applicable cause meets the proof standard with no unresolved plausible alternative.
  • Incomplete: the proof standard is not met.

For Proven, report each cause, role, causal chain, decisive evidence, exact code or runtime boundary, and interaction between causes. For Incomplete, rank candidates with confidence, supporting and conflicting evidence, remaining uncertainty, why the loop stopped, and the smallest evidence needed to continue. Always name the validation signal that preserves the causal evidence.

Temporary Diagnostics

Keep diagnostic logs until the user requests cleanup or they become durable diagnostics. If committing while temporary diagnostics remain, stage only intended durable changes and report what remains unstaged.

Delegation

Use subagents only when the user explicitly requests delegation, subagents, parallel work, or token optimization. Delegate bounded mechanical collection to faster or cheaper agents: known commands or repro loops, logs, screenshots, traces, profiles, extraction, or artifact comparison. Give each task a success condition, output format, runtime boundary, and no-edit instruction unless mutation is explicit.

Keep feedback-loop design, hypothesis ranking, confidence scoring, ambiguous interpretation, and the final diagnosis in the main thread. Verify delegated evidence and inspect the working tree and background processes before continuing.

© 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

SKILL.md and 5 other files (scripts, references) in .agents/skills/diagnose of CherryHQ/cherry-studio-app.

  • SKILL.md
  • agents/openai.yaml
  • references/app-device.md
  • references/browser-react.md
  • references/instrumentation.md
  • scripts/hitl-loop.template.sh

Open the folder on GitHubat commit fcfd953

Compare with similar skills

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

Diagnose compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Diagnose this skillCherryHQ/cherry-studio-app4k—~1.8kAutomated safety check: PassAGPL-3.0
Crash Instrumentationnexus-labs-automation/mobile-observability116—~744Automated safety check: PassMIT
Community Migrationjingjing2222/react-native-nitro-geolocation115—~3.5kAutomated safety check: PassMIT
Screenmapaleqsio/screenmap242—~7.2kAutomated safety check: PassMIT
Web3authWeb3Auth/web3auth-examples144—~1.4kAutomated safety check: PassMIT
Service Migrationjingjing2222/react-native-nitro-geolocation115—~2.3kAutomated safety check: PassMIT

Similar skills

  • Crash Instrumentation

    nexus-labs-automation/mobile-observability

    Set up crash instrumentation with actionable context. An agent skill from nexus-labs-automation/mobile-observability.

    116 GitHub stars~744 tokensUpdated 1 mo ago
    DevOps & CloudAuto-check passed
  • Community Migration

    jingjing2222/react-native-nitro-geolocation

    Migrate React Native apps from @react-native-community/geolocation to react-native-nitro-geolocation.

    115 GitHub stars~3.5k tokensUpdated 25 days ago
    MobileAuto-check passed
  • Screenmap

    aleqsio/screenmap

    Generate a visual navigation map of an Expo / React Native or NativeScript app.

    242 GitHub stars~7.2k tokensUpdated 4 days ago
    MobileAuto-check passed
  • Web3auth

    Web3Auth/web3auth-examples

    Integrates MetaMask Embedded Wallets (Web3Auth) for non-custodial wallets via social login or custom JWT (Firebase, Auth0, Cognito).

    144 GitHub stars~1.4k tokensUpdated 5 days ago
    Backend & APIsAuto-check passed
  • Service Migration

    jingjing2222/react-native-nitro-geolocation

    Migrate React Native apps directly from react-native-geolocation-service to react-native-nitro-geolocation without using /compat.

    115 GitHub stars~2.3k tokensUpdated 25 days ago
    MobileAuto-check passed
  • Theming

    Code-with-Beto/skills

    Scaffold a unified, cross-platform color theme system into an Expo Router app.

    141 GitHub stars~2.5k tokensUpdated 2 mo ago
    MobileAuto-check passed

More from CherryHQ/cherry-studio-app

All 13 skills in this repo
  • Expo Cicd Workflows

    CherryHQ/cherry-studio-app

    Helps understand and write EAS workflow YAML files for Expo projects.

    4k GitHub starsUsed in 6 repos~870 tokens
    Auto-check passed
  • Native Data Fetching

    CherryHQ/cherry-studio-app

    A skill your agent uses when implementing or debugging ANY network request, API call, or data fetching.

    4k GitHub starsUsed in 6 repos~2.9k tokens
    Auto-check: notes
  • Building Native UI

    CherryHQ/cherry-studio-app

    Complete guide for building beautiful apps with Expo Router.

    4k GitHub starsUsed in 8 repos~2.6k tokens
    Auto-check passed
  • Expo Tailwind Setup

    CherryHQ/cherry-studio-app

    Set up Tailwind CSS v4 in Expo with react-native-css and NativeWind v5 for universal styling

    4k GitHub starsUsed in 8 repos~3k tokens
    Auto-check passed
  • Improve React

    CherryHQ/cherry-studio-app

    Survey a whole React codebase as a senior React engineer, using React Doctor's scan as evidence, then produce a prioritized audit and self-contained implementation plans for other agents (or cheaper…

    4k GitHub starsUsed in 3 repos~3k tokens
    Auto-check: warnings
  • Diagnose Fix Loop

    CherryHQ/cherry-studio-app

    Iterative diagnose-and-fix workflow that repeatedly uses the diagnose skill to find a proven problem, plan the smallest credible improvement, implement it, re-diagnose, and continue until no useful…

    4k GitHub stars~1.1k tokensUpdated today
    Auto-check passed

Works with

Questions about Diagnose

What does Diagnose do?

Opt-in evidence-first causal diagnosis for bugs, browser or app/device failures, flaky behavior, and performance regressions. Diagnose is an agent skill from CherryHQ/cherry-studio-app. Opt-in evidence-first causal diagnosis for bugs, browser or app/device failures, flaky behavior, and performance regressions.

When should I use Diagnose?

Diagnose fits situations like: explicitly invokes $diagnose; explicitly asks to use the named diagnose skill.

How do I install Diagnose in Claude Code?

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

How do I install Diagnose in Codex?

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

Can I use Diagnose 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-app --skill diagnose -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/diagnose, .gemini/skills/diagnose, .github/skills/diagnose and .opencode/skills/diagnose in your project.

What does Diagnose need to run?

Going by SKILL.md and its folder, Diagnose needs a shell for the scripts in its folder. Our summary lists: A Bash shell.

Does Diagnose 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 Diagnose 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Diagnose use?

Diagnose 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 Diagnose use?

About 1.8k tokens (SKILL.md is roughly 7.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.4k tokens, read only when the agent opens those files.

What are the alternatives to Diagnose?

Skills that share tags, products or a category with Diagnose: Crash Instrumentation (nexus-labs-automation/mobile-observability, 116 stars), Community Migration (jingjing2222/react-native-nitro-geolocation, 115 stars), Screenmap (aleqsio/screenmap, 242 stars) and Web3auth (Web3Auth/web3auth-examples, 144 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Diagnose?

CherryHQ (a GitHub organization) maintains it in CherryHQ/cherry-studio-app, which has 3,974 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 8, 2026.

Source: CherryHQ/cherry-studio-app on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.