task-startlisted
Install: claude install-skill loncadev/baron
# Start a task (existing work item)
Run the **task-start** recipe as ONE deterministic call, then sync the local working tree. The
engine enforces the provider-side order (load → branch → in_progress → **assign to you** → comment);
your job is the inputs, the local git, the ownership check, and the briefing.
## Steps
1. **Resolve the issue id** from the user's words (`123`, `AB#123`, or a work-item URL → extract the
integer). Ask only if genuinely absent.
2. **Preflight local git** (local git is YOUR job, not Baron's): run `git status --porcelain` — if
dirty, stop and ask the user to commit/stash first. Never start work on a dirty tree.
3. **Run the recipe** — call `baron_recipe_run` with the only input it declares:
```json
{ "name": "task-start", "inputs": { "issueId": "<id>" } }
```
The engine loads the item, creates the **canonical branch** (`<prefix>/<id>-<slug>`, derived by
Baron's core so every agent picks the same name), moves it to `in_progress`, **assigns it to you**
(`issue.assign @me`), and comments the branch on the item. Starting a task makes it yours.
4. **If it stops on the ownership guard, ask — never take over silently.** The recipe refuses only
when the item is assigned to *someone else*, with `RECIPE_REQUIRE`:
*"AB#N is assigned to `<them>`, not you (`<you>`). Assign it to yourself first…"*. On that error:
- **Ask the user** (AskUserQuestion: "AB#N is assigned to `<them>`. Take it over and start?" →
Take over / Can