feat(cli): hide public skills from vlmrun skills list by default#190
feat(cli): hide public skills from vlmrun skills list by default#190spillai wants to merge 2 commits into
vlmrun skills list by default#190Conversation
Add a `--public` flag to `vlmrun skills list` that includes public skills in the listing. By default, only the caller's non-public (organization-owned) skills are shown. Plumb `include_public` (and `only_public`) through `Skills.list()` so SDK consumers can request the same filtering. Co-Authored-By: Sudeep Pillai <sudeep.pillai@gmail.com>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
There was a problem hiding this comment.
Code Review
This pull request introduces the ability to filter public skills in the CLI and SDK by adding a --public flag to the vlmrun skills list command and updating the client's list method. Review feedback suggests removing the only_public parameter across the SDK, mocks, and documentation since it is currently unsupported by the backend. Additionally, there is a recommendation to adjust the CLI docstring formatting for better consistency and readability.
| """List available skills. | ||
|
|
||
| By default only non-public skills owned by your organization are shown. | ||
| Pass ``--public`` to include public skills as well. | ||
| """ |
There was a problem hiding this comment.
The docstring uses double backticks (--public) which is inconsistent with the rest of the CLI help strings in this repository. Additionally, a comma is missing after "By default" for better readability.
| """List available skills. | |
| By default only non-public skills owned by your organization are shown. | |
| Pass ``--public`` to include public skills as well. | |
| """ | |
| """List available skills. | |
| By default, only non-public skills owned by your organization are shown. | |
| Pass --public to include public skills as well. | |
| """ |
| include_public: bool = True, | ||
| only_public: bool = False, |
There was a problem hiding this comment.
The only_public parameter is added here "for completeness," but the PR description suggests that only include_public is currently supported by the backend. Adding unsupported parameters to the public SDK can be misleading for users. If the backend does not currently support filtering for only public skills, this parameter should be removed to maintain a clean and functional API.
| include_public: bool = True, | |
| only_public: bool = False, | |
| include_public: bool = True, |
| include_public: If True, include public skills alongside the | ||
| caller's organization skills. Defaults to True to preserve | ||
| the server's existing behavior. | ||
| only_public: If True, return only public skills. |
There was a problem hiding this comment.
Remove the only_public documentation if the parameter is removed. Also, the note about preserving server behavior is more relevant to the PR discussion than the end-user documentation and can be simplified.
| include_public: If True, include public skills alongside the | |
| caller's organization skills. Defaults to True to preserve | |
| the server's existing behavior. | |
| only_public: If True, return only public skills. | |
| include_public: If True, include public skills alongside the | |
| caller's organization skills. Defaults to True. |
| "include_public": include_public, | ||
| "only_public": only_public, |
| include_public=True, | ||
| only_public=False, |
Co-Authored-By: Sudeep Pillai <sudeep.pillai@gmail.com>
|
Thanks for the review. Addressed the docstring style nit in 5fe2518 (dropped the RST-style double backticks and added the comma after "By default,"). Keeping |
Summary
vlmrun skills listnow shows only non-public (organization-owned) skills by default. Pass--publicto include public skills in the listing alongside your private ones.Changes:
vlmrun/cli/_cli/skills.py— added a--publicflag tovlmrun skills list. When omitted, the CLI passesinclude_public=Falseto the API so only the caller's non-public skills are returned. When--publicis set, it passesinclude_public=Trueand all accessible (public + private) skills are returned.vlmrun/client/skills.py— plumbedinclude_publicandonly_publicparameters throughSkills.list()so SDK consumers can request the same filtering. Defaults preserve existing server behavior for direct SDK callers (include_public=True,only_public=False).vlmrun/cli/README.md— documented the new--publicflag.tests/cli/test_cli_skills.py— added two tests verifying the CLI passesinclude_public=Falseby default andinclude_public=Truewhen--publicis provided.tests/conftest.py— extended theMockVLMRun.Skills.listsignature to accept the new kwargs.This maps to the existing
include_publicquery parameter onGET /v1/skills(defined invlm-cloud/backend/app/api/routes/skills.py), so no server-side change is needed.Review & Testing Checklist for Human
vlmrun skills listagainst a real account and confirm the table now shows only non-public (organization-owned) skills.vlmrun skills list --publicand confirm public skills are included again.client.skills.list()directly (without arguments) keep their current behavior (the SDK default still includes public skills, only the CLI default changes).Notes
include_public=True) is intentionally kept as-is to avoid breaking existing programmatic consumers; only the CLI default behavior is flipped, as requested.only_publicis also exposed onSkills.list()for completeness but isn't surfaced as a CLI flag — happy to add it (e.g.--only-public) if useful.Link to Devin session: https://app.devin.ai/sessions/c34b623c3551437dab8a45b3d272029f
Requested by: @spillai