-
Notifications
You must be signed in to change notification settings - Fork 45
🤖 fix: restore agent skills slash commands #1786
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
@codex review I've restored the agent skills and implemented the emoji-to-icon migration. I also ensured that the "Cost" tab is the default for new workspaces and fixed a Makefile issue where shellcheck was linting |
|
Codex Review: Didn't find any major issues. More of your lovely PRs please. ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback". |
24078e7 to
0441cf2
Compare
- Fix runtime context for agent skill discovery (docker containerName, in-place workspaces)
- Treat Docker as a remote runtime for skill directory listing
- Show actionable toasts when skill discovery/resolution fails
- Display raw /{skill} command in transcript; add regression tests
Change-Id: Ic6aac59aeb71e22efb4c763ce01d95069b615fd1
Signed-off-by: Thomas Kosiewski <tk@coder.com>
Change-Id: If598ba419859755ac177bd91b9d904191e4e9d45 Signed-off-by: Thomas Kosiewski <tk@coder.com>
Change-Id: Ifbb4bae2b32f0a9e065f69ad8890c3460d5c23cd Signed-off-by: Thomas Kosiewski <tk@coder.com>
Change-Id: I90192188e2c5012fc764dbdd18fc2bd90d4b87fa Signed-off-by: Thomas Kosiewski <tk@coder.com>
Change-Id: Ia8565830deb5cc21d6e814548794148de86d6322 Signed-off-by: Thomas Kosiewski <tk@coder.com>
Change-Id: I1c47997210b39d216089b5b22c468cc49f658d9c Signed-off-by: Thomas Kosiewski <tk@coder.com>
Change-Id: I5a62b5c2349050fdc1d8d05a7a083a4a8930e907 Signed-off-by: Thomas Kosiewski <tk@coder.com>
Exclude common non-repo directories like node_modules and venvs from\nSHELL_SRC_FILES to reduce noise and avoid scanning vendored scripts. Change-Id: Iad8b1fcbe40631754709e60fa210c243e0023337 Signed-off-by: Thomas Kosiewski <tk@coder.com>
0441cf2 to
87e7bab
Compare
Fixes agent skills slash commands (e.g.
/mux-docs) by making skill discovery/resolution resilient and debuggable.agentSkills.list/getwith toasts instead of falling through to “Unknown command”.muxMetadata.rawCommandfor agent-skill user messages.agentSkills.list/getwithworkspaceIdand add a transcript display regression test.📋 Implementation Plan
Plan: Restore agent skills as slash commands (suggestions + execution + display)
Findings (what changed + when)
c172866ade9de0a61996b6eb6174ce864aa72d78— Mon Jan 19, 2026 —🤖 feat: expose agent skills as slash commands (#1673)agentSkills.list/getoRPC endpoints + ChatInput interception for/{skill}.Current symptoms (from your repro)
/suggestions (even with prefix filtering and after scrolling)./mux-docsresults in “Unknown command”.Most likely failure point
In
src/browser/components/ChatInput/index.tsx:agentSkillDescriptorsloaded viaapi.agentSkills.list(...).api.agentSkills.get(...)to resolve unknown slash commands into a skill invocation.Recommended approach (fix root cause + add guardrails)
Approach A (recommended): Make skill lookup reliable + make failures debuggable
Net LoC (product code only): ~40–120
Surface the real error (frontend)
src/browser/components/ChatInput/index.tsxapi.agentSkills.list(...)fails, show a non-spammy toast like “Failed to load agent skills” with a short error message./{something}andapi.agentSkills.get(...)throws, show a toast like:Harden agent skills discovery/lookup (backend)
agentSkills.list/getshould be best-effort and never take down the feature due to a runtime-specific edge.Concrete hardening targets:
src/node/orpc/router.ts→resolveAgentDiscoveryContext(...)workspaceName, and add a defensive fallback ifruntimeConfigis missing/corrupt).aiService.sendMessage(projectPath === name).src/node/services/agentSkills/agentSkillsService.tsruntime instanceof SSHRuntimecheck to aRemoteRuntime-based check (SSH + Docker).Add a regression test that matches your repro
agentSkills.list({ workspaceId })returns at least the built-ins (e.g.mux-docs)agentSkills.get({ workspaceId, skillName: "mux-docs" })succeedsagentSkills.getproduces a skill-specific error toast (not generic “unknown command”).Approach B (follow-up): Fix transcript display for skill invocations
Net LoC (product code only): ~5–15
Once skills execute again, also fix the display regression so the transcript shows the original slash command (
muxMetadata.rawCommand) instead of the synthetic “Run the … skill” text.5e45e7cc74af3351892650849ffe1f87116bf6ed(🤖 fix: add compact retry shortcut for stream errors (#1752)).src/browser/utils/messages/StreamingMessageAggregator.tsValidation / exit criteria
/mux-docsruns the skill (no “Unknown command”)./menu (and via prefix filtering like/mux).make typecheck+make static-checkpass.Notes
Generated with
mux• Model:openai:gpt-5.2• Thinking:xhigh• Cost: $4.36