Callstack agent skills for React Native
Callstack Agent Skills
Callstack's React Native skills: performance, version upgrades, native app migration, testing and CI
Install
npx skills@latest add callstackincubator/agent-skills --skill '*'The CLI asks for agent and install scope
This is third-party code. Review the repository files before installing.
What it does
A set of skills with practical React Native knowledge from Callstack's work on production apps. They fall into three bundles: build and optimize, test and verify, migrate and modernize. They cover screen performance reviews, React Native version upgrade plans, assessing incremental migration of native iOS and Android apps, and building artifacts in GitHub Actions.
Who it is for. React Native mobile developers and native app teams considering a migration.
Good fit when
- You need to find performance problems on a React Native screen
- You are planning a React Native version upgrade
- You are assessing whether to migrate a native app to React Native
- You need iOS simulator and Android emulator builds in GitHub Actions
Not a fit when
- The project is Flutter or purely native with no React Native plans
Example request
Review this React Native screen for performance problemsLimitations
Some testing bundle skills live in external repositories. The migration assessment skill only analyzes and does not perform the migration.
How to disable. Delete the skill folders from the agent's skills directory or disable the plugin in Codex.
Security check
- Skills are markdown instructions and reference material
README in short
Callstack skills give assistants practical React Native knowledge. The README covers installation via Codex Plugins and the skills CLI for Claude Code, Cursor, Copilot, Gemini CLI and OpenCode. It gives example prompts and links to the Callstack ebooks the skills are based on. MIT license.
SKILL.md
--- name: assess-react-native-migration description: Assesses whether and how an existing mobile product should migrate to React Native. Use when auditing one or more product repositories for migration readiness, including products whose iOS, Android, and other clients live in separate directories or repositories; choosing brownfield, greenfield, or a checkpoint-based path; defining a representative trial; or preparing a baseline and ROI decision before implementation. When product scope or material evidence is unavailable, grills the stakeholder with exactly one question per turn instead of sending a questionnaire. license: MIT --- # Assess React Native Migration Produce a read-only migration decision. Diagnose the product and delivery system; do not execute the migration. ## Establish Product Scope Run the assessment from a workspace that exposes as many production client codebases as possible. The current checkout is not evidence that it contains the whole product. Before assessing readiness: 1. Inspect the current repository and every workspace root available to the agent. 2. Infer supported client platforms from product documentation, CI, release configuration, workspace manifests, submodules, and references to sibling repositories. 3. Locate each production client codebase, including separate native iOS and Android repositories, app variants, and any web client relevant to staffing or proposed code sharing. 4. Record a platform inventory with the client, repository or path, evidence of product membership, and access status. When iOS and Android are both supported, inspect both native codebases before recommending a path. If a codebase remains unavailable, mark its evidence `unknown`, state that the assessment covers only the accessible platforms, and lower confidence accordingly. Do not infer that a platform is unsupported merely because its project is absent from the current repository. **Scope gate:** every supported production client is listed, and each codebase is accessible, explicitly unavailable, or confirmed not to exist. ## First Response Gate When the scope gate has not passed, the first response must be exactly: ```markdown **Question:** Where can I access the production codebase for each client platform this product supports, including iOS and Android if both exist? **Why it matters:** A migration path based on only one platform can miss native dependencies, product behavior, and delivery constraints that change the decision. ``` After the scope gate passes, grill rather than survey when repository evidence is unavailable. If the measurable migration driver is unknown, the first response must be exactly: ```markdown **Question:** What measurable delivery or business problem should a React Native migration solve? **Why it matters:** This determines whether migration is relevant and which outcomes the assessment must test. ``` If the driver is already known, ask only the next highest-impact unknown using the same two-line shape. End the turn immediately after the question and reason. Do not add a preamble, questionnaire, recommendation, or implementation guidance. ## Rules - Treat every production app as a source of truth, including undocumented behavior. - Inspect available code, CI, tests, release configuration, product documents, and runtime evidence before asking questions. - Compare iOS and Android explicitly where their implementation, behavior, dependencies, delivery, or roadmap differ. - Base product-wide claims only on evidence from every supported platform, or qualify their platform coverage. - Label material claims `observed`, `measured`, `reported`, `assumed`, or `unknown`. - Recommend from evidence, not an aggregate readiness score. - Default to gathering evidence, not to brownfield, greenfield, or migration itself. - Own the decision phase. Do not apply implementation skills or select Expo versus bare React Native before Path A is accepted. - Count only React Native's marginal value over the current native system. - Measure agents by accepted, verified work, not tokens, generated code, or pull requests. - Make no universal claims about duration, cost, code sharing, agent productivity, or ROI.
FAQ
How do I install in Codex?
Open Plugins, search for react native and install the bundle you need.