Add global skill scope removal - #469
Conversation
8570e85 to
44a1363
Compare
There was a problem hiding this comment.
🟡 Changes recommended
The removal path can persist empty per-client overrides, which can unintentionally affect later logic that checks whether overrides exist and causes unnecessary state churn.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds an interactive workflow to remove developer-configured Unity Catalog skill schemas from the shared Skills MCP connection (ucode skill remove --mcp), including UI prompting that shows which configured clients currently receive each schema, while excluding administrator-managed schemas and preserving the schema-less “utility tools” connection when the last schema is removed.
Changes:
- Add
ucode skill remove --mcpCLI command and updateucode statusguidance to point toskill add/remove. - Implement global removal flow in
src/ucode/mcp.py, including an interactive picker grouped by client recipients and managed-schema filtering. - Add tests and user docs covering dispatch, managed filtering, and schemaless-connection retention.
File summaries
| File | Description |
|---|---|
tests/test_mcp.py |
Adds unit tests for global skill-scope removal behavior and managed-schema filtering. |
tests/test_cli.py |
Adds CLI dispatch tests for ucode skill remove vs ucode skill remove --mcp. |
src/ucode/mcp.py |
Implements the interactive removal picker and updates skills MCP state across default scope + per-client overrides. |
src/ucode/cli.py |
Wires the new skill remove subcommand and updates status messaging. |
README.md |
Documents the new ucode skill remove --mcp workflow and command table entry. |
Review details
- Files reviewed: 5/5 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| #### Remove shared skill MCP scopes | ||
|
|
||
| `ucode skill remove --mcp` interactively removes developer-configured schemas from the shared | ||
| skills MCP scope. Administrator-managed schemas are not offered, and the schema-less utility | ||
| connection remains registered after its last schema is removed. |
| ), | ||
| ] = False, | ||
| ) -> None: | ||
| """Interactively remove shared Skill schemas from the skills MCP connection.""" |
Why
Additive skill configuration had no corresponding removal workflow. Developers had to edit persisted state or agent MCP files manually to stop exposing a schema.
What changed
This PR adds interactive, global
ucode skill remove --mcpbehavior.How it works
Builds on per-agent status in #485.
Testing
uv run pytest tests/test_skills_download.py tests/test_mcp.py tests/test_cli.py -q— 507 passeduv run ruff check .uv run ty check src/Tests cover CLI dispatch, picker contents, managed-schema filtering, client updates, and removal down to the schema-less connection.
Stack created with GitHub Stacks CLI • Give Feedback 💬