Preview the highlighted skill's description in the picker - #581
Open
xsh310 wants to merge 5 commits into
Open
Conversation
xsh310
added this pull request to stack #576
September 12, 2026 05:37
xsh310
marked this pull request as ready for review
September 12, 2026 07:13
xsh310
force-pushed
the
skills-picker-download-preview
branch
from
September 12, 2026 07:14
d4e6fb4 to
0a3ef3f
Compare
Add a footer to the download picker that previews the description of the highlighted skill, so a picker row is more than a bare FQN. - SkillRef gains a description field, populated by _skill_ref from the ListSkills response, so it rides in on the same streaming walk with no per skill GetSkill. - _skill_download_choice passes it as the Choice description. - scrolling_checkbox gains show_description (default False, so the MCP picker is unchanged). It renders the highlighted row's description in its own footer window rather than questionary's inline show_description, whose extra line the fixed-height choices window would clip. A ~1024 char description is truncated to a bounded preview (_description_preview). Co-authored-by: Isaac <no-reply@databricks.com>
Address two picker paper cuts: prefix the preview with a bold `Skill description:` label so it reads as the skill's description, and move the left margin into get_line_prefix so wrapped continuation lines keep the indent instead of falling back to column 0. Co-authored-by: Isaac <no-reply@databricks.com>
Move the scroll and loading footers back above the description, and put the description in its own bottom block with a blank line above it, so it reads as a detail pane separated from the navigation hints rather than crowding them. Co-authored-by: Isaac <no-reply@databricks.com>
Replace the static `Skill description:` prefix with the highlighted skill's bundle name, since the row shows the FQN and the bundle name (the on-disk dir) is the one identifier not otherwise on screen. The picker footer now bolds a leading `label:` in the description generically; the skills layer formats the description as `<bundle_name>: <description>`. Co-authored-by: Isaac <no-reply@databricks.com>
Drop the skill-specific aside from the preview-cap comment; the picker is a generic primitive and shouldn't reference skills. Co-authored-by: Isaac <no-reply@databricks.com>
xsh310
force-pushed
the
skills-picker-download-preview
branch
from
September 12, 2026 07:17
0a3ef3f to
b3cf561
Compare
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.
What
A small UX follow-up on the
ug skill addpicker (PR #579): the picker now previews the highlighted skill's description in a footer, so a row is more than a bare FQN. Requested in review on #579.Changes
SkillRefgains adescriptionfield, populated by_skill_reffrom theListSkillsresponse, so it rides in on the same streaming walk with no per skillGetSkill._skill_download_choicepasses it through as theChoice.description.scrolling_checkboxgainsshow_description(defaultFalse, so the MCP picker is unchanged). When on, it renders the highlighted row's description in its own footer window, updating as you move the cursor.Why a footer rather than questionary's inline
show_descriptionquestionary's built-in
show_descriptionappends the description as an extra line inside the choices window. That window is sized to the row count in this picker, so the inline line would be clipped. A dedicated footer window (mirroring the existing search string and loading footers) sidesteps that, and showing only the highlighted row's description means a long one (UC caps skill descriptions at ~1024 chars) is confined to a bounded, 2 line wrapping footer via_description_preview, instead of bloating every row.Testing
uv run ruff check .,ruff format --check src tests,ty check src, anduv run pytestall pass (the 2 pre-existing e2e failures intest_e2e_user_agentandtest_claude_smart_routing_v2are unrelated and also fail on the base branch). New unit tests cover_description_previewboundaries (short unchanged, at the limit unchanged, long clipped with an ellipsis),_skill_refcarrying the description, the Choice carrying it, and the picker being invoked withshow_description=True.Stacked on #579.
Screen.Recording.2026-09-12.at.12.01.57.AM.mov
This pull request and its description were written by Isaac.