rn-harness-generator

rn-harness-generator is a skill for Claude Code from tjdrhs90/rn-launch-harness. It costs 38 tokens per session (4,718 once invoked), scanned C, original, MIT.

A build step that creates a React Native and Expo mobile app from its product plan, design rules, and agreed completion criteria. It builds the project in stages for the basic structure, data connections, and user interface, then checks its own work before handoff.

In plain words
What is it for?
Use it to create the Expo project, add its screens and app logic, connect required APIs, apply the planned interface, and prepare the result for quality checking.
Why use it?
It turns planning documents into a working app while keeping the implementation tied to explicit requirements. Staged building also makes it easier to incorporate review feedback in later rounds.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the rn-launch-harness plugin — 17 skills shipped together

Good fit Use it to create the Expo project, add its screens and app logic, connect required APIs, apply the planned interface, and prepare the result for quality checking.

Compare 6 skills from other repositories ↓
Install

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.

Claude Code
/plugin marketplace add tjdrhs90/rn-launch-harness
Claude Code
/plugin install rn-launch-harness

Made for: Claude Code.

Or install rn-launch-harness, the plugin that ships this one along with the rest of its 17 skills.

Wrote 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.

agentmods badge for rn-harness-generator

README.md
[![agentmods](https://agentmods.dev/badge/skills/tjdrhs90/rn-launch-harness/rn-harness-generator/github.svg)](https://agentmods.dev/skills/tjdrhs90/rn-launch-harness/rn-harness-generator)
Your own site
<a href="https://agentmods.dev/skills/tjdrhs90/rn-launch-harness/rn-harness-generator"><img src="https://agentmods.dev/badge/skills/tjdrhs90/rn-launch-harness/rn-harness-generator/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for rn-harness-generator

Your own site · 80×15
<a href="https://agentmods.dev/skills/tjdrhs90/rn-launch-harness/rn-harness-generator"><img src="https://agentmods.dev/badge/skills/tjdrhs90/rn-launch-harness/rn-harness-generator.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 38 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,718 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00038 $0.04718
Opus 5 $0.00019 $0.02359
Sonnet 5 $0.00008 $0.00944
Haiku 4.5 $0.00004 $0.00472

Measured 6d ago against content hash 6ef96825416a, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade C, and why

rn-harness-generator scanned grade C with 1 finding 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.

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

rm -rf ".rn-harness/$RUN_ID" # remove now-empty staging
skills/rn-harness-generator/SKILL.md · 516 lines

How it starts

The opening of the file, as written. The whole thing — 516 lines — stays where its author put it; the contents beside it link to each section on GitHub.

rn-harness-generator — Phase 5: 앱 빌드

계약 기준에 따라 React Native + Expo 앱을 빌드한다.

Trigger

오케스트레이터에서 Phase 5 (Generator)로 호출됨.

Input

  • docs/harness/contract.md (완료 기준)
  • docs/harness/plans/YYYY-MM-DD-prd.md (PRD)
  • docs/harness/plans/YYYY-MM-DD-design.md (디자인)
  • docs/harness/feedback/round-N-*.md (Round 2+ 시 Evaluator 피드백)

Process

Round 1: 전체 빌드

Step 1: Project Scaffolding

Read app_slug and workspace_dir from docs/harness/config.md / state.md (set during Phase 2). Until now the pipeline has been running in the staging folder .rn-harness/$RUN_ID/. This phase graduates it to a top-level Expo project named $APP_SLUG and moves the harness artifacts inside — so each run ends up as its own clean project folder with no shared root docs/.

# Run from the run-directory root (parent of .rn-harness/).
# $APP_SLUG = kebab-case app name from config.md (e.g., budget-book)
# $RUN_ID   = staging id from state.md (e.g., run-20260709-113045)

npx create-expo-app@latest "$APP_SLUG"          # creates ./$APP_SLUG (its own git repo)
mv ".rn-harness/$RUN_ID/docs" "$APP_SLUG/docs"  # move all harness artifacts in
rm -rf ".rn-harness/$RUN_ID"                     # remove now-empty staging
rmdir .rn-harness 2>/dev/null || true            # remove container if no other runs

cd "$APP_SLUG"
mkdir -p credentials

# Record the graduated location so later phases + resume cd here.
# state.md → workspace_dir: $APP_SLUG

NOTE: Always use npx create-expo-app@latest to get the latest Expo SDK version. NOTE: After graduation, all artifacts live inside $APP_SLUG/docs/harness/ (one git repo). Update state.md workspace_dir to $APP_SLUG — Phase 6+ and --resume rely on it. The run-directory retains only .claude/ and any other runs still staging under .rn-harness/.

Step 1.1: Clean Up Default Template Files (MANDATORY)

Remove unused default files generated by create-expo-app:

# Remove default reset script
rm -f scripts/reset-project.js
rmdir scripts 2>/dev/null || true

# Remove default template images (will be replaced with app-specific assets)
rm -f assets/images/partial-react-logo.png
rm -f assets/images/react-logo.png
rm -f assets/images/[email protected]
rm -f assets/images/[email protected]

# Remove default example components/screens if they exist
rm -rf components/__tests__/
rm -f components/EditScreenInfo.tsx
rm -f components/ExternalLink.tsx
rm -f components/HelloWave.tsx
rm -f components/ParallaxScrollView.tsx
rm -f components/ThemedText.tsx
rm -f components/ThemedView.tsx
rm -f components/Collapsible.tsx
rm -f components/HapticTab.tsx
rm -rf components/ 2>/dev/null || true

# Remove default tab screens (will be rewritten)
rm -f app/(tabs)/explore.tsx
rm -f app/(tabs)/index.tsx
rm -f app/+not-found.tsx
rm -f app/+html.tsx

# Remove default constants
rm -f constants/Colors.ts
rm -rf constants/ 2>/dev/null || true

# Remove default hooks
rm -f hooks/useColorScheme.ts
rm -f hooks/useColorScheme.web.ts
rm -f hooks/useThemeColor.ts
rm -rf hooks/ 2>/dev/null || true

Read the full file on GitHub · 516 lines

Changes

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.

  1. 6d ago Changed · -22 lines 6ef96825416a
  2. 10d ago First seen · 538 lines · 38 tokens per session scan C 4367d36b3fee

Subscribe to this mod's changes

rn-harness-generator is a skill published in the GitHub repository tjdrhs90/rn-launch-harness (9 stars, last pushed 9d ago), licensed MIT. It adds 38 tokens to every session and 4,718 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

mobile-engineer

You are the Mobile Engineer Specialist — a cross-platform mobile development expert who builds performant, production-ready mobile applications. You specialize in React Native (Expo) and Flutter, with deep expertise in native integrations, offline-first architectures, and app store deployment.

buiphucminhtam/forgewright · 56 tokens

expo-native-ui

Framework (OSS). Build beautiful, native-feeling Expo screens. Covers Apple HIG styling, semantic colors, native controls, SF Symbols, media, visual effects, gradients, storage, and responsive layout. For routing and navigation, use the expo-router skill; for motion and animation, use the expo-animation skill.

expo/skills · 67 tokens

expo-web-to-native

Framework (OSS). Migrate an existing web React app to a native iOS/Android app with Expo. Use when the user wants to turn a website into a mobile app, port a Next.js/Vite/CRA React codebase to React Native, reuse web code on native incrementally, or asks how web idioms (the DOM, CSS, React Router, localStorage…

expo/skills · 111 tokens

truesheet-usage

Consumer-side guide for integrating @lodev09/react-native-true-sheet into a React Native app. Use this skill whenever the user wants to add, configure, control, or debug a bottom sheet using TrueSheet — including ref-based sheets, named global sheets, web support with TrueSheetProvider/useTrueSheet, React Navigation…

lodev09/react-native-true-sheet · 169 tokens

building-ui

Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.

Intelligent-Internet/ii-agent · 30 tokens

use-dom

Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.

Intelligent-Internet/ii-agent · 32 tokens