Screenmap
aleqsio/screenmap
Generate a visual navigation map of an Expo / React Native or NativeScript app.
Adopt a new stable React Native minor into Flagship Code. An agent skill from brandingbrand/flagship.
$ npx skills add brandingbrand/flagship --skill upgrade-rn-version -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install brandingbrand/flagship upgrade-rn-version --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/brandingbrand/flagship.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/upgrade-rn-version .claude/skills/upgrade-rn-version && 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 "upgrade-rn-version" agent skill from https://github.com/brandingbrand/flagship/tree/develop/.agents/skills/upgrade-rn-version into .claude/skills/upgrade-rn-version/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "upgrade-rn-version", 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/brandingbrand/flagship/tree/develop/.agents/skills/upgrade-rn-versionType 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 brandingbrand/flagship --skill upgrade-rn-version -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install brandingbrand/flagship upgrade-rn-version --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/brandingbrand/flagship.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/upgrade-rn-version .agents/skills/upgrade-rn-version && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "upgrade-rn-version" agent skill from https://github.com/brandingbrand/flagship/tree/develop/.agents/skills/upgrade-rn-version into .agents/skills/upgrade-rn-version/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "upgrade-rn-version", 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 brandingbrand/flagship --skill upgrade-rn-version -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install brandingbrand/flagship upgrade-rn-version --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/brandingbrand/flagship.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/upgrade-rn-version .cursor/skills/upgrade-rn-version && 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 "upgrade-rn-version" agent skill from https://github.com/brandingbrand/flagship/tree/develop/.agents/skills/upgrade-rn-version into .cursor/skills/upgrade-rn-version/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "upgrade-rn-version", 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/brandingbrand/flagship.git --path .agents/skills/upgrade-rn-version--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 brandingbrand/flagship --skill upgrade-rn-version -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install brandingbrand/flagship upgrade-rn-version --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/brandingbrand/flagship.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/upgrade-rn-version .gemini/skills/upgrade-rn-version && 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 "upgrade-rn-version" agent skill from https://github.com/brandingbrand/flagship/tree/develop/.agents/skills/upgrade-rn-version into .gemini/skills/upgrade-rn-version/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "upgrade-rn-version", 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 brandingbrand/flagship upgrade-rn-versionInstalls 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 brandingbrand/flagship --skill upgrade-rn-version -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/brandingbrand/flagship.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/upgrade-rn-version .github/skills/upgrade-rn-version && 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 "upgrade-rn-version" agent skill from https://github.com/brandingbrand/flagship/tree/develop/.agents/skills/upgrade-rn-version into .github/skills/upgrade-rn-version/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "upgrade-rn-version", 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 brandingbrand/flagship --skill upgrade-rn-version -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install brandingbrand/flagship upgrade-rn-version --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/brandingbrand/flagship.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/upgrade-rn-version .opencode/skills/upgrade-rn-version && 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 "upgrade-rn-version" agent skill from https://github.com/brandingbrand/flagship/tree/develop/.agents/skills/upgrade-rn-version into .opencode/skills/upgrade-rn-version/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "upgrade-rn-version", 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.
upgrade-rn-versionAdopt a new stable React Native minor into Flagship Code. An agent skill from brandingbrand/flagship.
Upgrade Rn Version is an agent skill from brandingbrand/flagship. Adopt a new stable React Native minor into Flagship Code. One version per pull request, each proven by a real native build of the example app before the next.
Its SKILL.md is about 3.7k 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 Mobile, covering Cross-platform mobile apps and Pull requests. It works with React Native, React, TypeScript and Android. The repository describes itself as: 🚢 A React Native Configuration as Code Toolkit. The licence is MIT.
9 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0c2231b. 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:
yarnnpmxcodebuildFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.combrandingbrand.github.ionpmjs.comreact-native-community.github.ioFrom 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.
Upgrade Rn Version loads about 3.7k tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 2,073 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 brandingbrand/flagship at commit 0c2231b, republished under its MIT licence (© brandingbrand). 2,073 words, ~3,715 tokens.
.claude/skills/upgrade-rn-version/SKILL.md (or your agent's skills folder).Flagship Code supports a React Native minor by carrying three things together: a native template, a dependency profile, and CLI registration. This skill covers adopting a new minor.
Every command below is written to run verbatim from the repository root. Run them as written.
A pending React Native minor needs adopting: a stable release above the newest version in packages/templates/react-native/. There is usually an open rn-adoption tracking issue for it.
Derive the target rather than accepting it. Compute the pending set as described in Ground truth at build time, take the lowest, and adopt that one. A version named in a request, an issue title, or a ticket is a check on your own derivation, not an instruction. If it is not the lowest pending minor, stop and report which one is. There may be a tracking issue open for every pending minor at once, so the presence of one for a later version is not permission to start there. Adopting out of order leaves the repository advertising support for a version whose predecessors were never adopted, which is the outcome this procedure exists to prevent.
Do not trust cached version numbers in this doc. Re-derive at build time:
npm view react-native versions --json, filtered to X.Y.0, never dist-tags) above the highest directory name in packages/templates/react-native/. Exclude anything npm marks deprecated (the guard against the accidental react-native@1000.0.0 publish, which otherwise looks like the newest pending minor).package.json. Read it, do not assume.Never adopt more than one version in a PR, never stack one adoption on another's unmerged branch, and never start the next version until the current one has merged.
Premise check. Run yarn install before anything else. The harvest script's codemods run through tsx, so against an uninstalled workspace they fail with Cannot find module 'typescript'; that is a missing install, not a broken script, and it is not a premise failure. Then confirm ./scripts/add-rn-version and the PR Compile and PR Test workflows already exist and work (throwaway-branch dry run). If tooling is genuinely missing or broken, that is a blocker on the tooling itself. Stop and report it; do not build or repair tooling as part of an adoption.
Harvest. Run ./scripts/add-rn-version 0.XX. This pulls the upstream @react-native-community/template (android and ios only) into packages/templates/react-native/0.XX/ and codemods: CLI registration (packages/cli-kit/src/@types/config.ts, packages/cli/src/ui/constants/messaging.ts), a shell dependency profile (packages/plugin-verify-dependencies/src/profile/0.XX.ts plus registration in index.ts), and the root package.json react-native pin. It does not touch the root react pin. Step 4 covers that; the script having run is not evidence the root is aligned.
Fill the profile. Spread the previous minor's profile, then reconcile every template-derived entry against this minor's own template. Do not assume an inherited value is still correct.
@react-native-community/template package.json (npm pack @react-native-community/template@<patch>). Diff it against the previous minor's, or read the same diff in the upgrade helper, to see what moved."A.B.C") means an exact pin in the profile ('A.B.C'); a range ("^A.B.C") stays that range. The operator is part of the pairing: React Native is tested against one patch of its react, and widening it lets a consumer resolve a react this minor was never built against.react-native, and every @react-native/* entry the previous profile tracks, are written ^0.XX.0: the minor floor rather than the harvested patch. Take that set from the previous profile rather than from a list, because which scoped packages the template ships changes between minors. The profile-version test requires that literal form, because a profile must accept any patch of its own minor.@react-native/* package appearing in the template for the first time is still an addition, and additions are not part of an adoption.Align the workspace. The example and the repository root both carry React pins and they must agree. A root react range that admits a patch other than the example's exact pin resolves to two copies of React, and the example then fails at runtime rather than at build time.
yarn workspace @brandingbrand/code-example flagship-code align-deps --profile 0.XX --fix
yarn installThen set the existing react and react-native entries in the root package.json to the same strings this minor's profile carries, and run yarn install again. Edit the entries already declared there; do not add a new dependency block for them. Never hand-edit the example's pins; the profile drives those.
Prove there is exactly one React before going further:
yarn why reactMore than one resolved version is a failure. Fix the disagreeing pin and re-run. Do not continue with two.
Compile the example on both platforms. The iOS build runs pod install through prebuild; the Android build needs a JDK and the Android SDK. Your local toolchain has to match what .github/workflows/pr-compile.yml provisions: read its setup-node, setup-ruby, and setup-java steps and match the versions declared there rather than any version named in this document. A missing toolchain, or one on a different major version, is an environment blocker to report. It is not an adoption failure, and it is not something to install your way around.
Run all four commands. These are the commands CI runs, so a failure here is a failure there.
yarn workspace @brandingbrand/code-example prebuild --build internal --env prod --platform android --verbose
cd apps/example/android && ./gradlew assembleDebug && cd ../../..
yarn workspace @brandingbrand/code-example prebuild --build internal --env prod --platform ios --verbose
cd apps/example/ios && xcodebuild -workspace app.xcworkspace -scheme app -configuration Debug -sdk iphonesimulator -destination 'generic/platform=iOS Simulator' CODE_SIGNING_ALLOWED=NO build && cd ../../..A passing test suite is not evidence that these pass, and no other step in the gate substitutes for them. A version is not adopted until it has compiled as a real app on both platforms.
Ecosystem-native pin breaks. If the example's compile fails because a non-profile-tracked dependency (screens, gesture-handler, reanimated, safe-area-context, async-storage, webview, community CLI) is incompatible with the new version, bump that one dependency's pin in the example (not the profile mechanism) and record why. The compile is what surfaces such a break instead of shipping a stale pin. Automating these pairings is separate, larger work, out of scope for an adoption PR.
Full local gate. Every command below, green, run in this order:
yarn install
yarn build
yarn lint
FLAGSHIP_CODE_TEST_RN_VERSION=0.XX yarn test --forcePlain yarn test runs the plugin suites against the default 0.72 template; the environment variable points them at the version you are adding. Two things let that command pass without testing your version, so a green run here is not the proof:
packages/templates/react-native/0.XX/ does not exist, the test environment resolves down to the nearest lower minor and passes against that one instead. Nothing reports the substitution.test is a cached task and the variable is not part of its cache key, so a run following a plain yarn test can replay the earlier result. --force is what prevents that.The proof is the test-templates (0.XX) job on the pull request, which cannot exist unless the template directory does. The two native builds in step 5 are part of this gate and are not implied by these four commands.
Changeset. One file, message add support for react-native 0.XX, minor bump on the packages an adoption touches: code-plugin-verify-dependencies, code-templates, code-cli-kit, code-cli. Read the previous minor's changeset rather than this list if the two disagree. Declare another package only if this adoption actually modified it; do not declare one because it seems related.
PR. Draft from the first commit against develop. Mark ready once every item in the definition of done is satisfied, and request review from the repository's code owners. Carry the gate evidence in the PR description: the commands run, their results, and a link to the PR Compile run.
An adoption adds a version and aligns pins to it. It never changes the machinery that consumes them. These are not edited during an adoption:
scripts/, the adoption tooling itselfpackages/jest-config/, the test harness, including how it resolves a template version.github/workflows/plugin-verify-dependencies are version data and are in scope; the plugin's own code and tests are not.packages/templates/react-native/Stop the adoption and report it if you hit one of the following three, and only these three:
prebuild warns cannot find keyword ... in file path ....packages/templates/supporting-files/. That tree is version-partitioned and resolves down to the nearest lower version, so a missing directory does not error; it silently supplies older files.plugin-transform-template.Each of those means the native template has moved beyond what the current tooling handles. That is a tooling change, which an adoption does not make. Anything else that fails is covered by the two-attempt rule in If a gate will not go green, not by stopping here.
Stopping means: leave the pull request as a draft, record the step and the exact output in its description, and change no files beyond the ones this skill names. It does not mean repairing the tooling, editing harvested content, or working around the failure.
packages/templates/react-native/0.XX/, byte-identical to the upstream harvest. No local edits to harvested content.0.XX registered; the profile-version assertion passes (a profile's react-native pin must match its own version. An unfilled shell profile otherwise passes every other check while pinning nothing real).test-templates (0.XX) job exists on this pull request and is green. It appears only once packages/templates/react-native/0.XX/ exists, because PR Test derives its matrix from that directory listing. A local run with FLAGSHIP_CODE_TEST_RN_VERSION set does not substitute for it.apps/example and the root package.json agree on react and react-native, and yarn why react reports one resolved version.PR Compile workflow has run on this PR and both its android and ios jobs are green. Link the run in the PR description. A local build does not substitute for it, and neither does an expectation that it would pass.Two focused attempts, then stop. Do not weaken the gate, skip the test, or merge around it. Record what was tried and the exact failure in the PR (kept as a draft) rather than forcing it through.
Commit messages, PR titles, and PR bodies are professional open-source contributions: what changed, why, and how it was verified. Conventional Commits, one logical change per commit. No AI attribution of any kind. The PR body carries the gate evidence.
© brandingbrand, 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/upgrade-rn-version of brandingbrand/flagship.
Open the folder on GitHubat commit 0c2231b
Upgrade Rn Version 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 |
|---|---|---|---|---|---|---|
| Upgrade Rn Version this skillbrandingbrand/flagship | 165 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Screenmapaleqsio/screenmap | 244 | — | ~7.2k | Automated safety check: Pass | MIT | |
| Simulator Audio E2Ehyochan/react-native-nitro-sound | 961 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Code Review React Nativetalsec/Free-RASP-ReactNative | 176 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Community Migrationjingjing2222/react-native-nitro-geolocation | 115 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Diagnosing Stacktrace SymbolicationPostHog/posthog | 40k | — | ~2.2k | Automated safety check: Pass | Custom licence |
aleqsio/screenmap
Generate a visual navigation map of an Expo / React Native or NativeScript app.
hyochan/react-native-nitro-sound
Build and run repeatable react-native-nitro-sound recorder/player regression tests on an iOS Simulator or Android emulator, with explicit virtual-device selection, microphone permission, Maestro…
talsec/Free-RASP-ReactNative
Performs strict code reviews on React Native plugin projects covering TypeScript, the Kotlin (Android) and Swift (iOS) native bridges, and the Expo config plugin.
jingjing2222/react-native-nitro-geolocation
Migrate React Native apps from @react-native-community/geolocation to react-native-nitro-geolocation.
PostHog/posthog
Help users debug PostHog Error Tracking stack-trace symbolication for any supported platform — JavaScript/TypeScript web, React Native (Hermes), Android (Proguard / R8), or iOS / macOS (dSYM).
jingjing2222/react-native-nitro-geolocation
Migrate React Native apps directly from react-native-geolocation-service to react-native-nitro-geolocation without using /compat.
Works with
Categories
Adopt a new stable React Native minor into Flagship Code. An agent skill from brandingbrand/flagship. Upgrade Rn Version is an agent skill from brandingbrand/flagship. Adopt a new stable React Native minor into Flagship Code.
Upgrade Rn Version fits situations like: tasks that involve Cross-platform mobile apps; tasks that involve Pull requests.
Run `npx skills add brandingbrand/flagship --skill upgrade-rn-version -a claude-code`. Or copy the skill folder (.agents/skills/upgrade-rn-version in brandingbrand/flagship) into .claude/skills/upgrade-rn-version in your project. Claude Code loads it when a task matches its description.
Run `npx skills add brandingbrand/flagship --skill upgrade-rn-version -a codex`. Or copy the skill folder (.agents/skills/upgrade-rn-version in brandingbrand/flagship) into .agents/skills/upgrade-rn-version 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 brandingbrand/flagship --skill upgrade-rn-version -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/upgrade-rn-version, .gemini/skills/upgrade-rn-version, .github/skills/upgrade-rn-version and .opencode/skills/upgrade-rn-version in your project.
Going by SKILL.md and its folder, Upgrade Rn Version needs the command-line tools its instructions call (yarn, npm and xcodebuild).
SKILL.md names 4 domains. As links in the text: github.com, brandingbrand.github.io, npmjs.com and react-native-community.github.io. 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.
Upgrade Rn Version is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k 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 Upgrade Rn Version: Screenmap (aleqsio/screenmap, 244 stars), Simulator Audio E2E (hyochan/react-native-nitro-sound, 961 stars), Code Review React Native (talsec/Free-RASP-ReactNative, 176 stars) and Community Migration (jingjing2222/react-native-nitro-geolocation, 115 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
brandingbrand (a GitHub organization) maintains it in brandingbrand/flagship, which has 165 GitHub stars. The repository was last updated on October 1, 2026.
Source: brandingbrand/flagship on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.