diff --git a/packages/client/ui-skill/src/client/SkillRow.tsx b/packages/client/ui-skill/src/client/SkillRow.tsx
index c847678e4a..be1084ec39 100644
--- a/packages/client/ui-skill/src/client/SkillRow.tsx
+++ b/packages/client/ui-skill/src/client/SkillRow.tsx
@@ -85,6 +85,19 @@ function leadingFor(state: SkillRowState): ReactNode {
}
}
+/** Leading disclosure slot: state icon at rest, chevron on hover or while open. */
+function disclosureLeading(state: SkillRowState, open: boolean, expandable: boolean): ReactNode {
+ if (open) return
+ const icon = leadingFor(state)
+ if (!expandable) return icon
+ return (
+ <>
+ {icon}
+
+ >
+ )
+}
+
/** Visually hidden state copy for the colour-only lifecycle cues. */
function stateStatus(state: SkillRowState, t: SkillRowProps['t']): string | null {
switch (state) {
@@ -125,16 +138,7 @@ export function SkillRow({ block, inspect, t }: SkillRowProps) {
event.preventDefault()
toggleExpand()
}
- const leading = open
- ?
- : expandable
- ? (
- <>
- {leadingFor(model.state)}
-
- >
- )
- : leadingFor(model.state)
+ const leading = disclosureLeading(model.state, open, expandable)
return (