take-tasklisted
Install: claude install-skill restarter/lets-workflow
# Take Task
Claim a beads task and prepare the working environment.
> **IMPORTANT:** If the spec below invokes any deferred tool (e.g. `AskUserQuestion`), you MUST load and call it as specified. Never skip the call, never substitute a default answer of your own — the tool invocation is part of the contract. This is critical.
## Why This Exists
Multiple flows need "claim task + prepare branch": /lets:start, mid-session task switch, direct "візьми таск X". Centralizing ensures consistent branch naming, worktree handling, and session ref saving.
## Flow
### Step 1: Resolve Task
```bash
bd show <task-id>
```
Verify task exists. Then claim it:
```bash
bd update <task-id> --status=in_progress
```
### Step 2: Check Uncommitted Changes
Before switching branches, check for uncommitted changes:
```bash
git status --short
```
If changes exist and branch switch is needed, ask user:
```
AskUserQuestion(
questions=[{
question: "Uncommitted changes on current branch. What to do?",
header: "Uncommitted",
options: [
{ label: "Stash", description: "git stash, switch branch, remind to pop later" },
{ label: "Commit first", description: "Commit changes, then switch branch" },
{ label: "Stay", description: "Skip branch switch - work on current branch" }
],
multiSelect: false
}]
)
```
Handle response:
- **Stash** -> `git stash`, proceed with branch switch, remind to `git stash pop` later
- **Commit first** -> delegate to commit skill, then p