0808226ca3
InputController.#invokeSkillCommand cleared the draft and awaited the full promptCustomMessage dispatch with no transcript render. AgentSession.#promptWithMessage runs awaited preflight (memory recall, before_agent_start hooks, auto-thinking classification, pre-prompt compaction) before the message reaches the agent, so a slow step such as a Hindsight auto-recall timeout left the composer cleared with no pending row, unlike a normal prompt's optimistic row from startPendingSubmission. Idle skill submissions now paint an optimistic skill row before the awaited dispatch; the canonical message_start reconciles it in place via EventController instead of appending a duplicate. Streaming submissions still queue and show their chip. Fixes #8895