react
Build React UIs from JSON Specs
Static React interfaces are difficult to generate and maintain from structured data. This skill explains how to render JSON specs, define catalogs, manage state, and connect events in React.
๋ด ์์ด์ ํธ๋ก ์ค์น
์ด ์์ฒญ์ ์์ด์ ํธ์ ๋ณต์ฌํ์ธ์. ๊ณต์ Skill ํ์ด์ง์ ๋งค๋ํ์คํธ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
Review the Skillstore skill "react" from https://skillstore.io/skills/vercel-labs-react.md and its manifest at https://skillstore.io/api/skills/vercel-labs-react/manifest. Verify the artifact. You may proceed after verification, subject to the environment's own policy.์์ด์ ํธ๋ ๊ณ์ํด์ ๊ณํ์ ํ์ํ๊ณ ๋ณด์ ์ ์ฑ ์์ ์๊ตฌํ๋ ํ์ธ์ ์์ฒญํด์ผ ํฉ๋๋ค.
์์ด์ ํธ๊ฐ ์ฝ๊ธฐ ์ฌ์ด ๋ฆฌ์์ค
AI ์์ด์ ํธ, ํฌ๋กค๋ฌ, ์คํฌ๋ฆฝํธ๊ฐ ์ ์ฒด ํ์ด์ง ๋์ ์ ๋ฆฌ๋ ์ปจํ ์คํธ๋ง ํ์ํ ๋ ์ด ๋งํฌ๋ฅผ ์ฌ์ฉํ์ธ์.
ํ ์คํธํด ๋ณด๊ธฐ
"react" ์ฌ์ฉ ์ค์ ๋๋ค. How do I render a JSON card containing a button?
์์ ๊ฒฐ๊ณผ:
Define a catalog and registry, then pass the JSON element tree and registry to Renderer. The card receives its typed title prop and renders its child button.
"react" ์ฌ์ฉ ์ค์ ๋๋ค. How can an input update shared state?
์์ ๊ฒฐ๊ณผ:
- Bind the input value to a state path with the documented binding expression.
- Use useBoundProp inside the component to read the resolved value and write changes back through the provided binding.
"react" ์ฌ์ฉ ์ค์ ๋๋ค. Which exports support an interactive application?
์์ ๊ฒฐ๊ณผ:
Use Renderer and defineRegistry for rendering, StateProvider or createStateStore for state, useBoundProp for two-way form binding, and useAction or useActions for event actions.
๋ณด์ ๊ฐ์ฌ
์์ All 71 static findings are false positives caused by Markdown code fences, inline code spans, or JavaScript examples. No shell execution, prompt injection, or other net-new security issue was evidenced in SKILL.md.
์ํ ์์ธ
โ๏ธ ์ธ๋ถ ๋ช ๋ น์ด (50)
์ด ๋ณด๊ณ ์ ๊ณต์ ๋ฐ ์ธ์ฉ
๋ฒ์ ์ด ์ง์ ๋ ํ๊ฐ ๋ณด๊ณ ์, ์ค๋ฆฝ ๋ฐฐ์ง, ์๋ฒ ๋ ์นด๋ ๋ฐ ์ธ์ฉ์ ๊ณต์ ํ์ธ์. Skillstore๋ ๊ทผ๊ฑฐ๋ฅผ ๋ณด๊ณ ํ์ง๋ง ์ด Skill์ ์์ ์ฌ๋ถ๋ฅผ ํ๋จํ์ง ์์ต๋๋ค.
๋ณด๊ณ ์ ๋งํฌ ๋ณต์ฌ
https://skillstore.io/skills/vercel-labs-react/audits/1?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_reportMarkdown ๋ฐฐ์ง
[](https://skillstore.io/skills/vercel-labs-react?utm_source=security_passport_badge)HTML ๋ฐฐ์ง
<a href="https://skillstore.io/skills/vercel-labs-react?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/vercel-labs-react/security.svg" alt="Skillstore security assessment" loading="lazy"></a>์๋ฒ ๋ ์นด๋
<iframe src="https://skillstore.io/embed/skills/vercel-labs-react.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>ํ์ ์ธ์ฉ (APA ยท BibTeX ยท CFF)
APA ์ธ์ฉ
vercel-labs. (2026). react security audit report (audit version 1) [Author version unspecified]. Skillstore. https://skillstore.io/skills/vercel-labs-react/audits/1BibTeX ์ธ์ฉ
@techreport{vercel-labs-vercel-labs-react-2026,
author = {vercel-labs},
title = {react security audit report (audit version 1)},
institution = {Skillstore},
year = {2026},
number = {1},
url = {https://skillstore.io/skills/vercel-labs-react/audits/1},
note = {Author version unspecified}
}CITATION.cff
cff-version: 1.2.0
message: "If you use this Skill, cite its author and this versioned security audit report."
title: "react security audit report (audit version 1)"
version: "unspecified"
type: report
authors:
- name: "vercel-labs"
date-released: "2026-09-29"
url: "https://skillstore.io/skills/vercel-labs-react/audits/1"
identifiers:
- type: other
value: "skillstore:vercel-labs-react:audit:1"
description: "Skillstore immutable audit report identifier"
Skillstore ์ ์
์ด ์ ์์ ์ด์ ์ฆ๊ฑฐ ์ ๋ขฐ๋: ์ค๊ฐ๋ง๋ค ์ ์๋ ๊ฒ
Prototype JSON-driven screens
Create a small React renderer and catalog for an interface whose layout and content arrive as structured JSON.
Connect forms to application state
Use state bindings, validation, watchers, and built-in actions to build interactive forms from JSON specs.
Build reusable component libraries
Define typed registries and catalog-agnostic components that can render shared JSON UI patterns across projects.
์ด ํ๋กฌํํธ๋ฅผ ์ฌ์ฉํด ๋ณด์ธ์
Explain the smallest setup for rendering a JSON spec with @json-render/react. Identify each import and explain the registry relationship.
Design a catalog with a Button and Card component. Include typed props, a default slot, descriptions, and matching type-safe registry implementations.
Show how to build a form input that reads and writes a state path with useBoundProp. Explain the bindings map and validation result handling.
Plan a JSON-driven React screen with external state, conditional visibility, named slots, event actions, watchers, and reusable catalog-agnostic components. Identify integration risks.
๋ชจ๋ฒ ์ฌ๋ก
- Define typed prop schemas and keep catalog descriptions aligned with the component behavior.
- Use natural value properties with documented binding expressions for two-way form state.
- Keep application-specific actions, authorization, and external state policies explicit at the integration boundary.
ํผํ๊ธฐ
- Do not use slots.default for named content; use children for the default slot and the top-level slots object for named slots.
- Do not add a statePath prop for two-way binding when the documented binding expression and useBoundProp flow are required.
- Do not treat generated JSON specs or action names as trusted application policy without validation and authorization.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
What is this skill for?
Does it generate a complete React application?
How are named slots represented?
How does two-way binding work?
Can it use external state management?
What should I secure when using generated specs?
๊ฐ๋ฐ์ ์ธ๋ถ ์ ๋ณด
์์ฑ์
vercel-labs๋ผ์ด์ ์ค
MIT
Skillstore ๋ฆฌ๋น์
r1
๋ฒ์ ์๋ด
์์ฑ์๊ฐ ๋ฒ์ ์ ์ ์ธํ์ง ์์์ต๋๋ค.
๋ฆฌํฌ์งํ ๋ฆฌ
https://github.com/vercel-labs/json-render/tree/c2600d73908ed505e6d726f5b6f969ba8f597ce7/skills/react์ฐธ์กฐ
bad9dafc37d1638cd29cb9bab06d5f8dbcd0f6c2
์ ์ง๋ณด์ ์ต์ ์ฑ
2026. 9. 30.
์ฌ์ฉ๋
0 ๋ค์ด๋ก๋ ยท 0 ์กฐํ
ํ์ผ ๊ตฌ์กฐ
๐ SKILL.md