rabbyhub/rabby-mobile/rabby-mobile-performance-review

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Assess every Rabby Mobile change for runtime performance impact, with deeper review for startup, unlock/account state, Home, stores, hooks, navigation, lists, I/O, native boundaries, or background work. Use during pull-request review and before handing off performance-sensitive code.

Install

npx vskill@latest install rabbyhub/rabby-mobile/rabby-mobile-performance-review

SKILL.md

Rabby Mobile Performance Review

Consider performance for every change. The required first step is a reasoned impact classification, not a benchmark for every diff and not a public comment when no actionable issue exists.

Review The Runtime Change

Inspect the diff, surrounding implementation, and affected call sites. Compare before and after in these dimensions:

  • timing: startup, first render, route entry, interaction, background, idle;
  • frequency: once, per focus, per render, per row, per event, per response;
  • thread: JS, UI, native worker, database, WebView, or network wait;
  • fan-out: subscribers, rerenders, list items, layouts, bridge calls;
  • lifecycle: visible, hidden-but-mounted, backgrounded, remounted, restored;
  • correctness: loading, stale-cache, final convergence, cancellation, retry.

Do not assume that async work is off the JS thread, that memoization fixes a broad subscription, that a hidden Screen is unmounted, or that fewer native calls are cheaper when each call carries a larger payload.

Performance Surfaces

Check whether the change introduces or makes newly reachable any of the following:

  • import-time work, IIFEs, constructors, hydration, or eager SDK setup;
  • synchronous parsing, normalization, crypto, serialization, or list shaping;
  • broad Store/Context subscriptions or unstable selector results;
  • parent subscriptions for data consumed only by an independent child/row;
  • hidden Screens that continue publishing React updates;
  • repeated network requests, DB work, file I/O, or JS/native round trips;
  • route-entry work that delays navigation or the first interactive shell;
  • animation state on the JS thread, repeated layout, or unstable list keys;
  • timers, listeners, polling, websockets, or tasks without cleanup/deduping.

Mandatory Specialist Routing

Read the matching guide whenever a change reaches one of these surfaces:

SurfaceRequired guide
Startup stages, lock/unlock, keyring readiness, visible/current account state, first route or first Home readinessskills/rabby-mobile-startup-governance/SKILL.md
Home, stores, hooks, selectors, lists, render fan-out, or inactive Screen subscriptionsapps/mobile/skills/perf-hooks.md
SQLite writes, resource persistence, batching, reset, or clear cacheskills/db-sync-write-scheduler/SKILL.md
Deterministic lifecycle or performance evidence inside the real appskills/mobile-testable-component-boundaries/SKILL.md
Import graph, barrels, service boundaries, or module reachabilityapps/mobile/skills/import-cycles.md

The trigger is semantic, not path-only. A shared account selector, service, storage adapter, or package change still requires the specialist review when it can affect startup or Home transitively.

Evidence

Use the least expensive evidence that can answer the question:

  1. Static call-site and subscription analysis.
  2. Focused unit tests for selector identity, deduping, cancellation, or final

convergence.

  1. Dev-mode diagnostics for fast iteration.
  2. A release-like Regression package on a real device for user-visible timing.
  3. Hermes/native profiling when the responsible thread or work is uncertain.

Separate CPU/JS occupation, native blocking, render/layout work, and network waiting. A shorter wall-clock duration alone does not prove lower JS-thread pressure. Preserve the same device, data, route, and build mode when comparing measurements, and remove a probe when its expected signal does not change.

Review Output And Escalation

  • Report only actionable regressions introduced or made newly reachable by the

change. Do not publish a performance checklist or clean-pass comment.

  • Explain the repeated work or critical-path expansion and the user-visible

consequence; avoid speculative "might be slower" comments.

  • For startup/unlock/account-state or Home performance changes, if code and

available evidence cannot establish safety, request richardo2016x as a reviewer and leave one concise inline note mentioning @richardo2016x on the most relevant changed line.

  • State the unresolved invariant or measurement needed in that note. Do not

duplicate the escalation across files.

  • Uncertainty alone is not REQUEST_CHANGES; use the severity rules in

skills/rabby-mobile-code-review/SKILL.md unless a concrete blocking defect is established.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
82
Repository forks
37
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/rabbyhub/rabby-mobile/rabby-mobile-performance-review/badge)](https://verified-skill.com/skills/rabbyhub/rabby-mobile/rabby-mobile-performance-review)

Something wrong with this skill or its page? Tell us.