Implement or extend the opt-in Codex/T3-like chat-first shell. Use when changing chat rails, contextual app panes, app opening, or local/mobile shell preferences across Electron, Dispatch, or mobile.
87%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
The chat remains the primary surface. Workspace apps are a bounded discovery rail, not a second navigation system. An app pane is opened from an explicit app selection or a completed open_app action and carries only an app id plus a validated app-relative path or view.
sections, the app shelf is capped at six visible entries and
supports pinning and drag-reordering (Desktop). Both are presentation
preferences; the agent-visible target remains the registered app id and
route.sections (Dispatch), the host owns grouping and order and the rail
shows every row it is given, expanded and collapsed, with an optional
emptyLabel and no drag or move controls. Dispatch's sidebar passes one
section: Pinned apps (pin order), or with no pins three suggested apps
(workspace apps A to Z, else Agent-Native.com hosted apps), plus the open app; All apps holds
the rest. Tier with Dispatch's tierWorkspaceApps so the sidebar, Home, New
chat, and All apps agree.useWorkspaceAppLayout) saved to
device storage and application_state chat-first-app-layout. Read and
write pins only through it, and pass the rail its togglePinned as
onTogglePinned; a whole layout from another copy overwrites pins set
elsewhere. Workspace state is written only after it has been read; an
unreadable read keeps changes on the device, shows the one Layout-level
notice, and retries. When an organization hides Agent-Native.com hosted apps,
list-connected-agents still returns them marked hiddenFromLaunchers
(the Agents page and A2A directory need them); launchers drop them through
filterBuiltInApps and isWorkspaceAppVisibleInDefaultLaunchers, while
app registrations keep them so open_app and pane restore still resolve.open_app action with a real app, path, or view. A missing or unreadable
result is not success, and namespaced third-party tools cannot steer the
pane.Test the disabled path and the enabled path separately. For the enabled path, verify rail ordering, chat history, app selection, embed-session errors, pane close, and completed open_app behavior in a running client. Treat configuration alone as insufficient proof.
BuilderIO/agent-native
46ed84c
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.