fix(tui): route /skills subcommands through skills.manage instead of curses slash.exec

/skills install, inspect, search, browse, list now call the typed skills.manage RPC
and render results via panel/page. Previously they fell through to slash.exec which
invokes v1's curses code path — that hangs or crashes inside the Ink worker per the
§2 parity-audit finding.

Also drop Enter-as-install from the Skills Hub action stage since the Hub lists
locally installed skills; primary action is inspect-and-close. x still triggers a
manual reinstall for power users.
This commit is contained in:
Brooklyn Nicholson 2026-04-18 09:46:36 -05:00
parent 949b8f5521
commit 5e148ca3d0
3 changed files with 198 additions and 22 deletions

View file

@ -89,10 +89,16 @@ export function SkillsHub({ gw, onClose, t }: SkillsHubProps) {
}
if (stage === 'actions') {
if (key.return || ch.toLowerCase() === 'x') {
if (skillName) {
install(skillName)
}
if (key.return) {
setStage('skill')
setInfo(null)
setErr('')
return
}
if (ch.toLowerCase() === 'x' && skillName) {
install(skillName)
return
}
@ -271,7 +277,7 @@ export function SkillsHub({ gw, onClose, t }: SkillsHubProps) {
{err ? <Text color={t.color.label}>error: {err}</Text> : null}
{installing ? <Text color={t.color.amber}>installing</Text> : null}
<Text color={t.color.dim}>Enter install · i inspect · x install · Esc back</Text>
<Text color={t.color.dim}>i reinspect · x reinstall · Enter/Esc back</Text>
</Box>
)
}