Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add trilwu/secskills/plugin install secskills-coreWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/trilwu/secskills/reversing-react-native-apps)<a href="https://agentmods.dev/skills/trilwu/secskills/reversing-react-native-apps"><img src="https://agentmods.dev/badge/skills/trilwu/secskills/reversing-react-native-apps.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00081 | $0.01781 |
| Opus 5 | $0.00041 | $0.00890 |
| Sonnet 5 | $0.00016 | $0.00356 |
| Haiku 4.5 | $0.00008 | $0.00178 |
Grade A, and why
reversing-react-native-apps scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 166 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Reversing React Native Apps
React Native apps are JavaScript wearing a native shell. That is good news — the application logic ships as a bundle you can read — unless the bundle was compiled to Hermes bytecode, in which case you need a decompiler and the version compatibility problem becomes the whole task.
When to Use
jadxshowsReactActivity,ReactNativeHost, and little application logic- The APK contains
assets/index.android.bundleorlib/*/libhermes.so - The IPA contains
main.jsbundle - You need to find API endpoints, secrets, or business logic in an RN app
- You need to patch or hook JavaScript-level behaviour
When NOT to Use
- Flutter (
libapp.so,libflutter.so) — usereversing-flutter-apps - Unity (
global-metadata.dat) — usereversing-unity-il2cpp - Native Java/Kotlin apps — use
testing-mobile-applications - Native modules written in C/C++ — use
analyzing-binaries
Identify the Bundle Format
This one check decides whether the job takes ten minutes or a day.
unzip -j target.apk 'assets/index.android.bundle' -d ./out
file ./out/index.android.bundle
xxd ./out/index.android.bundle | head -2
| First bytes | Format | Path |
|---|---|---|
Readable JS (var __BUNDLE_START, __d(function) |
Plain JavaScript | Beautify and read directly |
Binary, Hermes magic (c6 1f bc 03 little-endian) |
Hermes bytecode | Decompile — see below |
# Plain bundle: beautify, then it reads like any minified web app
npx js-beautify index.android.bundle -o bundle.js
rg -n 'https?://|api[_-]?key|Bearer |secret|token' bundle.js | head -50
A plain bundle is a gift. Module boundaries survive as __d(function(...)
registrations, source maps are occasionally shipped by mistake
(index.android.bundle.map — always check), and the whole application logic
is in front of you.
Hermes Bytecode
Hermes compiles JS to its own bytecode (HBC). The bytecode version is embedded in the header and changes with React Native releases, which is the single biggest practical obstacle: a tool that supports HBC 74 will refuse or misparse HBC 96.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 166 lines · 81 tokens per session scan A 001fa00e24b3
reversing-react-native-apps is a skill published in the GitHub repository trilwu/secskills (135 stars, last pushed yesterday), licensed MIT. It adds 81 tokens to every session and 1,781 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
google-mobile-ads-android-migrate-to-next-gen
Migrates Android applications from the old, legacy Google Mobile Ads (GMA) SDK (com.google.android.gms:play-services-ads) to the new GMA Next-Gen SDK (com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk). Provides comprehensive mapping tables for imports, classes, and method signatures to help determine…
developer-device-platform-basics
Provides guidance and instructions on managing remote devices on Developer Device Platform (DDP). Use when reserving remote Android devices, establishing connection tunnels, checking session status, or extending/cancelling leases. Don't use for iOS or local device/hardware inquiries.
google-mobile-ads-validate
Validates a project's Google Mobile Ads (GMA) SDK integration for iOS, Android, or Unity projects. Use when conducting a full pre-launch audit of an app that integrates GMA SDK or when validating any individual GMA SDK integration checks, such as when validating ad unit IDs and ad formats, SKAdNetwork IDs, mediation…
google-mobile-ads-interstitial
Provides instructions for implementing, integrating, or configuring Google Mobile Ads (GMA) SDK interstitial ads in Android, iOS, or Unity mobile applications. Use when the task involves setting up interstitial ads. Don't use for "rewarded interstitial" ads.
google-mobile-ads-rewarded
Provides instructions for implementing, integrating, or configuring Google Mobile Ads (GMA) SDK rewarded ads in Android, iOS, or Unity mobile applications. Use when the task involves setting up rewarded ads. Don't use for "rewarded interstitial" ads.
leanback-to-compose-tv-migration
Provides instructions and architectural patterns for migrating Android TV applications from legacy Leanback UI Toolkit, Android Views, or Support Fragments to Jetpack Compose for TV (androidx.tv). Use this skill for Leanback to Compose migrations, including browse screen, settings screen, authentication screen, login…