Skip to content

fix(web): match skill chip icons to file chips and add sent-message tooltips - #9090

Open
Mnigos wants to merge 2 commits into
pingdotgg:mainfrom
Mnigos:workspace-skill-discovery
Open

fix(web): match skill chip icons to file chips and add sent-message tooltips#9090
Mnigos wants to merge 2 commits into
pingdotgg:mainfrom
Mnigos:workspace-skill-discovery

Conversation

@Mnigos

@Mnigos Mnigos commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Two small skill chip fixes that came out of testing workspace skill discovery. The skill icon now renders at the same optical size as file-chip icons (the package glyph fills its viewBox edge to edge, file-type icons carry intrinsic padding). And sent-message chips get the description tooltip the composer already had, with the InlineSkill prop type carrying the description fields through MessagesTimeline and ChatMarkdown, which previously narrowed them away.

Also documents the workspace-scoped skill behavior that #8778 and #9210 shipped in docs/user/composer.md, since neither added docs.

Earlier revisions of this PR carried the workspace discovery itself; that landed piecewise through #8778 by @UtkarshUsername and #9210 by @anirudhsama (based on the approach from #4031 by @D3OXY), so this PR is down to the chip polish. Chip rendering has 7 focused tests.

Demo

Screen.Recording.2026-09-02.at.00.57.59.mov

Screenshots

image

Implemented with Claude Code (Claude Fable 5).


Note

Medium Risk
New RPC spawns Codex app-server processes per workspace lookup (mitigated by timeout and cache); cwd resolution touches orchestration projection data but stays read-only with ownership checks.

Overview
Fixes the $ skill picker and sent-message $name chips using skills from the open project/worktree instead of the server’s startup directory.

Adds provider.listWorkspaceSkills (read-scoped RPC) with contracts for input/result/source: workspace | snapshot. The server resolves cwd from thread.worktreePath ?? project.workspaceRoot, validates thread ownership, and calls an optional listSkillsForCwd on provider instances—with a 30s TTL cache per (instanceId, cwd) that does not mutate provider snapshots. Codex spawns a short-lived app-server in the workspace and calls skills/list; Claude uses discoverClaudeSkills for the resolved cwd; other drivers return source: "snapshot" so clients keep snapshot skills.

On the web, useWorkspaceSkills fetches the workspace catalog for the composer ($ menu, slash skills) and the timeline so chips survive sending. Skill chip UI is aligned (shared wrapper class, smaller skill icon) and timeline chips get description tooltips like the composer.

Reviewed by Cursor Bugbot for commit 26e4a23f392d6c6c72e285dbb3fd001aee61177a. Configure here.

Note

Align skill chip icons with file chips and add description tooltips to sent messages

  • Introduces shared inline-chip wrapper and dedicated skill-icon classes in composerInlineChip.ts so skill chips in both the composer and chat timeline render with consistent 1em icon sizing
  • Expands the shared InlineSkill type to include description and shortDescription, and adds resolveInlineSkillDescription which trims and prefers a non-empty short description before falling back to the full description
  • Conditionally wraps skill chips in a top-positioned tooltip when a description resolves; chips without a description render without a tooltip trigger
  • Updates ChatMarkdown, MessagesTimeline, CollapsibleUserMessageBody, and UserMessageBody to consume the shared InlineSkill type instead of local ServerProviderSkill projections
  • Adds server-rendering tests in SkillInlineText.test.tsx covering known/unknown tokens, punctuation adjacency, shared wrapper usage, and tooltip behavior

Macroscope summarized e1679bc.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Sep 1, 2026
Comment thread apps/server/src/provider/providerSkills.ts Outdated
Comment thread apps/web/src/components/chat/ChatComposer.tsx Outdated
Comment thread apps/web/src/components/ChatView.tsx Outdated

@cursor cursor Bot 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.

Cursor Bugbot has reviewed your changes using high effort and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 26e4a23f392d6c6c72e285dbb3fd001aee61177a. Configure here.

Comment thread apps/web/src/components/ChatView.tsx Outdated
Comment thread apps/server/src/provider/providerSkills.ts Outdated
Comment thread apps/web/src/components/composerInlineChip.ts Outdated
@macroscopeapp

macroscopeapp Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at e1679bc

Macroscope's review found this PR approvable — This PR is limited to web UI polish for existing skill chips, adding conditional description tooltips, aligning icon sizing, and carrying existing metadata through the renderer. The change is self-contained, backward-compatible, and supported by focused tests, with no schema, infrastructure, security, billing, or default-setting impact.

You can add or adjust custom eligibility rules. Learn more.

@Mnigos
Mnigos force-pushed the workspace-skill-discovery branch from 26e4a23 to ea6bcb9 Compare September 1, 2026 20:58
@github-actions github-actions Bot added size:XL 500-999 changed lines (additions + deletions). and removed size:L 100-499 changed lines (additions + deletions). labels Sep 1, 2026
@Mnigos
Mnigos force-pushed the workspace-skill-discovery branch from ea6bcb9 to 0ab5367 Compare September 1, 2026 20:59
Comment thread packages/contracts/src/server.ts Outdated
Comment thread apps/web/src/components/chat/ChatComposer.tsx Outdated
Comment thread apps/server/src/provider/Drivers/CodexDriver.ts Outdated
@Mnigos
Mnigos force-pushed the workspace-skill-discovery branch 2 times, most recently from c9252d4 to 717738a Compare September 1, 2026 21:10
Comment thread apps/server/src/provider/Drivers/CodexDriver.ts Outdated
Comment thread apps/server/src/provider/Drivers/CodexDriver.ts Outdated
Comment thread apps/web/src/components/chat/ChatComposer.tsx Outdated
Comment thread apps/web/src/components/ChatView.tsx Outdated
Comment thread apps/server/src/provider/providerSkills.ts Outdated
Comment thread apps/web/src/components/ChatView.tsx Outdated
Comment thread apps/web/src/components/ChatView.tsx Outdated
@Mnigos
Mnigos force-pushed the workspace-skill-discovery branch from 746f184 to 3e62bb3 Compare September 1, 2026 21:39
Comment thread apps/server/src/provider/providerSkills.ts Outdated
@Mnigos
Mnigos force-pushed the workspace-skill-discovery branch from 7c2c8e2 to 2a63fd0 Compare September 1, 2026 23:06
@Mnigos
Mnigos force-pushed the workspace-skill-discovery branch from 2a63fd0 to 4a6e378 Compare September 2, 2026 09:39
@Mnigos Mnigos changed the title fix(skills): discover provider skills from the active workspace fix(claude): discover workspace skills for the active worktree Sep 2, 2026
@github-actions github-actions Bot added size:L 100-499 changed lines (additions + deletions). and removed size:XL 500-999 changed lines (additions + deletions). labels Sep 2, 2026
Comment thread docs/user/composer.md Outdated
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Sep 2, 2026
@macroscopeapp
macroscopeapp Bot dismissed their stale review September 2, 2026 12:13

Dismissing prior approval to re-evaluate 01313dd

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Sep 2, 2026
@Mnigos
Mnigos force-pushed the workspace-skill-discovery branch from 01313dd to dab755e Compare September 2, 2026 17:48
@Mnigos Mnigos changed the title fix(claude): discover workspace skills for the active worktree fix(web): match skill chip icons to file chips and add sent-message tooltips Sep 2, 2026
@macroscopeapp
macroscopeapp Bot dismissed their stale review September 2, 2026 17:48

Dismissing prior approval to re-evaluate dab755e

@github-actions github-actions Bot added size:M 30-99 changed lines (additions + deletions). and removed size:L 100-499 changed lines (additions + deletions). labels Sep 2, 2026
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Sep 2, 2026
@Mnigos
Mnigos force-pushed the workspace-skill-discovery branch 2 times, most recently from c288b39 to 318b4d9 Compare September 4, 2026 07:38
…ooltips

The package glyph fills its viewBox edge-to-edge, unlike the file-type
icons that carry intrinsic padding, so skill chips render their icon one
step smaller to sit at the same optical size. Sent-message chips gain
the description tooltip the composer already shows; the InlineSkill prop
type carries the description fields through MessagesTimeline and
ChatMarkdown, which previously narrowed them away.
@Mnigos
Mnigos force-pushed the workspace-skill-discovery branch from 318b4d9 to e1679bc Compare September 4, 2026 19:50
@macroscopeapp
macroscopeapp Bot dismissed their stale review September 4, 2026 19:50

Dismissing prior approval to re-evaluate e1679bc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M 30-99 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant