Skip to content

Agentic UI: open slash-command dropdown when typing / in chat - #4509

Merged
sejas merged 6 commits into
trunkfrom
stu-2244-slash-command-dropdown-agentic-ui-081113
Aug 13, 2026
Merged

Agentic UI: open slash-command dropdown when typing / in chat#4509
sejas merged 6 commits into
trunkfrom
stu-2244-slash-command-dropdown-agentic-ui-081113

Conversation

@sejas

@sejas sejas commented Aug 11, 2026

Copy link
Copy Markdown
Member

Related issues

How AI was used in this PR

  • AI helped writing the code and tests

Proposed Changes

  • Typing / in the Agentic UI chat composer now opens the same inline skill-command dropdown that the Classic UI already has: it filters as you type (matching names and descriptions), supports full keyboard navigation (ArrowUp/Down, Enter/Tab to insert, Escape to dismiss), and inserts the chosen command into the draft without stealing focus from the textarea.
  • Bare skill prompts (e.g. /rank-me-up) sent from the browser UI are now expanded into the actual skill invocation instruction before reaching the agent. Previously the local web backend passed the literal slash string through, so skills triggered from the browser UI (including the existing “+ → Skills” menu) did not actually run the skill.
  • The chat transcript still shows the short /command form the user typed; only the prompt the agent receives is expanded — matching the desktop app behavior.

Testing Instructions

  1. Run npm start and start the agentic UI
  2. Type / in the composer — the dropdown opens listing the five skills. Keep typing (e.g. /sp) to filter; ArrowUp/Down moves the highlight; Enter or Tab inserts (e.g. /need-for-speed ); Escape closes and removes the unfinished token; clicking an item inserts it while the textarea keeps focus.
  3. Verify path/to (slash glued to a word) does not open the dropdown.
  4. Send /rank-me-up and confirm the agent actually runs the skill (previously it received the literal string).
  5. Test classic UI to check any regressions
slash-command.mp4

Pre-merge Checklist

  • Have you checked for TypeScript, React or other console errors?

Port the classic UI inline slash-command autocomplete to the agentic UI
composer, and expand bare /skill prompts server-side in the local web
backend by sharing expandSkillCommandPrompt via @studio/common.

Fixes STU-2244

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@sejas sejas self-assigned this Aug 11, 2026
@sejas
sejas marked this pull request as ready for review August 12, 2026 15:10
sejas and others added 2 commits August 12, 2026 17:13
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@wpmobilebot

wpmobilebot commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

📊 Performance Test Results

Comparing 92473d4 vs trunk

app-size

Metric trunk 92473d4 Diff Change
App Size (Mac) 1406.69 MB 1406.70 MB +0.01 MB ⚪ 0.0%

site-editor

Metric trunk 92473d4 Diff Change
load 1063 ms 1068 ms +5 ms ⚪ 0.0%

site-startup

Metric trunk 92473d4 Diff Change
siteCreation 7542 ms 7529 ms 13 ms ⚪ 0.0%
siteStartup 2882 ms 2869 ms 13 ms ⚪ 0.0%

Results are median values from multiple test runs.

Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change (<50ms diff)

@bcotrim bcotrim left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice change, thanks!

One issue I ran into: the command picker still work in mid sentences but the command won't actually trigger. Should we display it only at the start of the prompt?

Image

In classic UI we have the "/" button, I wonder if we should keep it, I think it's nice for discoverability. What do you think?

@sejas

sejas commented Aug 13, 2026

Copy link
Copy Markdown
Member Author

I think that's expected. In claude code you can trigger multiple skills at once if you want. The skill is loaded correctly even if you trigger it in the mid sentence.

@bcotrim

bcotrim commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

I think that's expected. In claude code you can trigger multiple skills at once if you want. The skill is loaded correctly even if you trigger it in the mid sentence.

Yes it makes sense in that case, disregard! 🙇

@bcotrim bcotrim left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving after the clarification on the mid sentence commands.
The "/" button is a suggestion we can revisit later

Keep expandSkillCommandPrompt in @studio/common, rebuilt on trunk's
resolveSkillFromPrompt, so both the desktop IPC handler and the
`studio ui` server share one implementation.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@sejas
sejas merged commit d332bef into trunk Aug 13, 2026
13 checks passed
@sejas
sejas deleted the stu-2244-slash-command-dropdown-agentic-ui-081113 branch August 13, 2026 12:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants