Mobile app scaffold
Skill nuwansamaranayake/AiGNITEClaudeAssets/mobile-app-scaffold
Nine Claude Code skills that turn one developer into a mobile app studio. Built for AiGNITE Consulting's MCP-first product portfolio.
npx -y skills add nuwansamaranayake/AiGNITEClaudeAssets --skill mobile-app-scaffoldAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Generates a production-ready Expo React Native project pre-wired for AiGNITE conventions in under sixty seconds. Use this skill whenever the user mentions building a mobile app, scaffolding an Expo project, starting a new React Native app, mobile boilerplate, Expo scaffold, or kicking off a mobile project, even if they do not name the skill explicitly.
SKILL.md
4.5 KB, as published. Nobody here has run it
mobile-app-scaffold
Purpose
Output a complete Expo project tree with AiGNITE conventions baked in. Supabase client wired. MCP client wired. Smoke test wired to real business endpoints. CLAUDE.md with engineering standards seeded at the project root.
When to trigger
Trigger on these user phrases. Match loosely.
- "build a mobile app"
- "scaffold an Expo project"
- "new React Native app"
- "start a mobile project"
- "Expo scaffold"
- "mobile app boilerplate"
- "kick off a mobile app"
- "set up a React Native repo"
Inputs to collect
Before scaffolding, collect:
- App name (human readable, e.g. "FloodPulse Mobile")
- Bundle ID (reverse DNS, e.g. "com.aignite.floodpulse")
- Target output directory (default: current working directory)
- Optional MCP server URL the app will talk to
If the user has supplied any of these in the trigger message, parse them out and skip the matching prompt.
What the skill produces
A complete Expo project at the target directory containing:
app.jsonandeas.jsonwith bundle ID and owner placeholders filled- Folder layout:
app/(Expo Router),components/,lib/,hooks/,services/,assets/ lib/supabase.tswith client init and RLS-aware query helpersservices/mcp-client.tspointed at the supplied MCP server URL.env.local.examplelisting every variable the project needsCLAUDE.mdat project root with the AiGNITE engineering standardsMakefilewith three targets:make check,make up,make smokescripts/smoke-test.shcurling real business endpoints with a real token, counting DB tables.gitignore,tsconfig.json(strict),eslint.config.js,prettier.config.js- ESLint rule blocking em dashes in source
Smoke test contract
The generated make smoke calls real business endpoints. Health-only smoke tests are not acceptable. When a developer adds a new endpoint, the smoke test breaks until they add a probe for it. Document this rule in the generated CLAUDE.md.
Execution flow
- Parse inputs from the trigger message. Ask for missing values one at a time.
- Run
scripts/scaffold.ps1with the collected parameters. - The script writes every file using the templates in
assets/templates/. - Run
scripts/verify-scaffold.ps1to confirm every required file exists. - Print a summary table of files written.
- Suggest the next step: run
npm install, thennpx expo start.
Engineering standards baked into the output
The generated CLAUDE.md enforces these rules in every downstream session:
- Root-cause fixes only. Curl failing endpoints, query the database, read logs before any fix.
- Smoke tests verify real business endpoints, not health checks.
- No silent mock data fallbacks outside development.
- Verify table count after every database migration.
- Maintain an API contract document mapping every frontend URL to its backend route.
See references/aignite-coding-standards.md for the full text.
File and folder conventions
See references/expo-conventions.md and references/folder-layout.md.
Failure modes
- Missing app name or bundle ID. Prompt the user. Do not invent placeholders.
- Target directory exists and is non-empty. Stop. Ask the user to confirm overwrite.
- Bundle ID does not match reverse-DNS format. Reject and ask again.
- MCP server URL supplied but unreachable. Warn but proceed. Note in the post-scaffold summary.
Post-scaffold checklist for the user
Print this to the user after a successful scaffold:
cd <project>cp .env.local.example .env.local- Fill
.env.localwith real keys npm installnpx expo start- Open
make smokeand add probes for the endpoints your app will hit
Composes with
mvp-design-frameworkruns before this skill to define what the app doessupabase-bootstrapruns after to stand up the databasesecurity-auditruns before any TestFlight or Play submissionthree-tier-testruns before declaring a build readyapp-store-submissionships the build to storesmcp-to-mobileorchestrates the whole pipeline starting from an MCP URL