| allowed-tools | Bash(ls:*), Bash(echo:*), Bash(test:*) |
|---|---|
| description | Switch to a different specification |
| argument-hint | <spec-id-or-name> |
| arguments | $ARGUMENTS |
!ls -d .llms/spec/*/ 2>/dev/null | sort
<|start_user_provided_command|>
/spec:switch $ARGUMENTS
<|end_user_provided_command|>
- If no argument is provided, list all available specs and exit without making changes.
- If an argument is provided, attempt to resolve it to a spec directory by:
- Checking for an exact directory match (e.g.,
001-feature-name). - If not found, searching for directories whose ID prefix or feature name contains the provided text (case-insensitive).
- Checking for an exact directory match (e.g.,
- If no matches are found, report the failure and list nearby spec names for reference.
- If multiple matches are found, present the list and halt so the user can rerun with a more specific argument.
- Once a single directory is resolved, update
.llms/spec/.current-specwith that directory name. - Show the status of the newly active spec and recommend the next action based on outstanding approvals or tasks.