# Managed by IssueSpec. Hand edits are welcome; keep the schema valid.id:8title:Add ACP commandsstate:closedauthor:name:k33gemail:ph.charriere@gmail.comcreatedAt:2026-09-17T20:29:17.602ZupdatedAt:2026-09-17T22:57:22.259Zlabels:[]body:| The Claude Code ACP adapter announces its slash commands with a
`session/update` of kind `available_commands_update`; the bridge already relayed it
verbatim but the SPA ignored it.
Implemented (2026-09-17):
- Reducer: `available_commands_update` stores `commands` in `ChatState` (typed
`AcpAvailableCommand` in `ui/src/protocol.ts`), cleared on `hello`.
- Composer: the commands are merged into the `/` popup with the skills discovered on
disk (ticket 0012), deduplicated by name and tagged "command"; picking one inserts
`/<name> ` — the text in `session/prompt` is the invocation mechanism.
- Mock agent: emits one `available_commands_update` (`review`, `compact`) at session
start so `make run-mock` exercises the feature; covered by a Go test.tasks:[]comments:[]
One first-party cookie so a repeat visit isn't counted twice. No cross-site tracking, nothing stored until you accept. Cookie Policy.