Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add HuolalaTech/huolala-figma-mcp --skill reactnative-convertgit clone --depth 1 https://github.com/HuolalaTech/huolala-figma-mcpWrote 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.
[](https://agentmods.dev/skills/huolalatech/huolala-figma-mcp/reactnative-convert)<a href="https://agentmods.dev/skills/huolalatech/huolala-figma-mcp/reactnative-convert"><img src="https://agentmods.dev/badge/skills/huolalatech/huolala-figma-mcp/reactnative-convert/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.
<a href="https://agentmods.dev/skills/huolalatech/huolala-figma-mcp/reactnative-convert"><img src="https://agentmods.dev/badge/skills/huolalatech/huolala-figma-mcp/reactnative-convert.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00063 | $0.02130 |
| Opus 5.5 | $0.00025 | $0.00852 |
| Sonnet 5.5 | $0.00013 | $0.00426 |
| Haiku 4.5 | $0.00006 | $0.00213 |
Grade A, and why
react-native-convert scanned grade A with 0 findings 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 1mo 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 149 lines — stays where its author put it; the contents beside it link to each section on GitHub.
React Native 代码转换
1. 代码文件结构生成
文件结构要求:
- 如果用户要求了文件结构,以用户要求的为准
- 如果没有要求,则使用默认结构:
App.tsx、styles.ts
2. 样式处理和语义化命名
样式处理规则:
- 使用
StyleSheet.create()定义样式 - 不支持多 class 组合,需要合并样式对象:
style={[styles.driverName, styles.driverName7055b1]} - 样式属性名使用驼峰命名:
backgroundColor、fontSize、marginTop等 - 所有数值属性必须精确匹配原始值(包括小数)
步骤:
- 提取行内样式:遍历所有元素,提取
style属性 - 语义化命名:
- 文本组件:根据文本内容(
navTitle、driverName) - 容器组件:根据功能(
navBar、driverCard) - 图片组件:根据用途(
backIcon、driverAvatar) - 禁止:
container{ID}或comp{ID}格式
- 文本组件:根据文本内容(
- 提取公共样式:
- 找出相同语义化名称的组件
- 分类:公共样式(字体、颜色、边框非位置) + 单独样式(布局、尺寸、间距、定位)
- 合并样式对象:
style={[styles.driverName, styles.driverName7055b1]}
- 精确样式匹配:
- 所有数值属性:width、height、margin、padding、fontSize、lineHeight 等必须精确匹配原始值(包括小数)
- 定位属性:position、top、left、right、bottom 必须精确匹配
- 颜色值:rgba 颜色值必须完全一致
- 验证方法:转换完成后,对比每个元素的样式属性,确保所有值完全一致
- 样式完整性验证(⚠️ 强制要求):
- 必须验证:对于每个元素,公共样式 + 单独样式 = 原始行内样式的完整集合
- 验证方法:
- 提取原始行内样式的所有属性(包括 flexbox 属性:flexDirection、justifyContent、alignItems、display 等)
- 检查公共样式中是否包含所有非位置相关属性
- 检查单独样式中是否包含所有位置、尺寸、间距相关属性
- 确保两个样式对象合并后,所有属性都完整且值精确匹配
- 常见遗漏属性:flexDirection、justifyContent、alignItems、alignSelf、flexWrap、columnGap 等 flexbox 属性
- 验证失败处理:必须修复后重新验证,不能跳过
要求:
- ⚠️ 强制要求:公共样式 + 单独样式 = 完整样式(不能丢失任何属性,包括所有 flexbox 属性)
- ⚠️ 强制要求:所有样式属性值必须精确匹配原始值
- ⚠️ 强制要求:必须使用组件(View、Text、Image 等),转换为组件结构,不需要保持 HTML 结构,但需要保持视觉层级和逻辑关系
- ⚠️ 强制要求:样式必须使用 StyleSheet,不能使用 CSS
- 图片路径使用
require()导入
3. 识别交互组件并实现状态切换
选中态组件识别:
- 查找相同结构的容器(Tab 项、筛选选项)
- 检查样式差异:背景色、边框、文本颜色
- 添加状态样式:
filterTabActive、filterTabInactive
按钮组件识别:
- 检查是否包含可点击内容(文本或图标)
- 检查是否有视觉反馈样式(背景色、边框、圆角)
- 添加点击效果样式:
.clicked、.pressed
交互逻辑实现:
- 使用
onPress事件:onPress={handlePress} - 在组件中定义处理函数
- 通过
setState更新状态,切换样式
4. 循环渲染支持
循环组件识别规则(必须满足所有条件):
- 组件结构完全相同:类型、数量、层级完全一致
- 样式基本相同:公共样式相同,单独样式差异 ≤ 3 个属性
- 在 HTML 中连续出现:重复结构在 HTML 中连续出现或属于同一父组件
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.
- 1mo ago First seen · 149 lines · 63 tokens per session scan A 42a5d4906712
react-native-convert is a skill published in the GitHub repository HuolalaTech/huolala-figma-mcp (85 stars, last pushed 4mo ago), licensed Apache-2.0. It adds 63 tokens to every session and 2,130 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
agent-spec-mobile-react-native
Agent skill for spec-mobile-react-native - invoke with $agent-spec-mobile-react-native.
expo-native-ui
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-brownfield
Integrate Expo and React Native into an existing native iOS or Android app. Use for brownfield, embedding a React Native screen in SwiftUI/UIKit or Kotlin, or AAR/XCFramework packaging. Covers isolated and integrated approaches. For building or distributing a purely native app with EAS, use eas-app-stores.
react-native-testing
Write tests using React Native Testing Library (RNTL) v13 and v14 (@testing-library/react-native). Use when writing, reviewing, or fixing React Native component tests. Covers: render, screen, queries (getBy/getAllBy/queryBy/findBy), Jest matchers, userEvent, fireEvent, waitFor, and async patterns. Supports v13 (React…
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…
taro-ui-guide
Guides installation, Taro config, styling, and usage of taro-ui (At components) for WeChat/Alipay/H5/RN. Use when building Taro apps with taro-ui, picking components, theming, i18n, or modifying packages/taro-ui source.