Proposal: add non-interactive status filtering to list (#244)#245
Open
hhh2210 wants to merge 1 commit into
Open
Proposal: add non-interactive status filtering to list (#244)#245hhh2210 wants to merge 1 commit into
hhh2210 wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new feature proposal documenting a backward-compatible skillshare list --status all|enabled|disabled flag to expose enabled/disabled filtering outside the interactive TUI, while keeping existing default output and JSON shape unchanged.
Changes:
- Introduces proposal #244 describing
--statusbehavior across plain text, JSON, and TUI initialization. - Specifies compatibility constraints, error/empty-result behavior, AND semantics with existing filters, and completion/docs updates.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - The flag works in global and project mode, for `list`, `list agents`, and `list --all`. | ||
| - Status combines with the positional pattern and `--type` using AND semantics. | ||
| - `--status value` and `--status=value` are accepted case-insensitively. Missing or invalid values return an error that lists the accepted values. No short flag is added because `-s` already means `--sort`. | ||
| - A status-only plain-text query with no matches reports `No <resources> matching status "<value>"`; JSON returns `[]`. |
| - `--status value` and `--status=value` are accepted case-insensitively. Missing or invalid values return an error that lists the accepted values. No short flag is added because `-s` already means `--sort`. | ||
| - A status-only plain-text query with no matches reports `No <resources> matching status "<value>"`; JSON returns `[]`. | ||
|
|
||
| The TUI should continue loading both enabled and disabled entries after applying the existing pattern and type filters, then initialize its status filter. Applying status destructively during loading would make it impossible for the existing `s` key to restore entries. The CLI status filter and a `status:` search tag continue to compose with AND semantics, so conflicting values produce an empty view. |
|
|
||
| - The default plain-text and JSON output stays unchanged. | ||
| - Explicit `--status all` should behave like omitting the flag. | ||
| - This proposal does not change `.skillignore` or `.agentignore` discovery and disabled-marking semantics. It filters the `Disabled` state on entries already returned by `list`. |
Contributor
Author
|
@runkids ready for reveiw |
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.
Type
proposals/only — see CONTRIBUTING.md)Linked Issue
Closes #244
Proposal
This is a proposal-only change with no implementation code. It defines a backward-compatible
list --status all|enabled|disabledinterface for plain text, JSON, and the existing TUI status filter.The default remains
all, and the JSON output stays a top-level array. The proposal covers project mode and agents, completion and empty-result behavior, and the TUI load-time constraint.Validation
git diff origin/main...HEAD --checkstatus.skill_countwas 1,list --jsonreturned 2 entries, andlist 's:enabled' --jsonreturned an empty array.Checklist
make check) — N/A: proposal-only documentation change