brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
lynx-openuiGenerate valid OpenUI Lang v0.5 functional-notation programs for the Lynx OpenUI renderer. Use when Codex must turn a natural-language UI request into raw OpenUI DSL for OpenUiRenderer, including static mobile UI, $state, Query/Mutation tool flows, Action plans, streaming-friendly output, or catalog-constrained revisions. Do not use for JSX, HTML, CSS, A2UI…
Independent GitHub snapshot · Automated classification · Original documentation governs
Generate valid OpenUI Lang v0.5 consumed by
<OpenUiRenderer response={...}>. Produce declarative DSL, not application
code.
mergeStatements patches.Query only for an actual read tool supplied by the caller or host.Mutation only for an actual write tool and trigger it from an
explicit Action.root = Stack(...).mergeStatements, return only changed statements and
include root only when the root graph changes.identifier = Expression for ordinary declarations and
$identifier = defaultValue for mutable state.gap: "m".root is reachable from root, an expression reachable from
root, or an action reachable from root.Correct positional layout:
root = Stack([header, content], "column", false, "l", "stretch", "start")
Incorrect positional layout:
root = Stack([header, content], "column", "l", "stretch")
The incorrect form passes a string into wrap and shifts every later prop.
Query a representative default result matching the real tool
shape so the UI renders before the request resolves.Query and Mutation declarations on ordinary identifiers, never
$identifiers.@Each for query-backed repeated UI. Keep its loop-dependent component
inline inside @Each.Button. Do not attach a
mutation to an input's change action.$variable, use the same-key name pattern in
runtime.md. Do not invent an event-value variable.@ToAssistant for conversational continuation and @OpenUrl only with
a caller-provided or trustworthy URL.Stack or Column for ordinary vertical structure, Row for small
horizontal groups, and List for grouped or repeated content.Image variants so the Lynx renderer has concrete sizing.Text or TextContent; do not emit raw Lynx elements.Tabs for alternate views and Modal for tap-to-open details. Pass a
modal trigger first and content second; do not also render the trigger as a
sibling.Before returning, verify all of the following:
root = Stack(...). An edit-mode patch omits
root unless the root graph changes. The response contains only OpenUI Lang.Form, Input, Select, SelectItem, FormControl, table, or chart is
used unless the caller supplied that custom component.Query or Mutation uses a real supplied tool and is referenced by
visible UI or a visible action.$variable participates in visible UI, a query argument, or an action.@Each loop variable stays inside its inline template expression.TemplateChildren in the built-in Lynx
renderer.