Skills catalogue
NativeExpress includes skills that guide your coding agent through setup, design, development and store preparation.
A skill is a set of instructions an agent loads for a task. The bundled skills come with your clone and describe the code in that release.
Setting up
The setup skill takes the app from scaffolded to running. It starts with a discovery
phase: one interview that writes the product brief, derives
the app identity, and removes the features and integrations the brief marks out. Then
it covers Supabase, auth email, the database, AI functions and the optional
integrations, one tier at a time, each with a verification step, and hands over to the
design skill once the app runs. Ask your agent to set up the app or to resume
setup. It begins by inspecting the project with skills:doctor.
You can run the inspection yourself:
yarn skills:doctorThis command reports configuration; it does not perform setup.
Designing
The design skill gives the app its own look: a theme generated from your brand
colours, the font pair, and the icon and splash from your logo, recorded in
DESIGN.md §1. It reads the brief’s design inputs and asks only for what is missing.
See Design.
Writing code
| Skill | What it covers |
|---|---|
conventions | File placement, imports, data fetching, i18n, theme tokens, tablet layouts, tests and TypeScript |
uniwind | Tailwind-style classes for React Native, CSS variables, variants and third-party component bindings |
heroui-native | Using and theming HeroUI Native components |
Ask your agent to use the relevant skill when building a screen or changing an
integration. If it does not discover the skill automatically, point it to the
SKILL.md file.
Shipping
| Skill | What it covers |
|---|---|
store-assets | Capturing simulator screens, composing listing graphics and checking asset dimensions |
submit | The whole release: credentials, builds and uploads, listing metadata, privacy and rating declarations, test tracks and review submission |
These two skills ship only in .claude/skills/. They use Claude Code’s
disable-model-invocation setting, so invoke them explicitly by name. Other
agents can read their instructions when you request the task, but the skills
are not included in the .agents/skills/ mirror.
submit runs both stores from the terminal, and stops for a human wherever a store
requires one. Submit to the stores says which
steps those are and why.
Skill folders
Claude Code reads .claude/skills/. Agents with .agents/skills/ discovery can
use the five mirrored skills. Discovery paths and manual invocation differ by
agent; check your agent’s skill settings if a skill is missing.
To install those five skills for other supported agents, run:
yarn skills:installThis uses the Skills CLI to install copies from
.agents/skills/. It does not install store-assets or submit.
The starter skill
The starter skill runs before you have a project. It scaffolds the app and hands
over to the bundled setup skill:
npx skills add robinfaraj/nativeexpress-skills -g --copy -y-g installs at user scope; omit it for a project-scoped installation. --copy
creates files rather than symlinks, which avoids symlink requirements on Windows.
You can also scaffold directly with npx nativeexpress@latest create-app my-app,
which asks for the app name and your Expo account username and prints the prompt
that starts the setup skill. See manual setup.
Checking your setup
yarn skills:doctor checks the product brief, local tools, template values,
integration variables, Supabase linking, the Expo project link and EAS profiles.
When the required CLI sessions or access token are available, it also checks
deployed secret metadata, auth email settings and EAS environment variables. It
compares the deployed quota secret’s digest with the configured allowance.
yarn skills:doctor --offlineUse --offline for local checks only, or --json for machine-readable results.
An unavailable remote check is reported as unavailable. A present API key does
not prove that it is valid or that a provider request succeeds; verify the
feature in the app too.
If you edit a mirrored skill, change its .claude/skills/ source and synchronize
its copy:
node .claude/skills/setup/scripts/check-skill-sync.mjs --fix
yarn check:skills