ask
CommandAsk a single expert agent a question - like a Slack ping to a colleague
Team management - run several tasks at once, one visible LETS session per task on any launcher
> /plugin marketplace add restarter/lets-workflow> /plugin install lets@lets-workflow
description: Team management - run several tasks at once, one visible LETS session per task on any launcher argument-hint: "[run|spawn|dismiss|roster|status|stop|create|disband] [--tasks A,B,C] [--backend orca|sessions] [--launch-mode default|auto|all-in] [--auto] [--all-in] [<callsign>] [--area <a>] [--lead-name <n>]"
Run several independent tasks at once: each task gets its own worktree and its own visible LETS session (a worker), bound to this session as its orchestrator. The worker's own human presses every gate in the worker's terminal; this session coordinates through the orc skill and never decides for a worker.
**This is for parallel implementation of independent tasks.** For analysis (review, opinion, plan) - use their dedicated commands.
> **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.
**If argument provided** (e.g., `/lets:team run`), parse it:
**If no argument**, use **AskUserQuestion**:
AskUserQuestion(
questions=[{
question: "What do you want to do with the team?",
header: "Team",
options: [
{ label: "Run", description: "Open one worker session per task, bound to this session" },
{ label: "Roster", description: "Show the standing team's members and who is live" },
{ label: "Status", description: "Show the roster, each worker's state and tracker status" },
{ label: "Stop", description: "Ask every worker to end its session; worktrees stay" }
],
multiSelect: false
}]
)---
Select tasks, register this session as their orchestrator, open one worker session per task, record the run.
# Guard 1: not in worktree GIT_DIR=$(git rev-parse --git-dir 2>/dev/null) # If GIT_DIR contains "worktrees/" -> stop: "Run a team from the main checkout, not a worktree."
# Guard 2: clean working directory git status --short # If dirty -> warn: "Uncommitted changes detected. Commit them before running a team."
**Guard 3: backend and launcher.** The only backend is `sessions`: one visible session per task. Orca is an addon inside it, not a separate backend.
**Guard 4: orchestrator (before any launch).** Every worker is bound to this session, so this session is a recorded orchestrator - its own registry name in the merge-branch task-state - before the first worker starts:
LETS_PROJECT_ROOT=$(git rev-parse --show-toplevel) lets peers orchestrator --session "$CLAUDE_CODE_SESSION_ID" --cwd "$LETS_PROJECT_ROOT" --json
LETS_PROJECT_ROOT=$(git rev-parse --show-toplevel) lets worktree task-state set --self-orchestrator --json
written -> re-run `lets peers orchestrator` above; `self_record` must now be non-null; `<lead>` = `self_record.name`.
A development workflow plugin for Claude Code Stop babysitting your AI. Start shipping with it.
Ask a single expert agent a question - like a Slack ping to a colleague
Backlog review and cleanup - multi-agent backlog review, quick no-agent pulse (--fast), or interactive triage cleanup
Quick sanity check - code (inline 6-perspective) or plan (--plan).
End a work session - a settlement pass that reconciles uncommitted / unpushed work + session context into git, the tracker, and a…
Execute implementation plan from /lets:plan - inline in native plan mode, or delegated to named implementer subagents you review…
Implement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.