feat(skills): add dialog to command palette#2467
feat(skills): add dialog to command palette#2467Amolith wants to merge 7 commits intocharmbracelet:builtin-skillsfrom
Conversation
crush:// confused models into trying to load MCPs
Adds a skills browsing dialog to the TUI command palette, letting users discover and attach both builtin and user-configured skills. Also renames the crush-config skill to gerund-prefixed configuring-crush and adds bits about checking versions and fetching more doc.
33bf651 to
8e51b5b
Compare
2171e56 to
1ca2673
Compare
7fc8154 to
a6d3b55
Compare
will rebase this and clean it up in the next few days 👍 |
|
@andreynering was closing this one intentional? |
|
@Amolith Not really. This was a GitHub thing. It got closed because I merged the upstream branch: Feel free to reopen targerting |
| } | ||
| } | ||
|
|
||
| func (s *Skills) previousSkillType() SkillSourceType { return s.nextSkillType() } |
There was a problem hiding this comment.
If a 3rd skill type is ever introduced then this is a bug waiting to happen. e.g. System, User, and Project.
| relPath, _ := filepath.Rel("builtin", path) | ||
| relPath = filepath.ToSlash(relPath) | ||
| skill.SkillFilePath = BuiltinPrefix + relPath | ||
| skill.Path = BuiltinPrefix + filepath.Dir(relPath) |
There was a problem hiding this comment.
Shouldn't DiscoverBuiltin also set the skill.Builtin bool?
| require.Equal(t, "/crush/skills/configuring-crush/SKILL.md", s.SkillFilePath) | ||
| require.Equal(t, "/crush/skills/configuring-crush", s.Path) | ||
| require.NotEmpty(t, s.Description) | ||
| require.NotEmpty(t, s.Instructions) |
| m.dialog.BringToFront(dialog.SkillsID) | ||
| return nil | ||
| } | ||
|
|
There was a problem hiding this comment.
if i understand correctly we parse all the skills directory every time we open the dialog box. that seems fine for the initial work but we may want to have something that updates in the background only when something changes (fsnotify, ...).
|
@ehiggs Thanks for the feedback! This PR was closed and reopened as #2562, both marked as draft because it was a quick and dirty implementation. I have a heap of local changes cleaning it up that I've not pushed either here or there yet. I'll mark the other one ready for review once I feel it's at a good place :) |
Adds a skills browsing dialog to the TUI command palette, letting users discover and attach both builtin and user-configured skills. Also renames the crush-config skill to gerund-prefixed configuring-crush and adds bits about checking versions and fetching more doc.
For now, just a demo of an idea for making skills user-invocable building on @meowgorithm's #2466 that embeds a skill for configuring crush. I'm sure there's more work to do and will mark it not a draft once I think it's ready.
Video_2026-03-23_19-27-50.mp4
CONTRIBUTING.md.