by restarter
A Claude Code plugin for a structured dev workflow — 14 expert agents, code review, planning, and task tracking, all from the terminal.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
# Add to your Claude Code skills
git clone https://github.com/restarter/lets-workflowGuides for using ai agents skills like lets-workflow.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
A development workflow plugin for Claude Code
Stop babysitting your AI. Start shipping with it.
Claude Code is powerful, but without structure it drifts - forgets context between sessions, silently changes approach when something fails, reviews its own code with no outside perspective, and loses track of what was decided and why.
LETS fix this. You get a team of 14 specialized AI agents, a structured development workflow, and a PR review system that posts inline comments directly to GitHub - all from the terminal. Every session has a task. Every commit links to it. Context survives across sessions and conversation compaction.
You don't just chat with AI. You run a process — /lets:* commands and 14 expert agents cover the whole development cycle, every change is reviewed by the right specialists, and every decision is made deliberately, with you in the loop.
LETS statusline and /lets:review command in action
LETS is two pieces: a small lets CLI on your $PATH, and the plugin inside Claude Code. Install both, then initialize your project.
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/restarter/lets-workflow/main/scripts/install.sh | bash
You also need beads (bd) on $PATH — LETS uses it for task tracking. You don't have to learn beads: the plugin drives bd entirely for you, so just get it installed. Its install guide has all the options; the quick one-liner:
curl -fsSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bash
Manual download, Windows, source builds, troubleshooting → docs/installation.md.
In Claude Code:
/plugin marketplace add restarter/lets-workflow
/plugin install lets
Install scope: Claude Code will ask where to install — pick one of these two:
- "Install for all collaborators on this repository" (project scope) — recommended for shared repos; the choice lands in
.claude/settings.json, so teammates inheritletswithout re-installing.- "Install for you, in this repo only" (local scope) — fine for a solo or throwaway project; not committed.
Don't pick the remaining option (install for yourself everywhere / user scope): there the SessionStart/PreCompact hooks fire in every project you open, including ones that never ran
/lets:init. Smoother user-scope handling is planned for a future update.
Stay current: in /plugin → Marketplaces → lets-workflow, Enable auto-update — then the plugin updates itself on startup and you never think about it again. (To update by hand instead: /plugin marketplace update lets-workflow, then /reload-plugins — or just restart Claude Code.)
(Or install from a local clone — git clone https://github.com/restarter/lets-workflow, then /plugin marketplace add ./lets-workflow and /plugin install lets — handy for hacking on the plugin: edit the clone, then /reload-plugins to pick up your changes.)
cd your-project
claude
Then, inside the Claude Code session:
/lets:init
/lets:init creates .lets/ (config + statusline) and runs bd init if beads is installed. From there, start each work session with /lets:start — the full loop is in Using LETS below.
→ Full docs: docs/commands.md
| Command | Description |
|---|---|
/lets:start |
Start session - restore context, show tasks, create feature branch (--main = no-task project-assistant mode) |
/lets:end |
End session - save progress, sync tasks, create summary (--pre-compact snapshots before /compact without ending) |
/lets:commit |
Commit with review and conventional commit format |
/lets:done |
Finish task - create PR (GitHub mode) or merge locally |
/lets:status |
Task overview and project status |
/lets:note |
Add note to active task (--pre-compact snapshots the session before /compact) |
| Command | Description |
|---|---|
/lets:brainstorm |
Quick interactive ideation on a topic - fast context scan, no agents |
/lets:backlog |
Backlog review (multi-agent) + interactive cleanup triage (Review --workflow = off-context) |
/lets:explore |
Explore a topic from multiple expert angles - scout, web research, agent fan-out (--workflow = off-context) |
/lets:plan |
Structured planning - explore codebase, design architecture, write plan (--fast = orchestrator-only, no subagents) |
/lets:execute |
Execute plan from /lets:plan via native plan mode |
/lets:team |
Parallel implementation with Agent Teams |
/lets:worktree |
Create/manage worktrees for parallel sessions |
/lets:statusline |
Manage & persist statusline appearance - light/dark, compact, hidden rows (ships next release) |
| Command | Description |
|---|---|
/lets:check |
Quick inline sanity check (~30s, 6-perspective review) |
/lets:review |
Full code review with dynamic agent selection (~2-3 min) |
/lets:github-pr |
GitHub PR review lifecycle - analyze, discuss, post inline, follow-up, approve |
/lets:review-round |
Work through a received review round - triage comments, record decisions, one final edit-pass |
/lets:opinion |
Technical decision analysis (dynamic expert agents in parallel) |
/lets:ask |
Quick expert consultation (single agent) |
| Command | Description |
|---|---|
/lets:init |
Initialize LETS in current project |
/lets:update |
Sync project with the current release - .lets/.env + rules self-heal, plus version status for the lets binary and the plugin |
→ Full docs: docs/agents.md
LETS ships 14 specialized agents. You never pick them by hand — the commands that use agents (/lets:review, /lets:opinion, /lets:ask, /lets:plan, /lets:backlog, /lets:team) look at what you're doing and bring in only the ones that fit.
| Agent | Expertise |
|---|---|
| architect | System design, patterns, SOLID, coupling |
| backend | APIs, business logic, error handling, performance |
| frontend | UI components, state management, accessibility |
| security | Vulnerabilities, auth, crypto, secrets, input validation |
| database | Schema design, migrations, query optimization, transactions |
| devops | Docker, CI/CD, deployment config, shell scripts |
| qa | Test strategy, coverage, assertion quality, mocking |
| compliance | Project standards and conventions (CLAUDE.md, style) |
| docs | Documentation sync, README accuracy, changelog |
| pragmatist | ROI analysis, overengineering detection, scope creep |
| git-historian | Blame analysis, past-decision context, change patterns |
| explorer | Codebase mapping, pattern discovery (used in /lets:plan) |
| implementer | Full-stack implementation (used by /lets:team) |
| actor | Any expert personality loaded from a URL or local file |
Dynamic selection. Each command analyzes the change (or the plan, or the question) and selects only the experts that matter — touch auth code and security, backend, and architect join; a pure docs update gets docs + compliance and nothing else; a full-stack feature can pull in up to 12, each focused on its domain. (compliance and docs always join a review. For plan reviews, the picks come from signals in the plan text — migrations, API endpoints, Docker configs, ….)
**Tier