board-movelisted
Install: claude install-skill heyramzi/ai-agency
# /board-move
Move a ClickUp task to a new status using the `cu` CLI. The task ID alone identifies the task. No project, board, or item-ID resolution is needed.
## Usage
```
/board-move <task-id> <status>
```
- `task-id`: ClickUp task ID, with or without the `CU-` / `#` prefix (e.g. `CU-86c98x5e6`, `#86c98x5e6`, or `86c98x5e6`).
- `status`: One of the friendly aliases `todo`, `ready`, `in-progress`, `in-review`, `done`, or any literal ClickUp status name.
If no arguments are provided, ask the user for them before proceeding.
## Prerequisites
The `cu` CLI (ClickUp CLI, alias `clickup`) must be installed and authenticated. It reads its token from `~/.config/clickup/config.json` or the `CU_API_TOKEN` / `CU_TEAM_ID` env vars. Verify with `cu status`. If missing or unauthenticated, stop and tell the user to run `cu init`. Do not guess a token.
## Steps
### 1. Parse arguments
Extract `<task-id>` and `<status>`. If either is missing, stop and ask.
Normalize the task ID: strip a leading `CU-` or `#` prefix. Normalize the status: lowercase, trim.
### 2. Resolve the status name from project config
Read `.tasks/config.json` at the repo root. Map the friendly alias to a literal ClickUp status via its `status_map` (the names are list-specific, so the config is authoritative):
```jsonc
// .tasks/config.json (example — Client Glance)
"status_map": { "todo": "Open", "ready": "ready", "in-progress": "in progress", "in-review": "review", "done": "Closed" }
```
If `.tasks/config.