feat(home): searchable skill picker in quick-action editor#2979
Merged
Conversation
Replace the plain skill `<select>` in the home Config quick-action editor with a searchable Combobox that filters across skill name and description and shows each skill's title plus a truncated description while picking. - Extend the shared `Combobox.Item` with an optional `description` prop that renders a muted, single-line truncated second line; add supporting CSS so two-line items grow to fit and the selected-check stays top-aligned. Items without a description are unchanged. - Rebuild the `ActionEditorPanel` skill field as `Combobox.Root` with `getValue` spanning name + description, a search input, empty state, and a "N more; type to filter" hint. - Add a `WithDescriptions` Storybook story documenting the new item variant. Generated-By: PostHog Code Task-Id: d7caf7bc-b854-46b9-bfbc-af4647bb8e98
|
React Doctor found no issues in the changed files. 🎉 Reviewed by React Doctor for commit |
Contributor
|
Reviews (1): Last reviewed commit: "feat(home): searchable skill picker in q..." | Re-trigger Greptile |
- Show "Loading skills…" in the combobox empty state while skills load - Use Combobox.Label instead of raw combobox-label divs (panel + story) Generated-By: PostHog Code Task-Id: 57b6c685-e5ae-4ce3-b8dc-4e7dd96051b1
- Only wrap items in the text-group flex column when a description is present, restoring the flat single-span DOM for the common single-line case; use a truthy guard consistent with the icon check. - Hoist the skill search-key function to module scope so its reference is stable, avoiding needless re-runs of the combobox fuzzy filter on unrelated panel re-renders. Generated-By: PostHog Code Task-Id: 57b6c685-e5ae-4ce3-b8dc-4e7dd96051b1
adboio
reviewed
Jun 29, 2026
Address Adam's review: skill-picker filtering scored a single concatenated "name description" string with cmdk's defaultFilter, so a hit deep in a long description ranked as highly as a name match. Add an opt-in `searchKeys` path to the Combobox filter, backed by fuse.js (already a dependency, used in core/suggestions and PromptHistoryDialog): - weighted multi-key matching (skill name 0.7, description 0.3) - prefix matches on `getValue` promoted for exact-match priority - falls back to the existing cmdk single-string path when `searchKeys` is omitted, so other combobox consumers are unaffected Wire it into the action-editor skill picker and cover the new path with tests (name match outranks description-only match; prefix promotion). Generated-By: PostHog Code Task-Id: 57b6c685-e5ae-4ce3-b8dc-4e7dd96051b1
adboio
approved these changes
Jun 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Improves skill selection while building a quick action in the home Config tab. The skill field in
ActionEditorPanelis no longer a bare<select>of names — it's now a searchable combobox that:nameanddescription(fuzzy, via the existinguseComboboxFilter).Changes
Combobox.Itemprimitive (Combobox.tsx+Combobox.css): added an optionaldescriptionprop that renders a muted, single-line ellipsis-truncated second line. CSS lets two-line items grow to fit and keeps the selected-check top-aligned. Items without a description are unchanged, so existing consumers (TaskSelector, stories) are unaffected.ActionEditorPanel.tsx):Combobox.Root→Trigger→Contentwithitems={skills}andgetValue={(s) => \${s.name} ${s.description}`}`, a search input, empty state, and a "N more; type to filter" hint.WithDescriptionsStorybook story documenting the new two-line item variant.Verification
pnpm build— all 8 packages succeed.pnpm --filter @posthog/ui typecheck— clean.biome checkon all changed files — no issues.Not yet eyeballed in the running Electron app; happy to drive it over CDP and screenshot the dropdown if useful.