一键导入
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.