feat(web): redesign skills in $ menu and in / menu - #8009
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
UI consistency review found two issues in ComposerCommandMenu.tsx: the composer menu's secondary text moved off the secondary-label theme role onto text-muted-foreground! plus a raw opacity-60, and the repo skill source now uses the icon this app reserves for branches. Details inline.
Posted via Macroscope — UI Consistency
There was a problem hiding this comment.
One new finding on the skill source badge; the earlier note about text-muted-foreground!/opacity-60 replacing the secondary-label theme role in this same file is still open and not re-posted here.
Posted via Macroscope — UI Consistency
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit c1a5570. Configure here.
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR introduces a persisted user preference and materially changes the You can add or adjust custom eligibility rules. Learn more. |
$ menu in / menu$ menu and in / menu
## What's Changed * feat(web): redesign skills in `$` menu and in `/` menu by @extoci in pingdotgg/t3code#8009 * fix(web): restore right panel toggle clicks after closing on desktop by @UtkarshUsername in pingdotgg/t3code#8016 * fix(web): keep server update banners flush with the composer by @t3dotgg in pingdotgg/t3code#8000 * perf(web): reuse work log rows during streaming by @Bil0000 in pingdotgg/t3code#8006 * fix(web): keep provider badge legible in dark themes by @RakshithBhat03 in pingdotgg/t3code#7968 **Full Changelog**: pingdotgg/t3code@v0.0.34-nightly.20260823.1170...v0.0.34-nightly.20260823.1171 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.34-nightly.20260823.1171
Fast-forwards main from f70eeee to 7c6163c (16 commits, 65 files) and merges it into dev. Small in commits, heavy in fork contact: 38 of those files carried fork delta, but that produced only 7 conflicts across 9 hunks. Upstream lands a redesigned skills menu behind a new showSkillsInSlashMenu setting (pingdotgg#8009), Codex app access approval prompts (pingdotgg#8058), usage views that hide providers with no usage (pingdotgg#7563), four timeline and tool-call fixes (pingdotgg#7971, pingdotgg#8052, pingdotgg#7999, pingdotgg#8006), uppercase URL schemes treated as secure (pingdotgg#8005), and a CI and Windows packaging speed pass (pingdotgg#7975). Notable resolutions. Upstream's new slash-menu skill helpers auto-merged reading raw selectedProviderStatus.skills. They now take the fork's resolved effectiveProviderSkills, so the $ picker and the / menu still agree about project-scoped skills on a thread whose cwd differs from the server's. That same raw read has landed in a composer three syncs running and compiles cleanly every time. ComposerCommandMenu keeps the fork's Manual marker beside upstream's new source badge. ChatView.logic takes upstream's MessageId but not the ProjectId it re-added, because the fork's v2 storage key is scoped per environment. ChatView keeps its single route-scoped visit selector and thread-keyed background stop while adopting upstream's running-turn anchor release. One thing to know about acceptAlways: it is a new persisted approval decision, so an approval answered on this build does not decode on an older one. vp check, typecheck, and focused tests pass. The full suite is green with no failures at all this time, PortScanner included. lint:mobile was required because the @legendapp/list patch changed, and passes. Reviewed and merged by Claude Opus 5 in Claude Code, with gpt-5.6-sol subagents for the behavioral reviews and post-merge audits.
(cherry picked from commit 9da0fab)

What Changed
$the primary skill menu./skill:Skill Namewhile keeping their original names searchable.Why
Styling in both the $ and / menus was inconsistent. Skills didn't fit in the / menu and icons in the $ menu weren't clearly explaining their meaning.
UI Changes
Before:
After:
Checklist
Built with GPT-5.6 Sol in the Codex harness.
Note
Redesign skill display in
/menu and addshowSkillsInSlashMenusettingshowSkillsInSlashMenusetting (defaulttrue) to persist user preference for showing provider skills in the/menu, with a toggle in Settings → General./menu use the/skill:<name>label format, and provider slash commands that duplicate a visible skill name are filtered out viagetProviderSlashCommandsForSlashMenu.ComposerCommandMenuitems to use left-aligned labels and a right-alignedSkillSourceBadgeshowing the skill source icon and label./skill:prefixes and retain skills for partialskqueries.otherskill source label is now "Provider" and thereposource icon changes fromFolderGit2IcontoFolderIcon.Macroscope summarized 5c4771b.
Note
Low Risk
Composer UI and a client-local boolean setting only; no auth, data, or server-side behavior changes.
Overview
Redesigns how skills appear in the composer
/and$menus, and adds a Show skills in slash menu setting (default on) so users can keep/command-only. Skills still always show when typing$.Slash-menu skills now render as
/skill:Display Name(original names stay searchable). Provider slash commands that share a visible skill name are dropped so the skill alias wins. Menu rows use left-aligned labels/descriptions and a right-aligned source badge (App, Repo, Personal, etc.;otheris labeled Provider).Reviewed by Cursor Bugbot for commit 5c4771b. Bugbot is set up for automated code reviews on this repo. Configure here.