원클릭으로
tui-renderable-review
Review OpenTUI/Solid TUI code for invalid text renderables that can crash TextNodeRenderable handling.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Review OpenTUI/Solid TUI code for invalid text renderables that can crash TextNodeRenderable handling.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Author runnable TypeScript workflows for OpenCode. Use when creating reusable executable flows under .opencode/workflows or when asked how to write, structure, debug, or invoke a workflow. Triggers on: write a workflow, create workflow, workflow authoring, /workflow, .opencode/workflows.
Run an ultrawork test-fix loop: read the ledger, select the highest-priority unresolved failure, diagnose and fix it, verify it, update the ledger, and continue until all entries are fixed or a blocking escalation stops the run. Use when you need to keep fixing test failures from a ledger. Triggers on: test-fix-round, test-fix-loop, fix test ledger, fix next test, ultrawork test fix.
Generate a Product Requirements Document (PRD) for a new feature. Use when planning a feature, starting a new project, or when asked to create a PRD. Triggers on: create a prd, write prd for, plan this feature, requirements for, spec out.
Convert PRDs to prd.json format for the Ralph autonomous agent system. Use when you have an existing PRD and need to convert it to Ralph's JSON format. Triggers on: convert this prd, turn this into ralph format, create prd.json from this, ralph json.
Run typecheck and build, extract only errors, and return a concise pass/fail report. Use before tests to catch compile/resolve errors early. Triggers on: build-verify, verify build, check build, typecheck.
Run tests, parse output, and produce a structured failure report with dual verification. Use when you need to analyze test failures, diagnose broken tests, or generate a failure report. Triggers on: test-analyze, analyze tests, test failures, test report, diagnose tests.
| name | tui-renderable-review |
| description | Review OpenTUI/Solid TUI code for invalid text renderables that can crash TextNodeRenderable handling. |
| agent | ["momus"] |
Use this skill when reviewing packages/opencode/src/cli/cmd/tui/**/*.tsx for values that may flow into OpenTUI text rendering and crash at runtime.
children={...} on custom JSX components, especially when forwarding props.children<text>...</text> that are not obviously stringsundefined<text> internallychildren={...} unless the callee explicitly accepts safe text renderablesprops.children is not blindly forwarded into components that later render inside <text><text>{expr}</text> path resolves to string-like output on every branch&&, ternaries, map(), and helpers used in text positions cannot return JSX objects or arrays of elements"" or plain text, not mixed component/text outputBad:
<Spinner children={props.children} />
<text>{busy() && <Spinner />}</text>
<text>{items().map((item) => <Badge>{item.label}</Badge>)}</text>
Good:
;<Spinner>{label()}</Spinner>
{
busy() ? <Spinner /> : <text>Idle</text>
}
;<text>
{items()
.map((item) => item.label)
.join(", ")}
</text>
For each finding, include:
Call out packages/opencode/src/cli/cmd/tui/routes/session/index.tsx if you see the known regression shape: explicit children={props.children} on a custom component that renders text internally.