ask
CommandAsk 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
> /plugin marketplace add restarter/lets-workflow> /plugin install lets@lets-workflow
description: Backlog review and cleanup - multi-agent backlog review, quick no-agent pulse (--fast), or interactive triage cleanup argument-hint: "[review|cleanup] [--fast] [--workflow]"
Backlog management in three modes. Review (heavy) launches an explorer + parallel domain agents for multi-perspective backlog insights. `--fast` is a quick no-agent backlog pulse (orchestrator-only, the lightweight sibling of Review). Cleanup is fast interactive triage - no agents.
**Quick no-agent backlog pulse: `/lets:backlog --fast`. For HOW to build something, use `/lets:plan`. For an open question or decision about the project, use `/lets:opinion`.**
> **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.
/lets:backlog # Ask which mode, then go /lets:backlog review # Multi-agent backlog review (skip menu) /lets:backlog cleanup # Interactive triage cleanup (skip menu) /lets:backlog review --workflow # Run the Review fan-out + aggregate off-context via a Dynamic Workflow
**Parse the argument first:** strip a `--fast` token (sets fast mode - no agents) and a `--workflow` token (sets workflow mode - Review only) if present; the remaining token is the mode keyword. Precedence/compat:
If an argument is provided, parse it: `--fast` -> Fast mode (below); `review` -> Review Backlog Mode; `cleanup` -> Cleanup Mode. A remaining token that is **neither** `review` nor `cleanup` is an **area/topic filter** -> Fast mode with that token as the F1 filter (e.g. `/lets:backlog --fast auth` scopes the pulse to auth; a bare `/lets:backlog <area>` implies Fast mode too).
If no argument, use AskUserQuestion:
AskUserQuestion(
questions=[{
question: "What do you want to do with the backlog?",
header: "Backlog",
options: [
{ label: "Review backlog", description: "Agents analyze project state, generate ideas and surface gaps" },
{ label: "Quick pulse", description: "No agents - fast orchestrator-only scan and conversation" },
{ label: "Cleanup", description: "Triage stale tasks - close, merge, reprioritize" }
],
multiSelect: false
}]
)**Handle response:**
---
No agents. The orchestrator gathers backlog context directly and enters conversation - a quick pulse, the lightweight sibling of the agent-backed Review below (same house `--fast` convention as `/lets:plan --fast`: no flag = subagents, `--fast` = orchestrator-only).
Start with the shared snapshot so the pulse builds on the same "where are we" view as `/lets:status`:
Invoke `Skill(skill: "lets:orient", args: "caller=backlog")`.
Then gather the backlog-specific extras the snapshot doesn't cover:
LETS_PROJECT_ROOT=$(git rev-parse --show-toplevel)
**Tracker protocol:** `Skill(skill: "lets:protocol-tracker")` before this and any later `lets-tracker` block here, unless its text is in your current context.
list-by-status status=open limit=30
(`stats` + the in_progress list already came from the orient snapshot above - don't re-fetch them.)
git log --oneline -15
Also use the Grep tool (not bash grep) to scan for tech-debt signals:
Grep(pattern="TODO|FIXME|HACK|XXX", path="{LETS_PROJECT_ROOT}", output_mode="content", head_limit=20)If an area/epic argument was passed alongside `--fast`:
Based on the orient snapshot above plus the backlog signals gathered, present 3-5 proactive observations:
## Backlog Pulse
Based on what I see in the project:
1. **{observation}** - {why it matters, 1-2 sentences}
2. **{observation}** - {why it matters}
3. **{observation}** - {why it matters}
**Question:** {probing question that opens discussion}Categories to draw observations from:
After each user response: 1. **Acknowledge** - brief, no fluff 2. **Build** - add insight or connection 3. **Probe** - ask next question that goes deeper
If the user wants the heavier multi-agent pass: "Want a deeper backlog review? `/lets:backlog review` launches expert agents."
If active task:
comment-add task=<task-id> body="Backlog pulse: {key takeaways, 2-3 items}"If ideas emerged that deserve tasks, offer to create them (through the `create-task` skill - its gate follows `LETS_GATES`).
---
The one heavy mode: explorer scouts the project, parallel domain agents ideate over the backlog, results aggregate.
The scout (Phase 1) and agent selection (Phase 2) ALWAYS run in-context. Only Phases 3-4 (fan-out + aggregate) can move off-context via a Dynamic Workflow - `--workflow` is a transparent perf lever, same findings.
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
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…
GitHub PR review lifecycle - analyze, discuss, post inline comments, follow-up, respond, approve
Implement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.