Mobile App Debugging
secondsky/claude-skills
Mobile app debugging for iOS, Android, cross-platform frameworks.
Native profiling for CPU hotspots, UI hangs, memory issues. An agent skill from bbplayer-app/BBPlayer.
$ npx skills add bbplayer-app/BBPlayer --skill argent-native-profiler -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install bbplayer-app/BBPlayer argent-native-profiler --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/bbplayer-app/BBPlayer.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/argent-native-profiler .claude/skills/argent-native-profiler && 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 "argent-native-profiler" agent skill from https://github.com/bbplayer-app/BBPlayer/tree/dev/.agents/skills/argent-native-profiler into .claude/skills/argent-native-profiler/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "argent-native-profiler", 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/bbplayer-app/BBPlayer/tree/dev/.agents/skills/argent-native-profilerType 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 bbplayer-app/BBPlayer --skill argent-native-profiler -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install bbplayer-app/BBPlayer argent-native-profiler --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bbplayer-app/BBPlayer.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/argent-native-profiler .agents/skills/argent-native-profiler && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "argent-native-profiler" agent skill from https://github.com/bbplayer-app/BBPlayer/tree/dev/.agents/skills/argent-native-profiler into .agents/skills/argent-native-profiler/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "argent-native-profiler", 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 bbplayer-app/BBPlayer --skill argent-native-profiler -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install bbplayer-app/BBPlayer argent-native-profiler --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bbplayer-app/BBPlayer.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/argent-native-profiler .cursor/skills/argent-native-profiler && 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 "argent-native-profiler" agent skill from https://github.com/bbplayer-app/BBPlayer/tree/dev/.agents/skills/argent-native-profiler into .cursor/skills/argent-native-profiler/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "argent-native-profiler", 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/bbplayer-app/BBPlayer.git --path .agents/skills/argent-native-profiler--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 bbplayer-app/BBPlayer --skill argent-native-profiler -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install bbplayer-app/BBPlayer argent-native-profiler --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bbplayer-app/BBPlayer.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/argent-native-profiler .gemini/skills/argent-native-profiler && 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 "argent-native-profiler" agent skill from https://github.com/bbplayer-app/BBPlayer/tree/dev/.agents/skills/argent-native-profiler into .gemini/skills/argent-native-profiler/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "argent-native-profiler", 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 bbplayer-app/BBPlayer argent-native-profilerInstalls 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 bbplayer-app/BBPlayer --skill argent-native-profiler -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/bbplayer-app/BBPlayer.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/argent-native-profiler .github/skills/argent-native-profiler && 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 "argent-native-profiler" agent skill from https://github.com/bbplayer-app/BBPlayer/tree/dev/.agents/skills/argent-native-profiler into .github/skills/argent-native-profiler/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "argent-native-profiler", 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 bbplayer-app/BBPlayer --skill argent-native-profiler -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install bbplayer-app/BBPlayer argent-native-profiler --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bbplayer-app/BBPlayer.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/argent-native-profiler .opencode/skills/argent-native-profiler && 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 "argent-native-profiler" agent skill from https://github.com/bbplayer-app/BBPlayer/tree/dev/.agents/skills/argent-native-profiler into .opencode/skills/argent-native-profiler/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "argent-native-profiler", 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.
argent-native-profilerNative profiling for CPU hotspots, UI hangs, memory issues. An agent skill from bbplayer-app/BBPlayer.
Argent Native Profiler is an agent skill from bbplayer-app/BBPlayer. Native profiling for CPU hotspots, UI hangs, memory issues. iOS via xctrace; Android via Perfetto. Use when diagnosing native-level performance issues.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Performance optimization. It works with iOS and Android. The repository describes itself as: 一款简约、好用的 BiliBili 音乐播放器。 The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1e1ae9f. 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:
adbxcrunFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Argent Native Profiler loads about 2k tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 1,040 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 bbplayer-app/BBPlayer at commit 1e1ae9f, republished under its MIT licence (© bbplayer-app). 1,040 words, ~2,000 tokens.
.claude/skills/argent-native-profiler/SKILL.md (or your agent's skills folder).native-profiler-start — start profiling on a booted device. iOS: xctrace recording for CPU, hangs, and leaks.native-profiler-stop — stop the profiler and export trace data to timestamped XML files.native-profiler-analyze — parse exported trace data and return a structured bottleneck payload.profiler-stack-query — drill into parsed data: hang stacks, function callers, thread breakdown, leak details.profiler-load — list and reload previous trace sessions from disk for re-investigation.xctrace on a booted simulator or connected device. Requires Xcode command-line tools on PATH. Surfaces CPU hotspots, UI hangs, and memory leaks (instruments Leaks table).adb shell perfetto + an in-process WASM trace-processor engine. Surfaces CPU hotspots and UI hangs, with per-hang jank reason codes, a main-thread state breakdown with blocked_function attribution, and a GC overlap annotation. Also reports an RSS-growth signal for memory pressure; treat it as a hint to confirm manually, not a confirmed leak. The target app must be debuggable or include <profileable android:shell="true"/> in its manifest for perf_sample callstacks to be captured.After native-profiler-analyze surfaces findings, use profiler-stack-query to drill into root causes:
profiler-stack-query mode=hang_stacks for full native call chains → mode=function_callers for the suspected function → read native source.profiler-stack-query mode=thread_breakdown for per-thread distribution → mode=function_callers for the dominant function.profiler-stack-query mode=leak_stacks filtered by object_type for responsible frames and libraries.<Call stack limit reached>), re-run native-profiler-start with malloc_stack_logging: true. This cold-launches the app with Malloc Stack Logging so leaks carry a real allocation backtrace (responsible frame + library). It restarts the app and adds overhead, so use it only when you need leak attribution — not for CPU/hang passes.After presenting findings, ask the user whether to investigate further, implement fixes, or stop. After applying fixes, always re-profile the same scenario and compare with profiler-load. Report honestly whether the target metric improved, regressed, or stayed flat. If the fix showed no net benefit or introduced regressions elsewhere, say so and reconsider.
Tip: For reproducible before/after comparisons, record the interaction sequence as a flow using the argent-create-flow skill before the first profiling run. Replay with flow-execute on subsequent runs to eliminate interaction variance.
Note: The
argent-react-native-profilerinstructs to start native profiling automatically alongside React profiling. This skill's workflow and investigation patterns apply in both cases.
Complete all steps in order — do not break mid-flow.
The native-profiler-start tool auto-detects the running app on the device.
You do not need to derive app_process manually — just make sure the app is launched.
app_process).launch-app with the correct bundle ID first.app_process explicitly if the tool reports multiple running user apps and you need to disambiguate.Note: If multiple build flavors are installed (dev, staging, prod), the tool will detect whichever one is currently running. If both are running, it will ask you to specify.
Call native-profiler-start with device_id (iOS UDID or Android serial). The tool auto-detects the running app and saves the trace to /tmp/argent-profiler-cwd/ with a timestamped filename.
Let the user interact with the app or drive interaction via simulator tools (see argent-device-interact skill).
Call native-profiler-stop with device_id. iOS sends SIGINT to xctrace, waits for trace packaging, and exports CPU, hangs, and leaks data to XML — check exportDiagnostics for any export warnings. Android sends SIGTERM to the on-device perfetto daemon, polls /proc/<pid> until it exits, then adb pulls the .pftrace to the host.
Call native-profiler-analyze with device_id. Returns a markdown report with bottlenecks categorized as CPU hotspots, UI hangs, or memory leaks, sorted by severity.
Present a concise summary of the key findings. Then follow the "After analysis" guideline — ask whether to investigate further with query tools, implement fixes, or stop.
Use profiler-stack-query to investigate specific findings. See §3 Investigation Patterns for chaining guidance.
To revisit a previous trace:
profiler-load mode=list to see available sessions.profiler-load mode=load_native session_id=<timestamp> device_id=<UDID> to re-parse the XML files.profiler-stack-query to investigate the reloaded data.Bottlenecks are categorized by severity:
<Call stack limit reached>, no library — see the memory-leaks caveat below). Worth investigating but may be acceptable.Each bottleneck type indicates a different class of problem:
xctrace --attach, which has no malloc-stack history, so on the simulator most leaks come back unattributed (<Call stack limit reached>, no library) and are dominated by benign system allocations — these are reported as a low-confidence YELLOW summary, not confirmed RED leaks. For attributed stacks, capture with malloc stack logging enabled at launch.xcrun xctrace version.JSLexer, JSONEmitter, or Hermes runtime internals dominate the JS thread in CPU hotspot results, those reflect profiler overhead — not app work. Discount those entries when evaluating findings.© bbplayer-app, MIT. 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/argent-native-profiler of bbplayer-app/BBPlayer.
Open the folder on GitHubat commit 1e1ae9f
Argent Native Profiler 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 |
|---|---|---|---|---|---|---|
| Argent Native Profiler this skillbbplayer-app/BBPlayer | 1.1k | — | ~2k | Automated safety check: Pass | MIT | |
| Mobile App Debuggingsecondsky/claude-skills | 227 | — | ~513 | Automated safety check: Pass | MIT | |
| Xamarin Forms Migrationdavidortinau/maui-skills | 174 | — | ~1.8k | Automated safety check: Pass | MIT | |
| jscpd Code Migration Trackerkucherenko/jscpd | 6.3k | — | ~5k | Automated safety check: Pass | MIT | |
| Code Guidelinesgetsentry/sentry-react-native | 1.8k | — | ~3.2k | Automated safety check: Pass | MIT | |
| DiagnoseCherryHQ/cherry-studio-app | 4k | — | ~1.8k | Automated safety check: Pass | AGPL-3.0 |
secondsky/claude-skills
Mobile app debugging for iOS, Android, cross-platform frameworks.
davidortinau/maui-skills
WORKFLOW SKILL - Guide for migrating Xamarin.Forms apps to .NET MAUI.
kucherenko/jscpd
Measures a code port between languages or frameworks with jscpd's function-level comparison, porting tests before code and tracking what is left unmatched.
getsentry/sentry-react-native
Enforce Sentry React Native SDK code guidelines for implementation, refactoring, and review.
CherryHQ/cherry-studio-app
Opt-in evidence-first causal diagnosis for bugs, browser or app/device failures, flaky behavior, and performance regressions.
getsentry/sentry-react-native
Shape non-trivial work before writing it — decide the modules, the seams, and the public API surface up front.
bbplayer-app/BBPlayer
Guide for creating and writing Expo native modules and views using the Expo Modules API (Swift, Kotlin, TypeScript).
bbplayer-app/BBPlayer
Debug a JS runtime via CDP using argent debugger tools. An agent skill from bbplayer-app/BBPlayer.
bbplayer-app/BBPlayer
Optimizes a React Native app by profiling first to find real bottlenecks, then sweeping for mechanical issues.
bbplayer-app/BBPlayer
Propose multiple visual design variants for on-screen elements and let the human pick in the Argent Lens window.
bbplayer-app/BBPlayer
Create repeatable QA regression E2E tests as Argent flows from test cases, tickets, or acceptance criteria.
bbplayer-app/BBPlayer
Compare saved or live app screenshots with the argent screenshot-diff tool.
Categories
Native profiling for CPU hotspots, UI hangs, memory issues. An agent skill from bbplayer-app/BBPlayer. Argent Native Profiler is an agent skill from bbplayer-app/BBPlayer. Native profiling for CPU hotspots, UI hangs, memory issues.
Argent Native Profiler fits situations like: diagnosing native-level performance issues; tasks that involve Performance optimization.
Run `npx skills add bbplayer-app/BBPlayer --skill argent-native-profiler -a claude-code`. Or copy the skill folder (.agents/skills/argent-native-profiler in bbplayer-app/BBPlayer) into .claude/skills/argent-native-profiler in your project. Claude Code loads it when a task matches its description.
Run `npx skills add bbplayer-app/BBPlayer --skill argent-native-profiler -a codex`. Or copy the skill folder (.agents/skills/argent-native-profiler in bbplayer-app/BBPlayer) into .agents/skills/argent-native-profiler 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 bbplayer-app/BBPlayer --skill argent-native-profiler -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/argent-native-profiler, .gemini/skills/argent-native-profiler, .github/skills/argent-native-profiler and .opencode/skills/argent-native-profiler in your project.
Going by SKILL.md and its folder, Argent Native Profiler needs the command-line tools its instructions call (adb and xcrun).
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.
Argent Native Profiler is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 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 Argent Native Profiler: Mobile App Debugging (secondsky/claude-skills, 227 stars), Xamarin Forms Migration (davidortinau/maui-skills, 174 stars), jscpd Code Migration Tracker (kucherenko/jscpd, 6.3k stars) and Code Guidelines (getsentry/sentry-react-native, 1.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
bbplayer-app (a GitHub organization) maintains it in bbplayer-app/BBPlayer, which has 1,126 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 6, 2026.
Source: bbplayer-app/BBPlayer on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.