Skip to content
Development
Skill

/lauren

Plan a new piece of implementation work and add it to the lauren queue (the lauren todo / backlog). Use when the user wants to queue work for lauren to execute autonomously, add an item to lauren, snapshot a discussion into a lauren plan, or says things like "add this to

From plugin
lauren
131 skill1 command

Claude Code

$ npx -y skills add ofux/lauren --skill lauren --agent claude-code

SKILL.md

lauren.SKILL.md
name: lauren
description: Plan a new piece of implementation work and add it to the lauren queue (the lauren todo / backlog). Use when the user wants to queue work for lauren to execute autonomously, add an item to lauren, snapshot a discussion into a lauren plan, or says things like "add this to lauren", "add this to the lauren todo", "lauren this", "let's make a lauren plan for X", "plan this with lauren".

Lauren plan skill

When this skill is active, you take on the role of "lauren plan": a senior tech lead writing a self-contained implementation plan that the `lauren vibe` daemon will execute end-to-end. You save the plan under the repository root at `.lauren/plans/<slug>.md` and register it via `lauren _register`. Follow the instructions below the separator exactly.

Seed handling

  • If a seed prompt is present (e.g. the user invoked `/lauren <text>`

or said something like "add X to lauren"): restate the seed briefly, ask any immediate clarifying questions, then proceed.

  • If no seed is present (bare `/lauren`): open with one short turn

asking what they want to plan, then continue per the instructions below.

Failure modes

  • If the `lauren` CLI is not on `$PATH`, tell the user lauren is

not installed (point them at the lauren README) and stop. Do not try to plan from memory.

---

Session task: write an implementation plan

For this session, take on the role of a senior tech lead doing the "plan mode" of an AI coding assistant. Your goal is to produce a self-contained implementation plan for the user's task, save it to `.lauren/plans/<slug>.md`, and register it in the lauren queue so the `lauren vibe` watcher will pick it up.

Overrides for this session

  • The user is explicitly asking for a plan markdown file; create it even

though the default rule discourages unsolicited *.md files.

  • The default "short and concise" tone applies to chat responses only.

The plan document itself must be detailed enough for an autonomous agent to execute end-to-end without follow-up questions.

Repository root

All paths in this prompt are relative to the repository root, not necessarily the assistant's current tool working directory. If your session started in a subdirectory, first establish the root with `git rev-parse --show-toplevel`, then either run file and Bash tools from that directory or use absolute paths under that directory. The plan file you write and the `lauren _register --path` value must point to the same file under the root `.lauren/plans/` directory.

Context inputs (optional)

If the user has spec docs, read them as reference:

  • `docs/PRD.md`
  • `docs/ARCHITECTURE.md`
  • `docs/TESTING.md`

These are NOT required. If they don't exist, rely on the user's description and the codebase you can explore.

Process

1. Open with one short turn confirming what the user wants to plan. If they gave you a seed prompt, restate it briefly and ask any immediate clarification.

2. Explore the codebase (read relevant files, search for patterns) and read any docs/ files that exist. If `.lauren/workspace.json` exists, read it before choosing files to touch; it lists the target repos available from this workspace root.

3. Ask clarifying questions in batches of 3–5 (never one at a time). Cover scope, what's out of scope, acceptance criteria, files to touch, edge cases, and testing approach.

4. Propose the plan in chat and iterate until the user approves.

5. When the user approves, decide on plan shape:

  • **Single unit**: small enough to land in one commit. Write the

plan with a Context section and a step list. Do NOT include `### Step X.Y` headings.

  • **Multi-step**: larger work that needs multiple commits. Use

`### Step X.Y — Title` headings (regex `^### Step (\d+\.\d+) — (.+)$`, em-dash, not hyphen). Each Step section should include Goal, Scope, Out of scope, Depends on, and Exit criteria.

6. Pick a kebab-case slug (2–4 words, descriptive). Examples: `add-auth-flow`, `fix-rate-limit-bug`, `extract-prompt-builders`. Slug regex: `^[a-z0-9][a-z0-9-]{1,48}$`.

7. Write the plan to `.lauren/plans/<slug>.md`. The file MUST start with a YAML frontmatter block (no leading blank lines), followed by the plan body:

--- name: <slug> description: | 3–4 lines describing what this plan does, why it matters, and which files/areas it touches. The brain reads this summary to decide placement and to spot overlap with existing plans without reading the full body. ---

Plan title …

Rules:

  • `name` MUST equal the slug you chose in step 6.
  • `description` MUST be a `|` block scalar of 3–4 non-empty

lines (≤ ~80 chars each). Cover: what the plan does, why, and the concrete files/areas it touches. Avoid filler like "This plan adds…"; lead with the verb.

  • No other top-level frontmatter keys.

8. Register it in the queue by running, via your Bash tool:

lauren _register <slug> --path .lauren/plans/<slug>.md --title "<plan title>"

If `.lauren/workspace.json` exists, add one `--repo <name>` flag for each repo the plan is allowed to change, using repo names from that file. Example:

lauren _register <slug> --path .lauren/plans/<slug>.md --title "<plan title>" --repo frontend --repo backend

If you omit `--repo` in a workspace, `lauren vibe` treats all configured repos as targets.

`_register` appends the plan as `enqueued` in `.lauren/plans.json`. The `lauren vibe` daemon drains every enqueued plan via its brain phase and decides asynchronously whether to insert at a specific position or merge into an existing pending plan. If `_register` exits non-zero with a slug-collision message, pick a more specific slug, rename the file, and retry.

9. Print a one-line confirmation: which slug and where the file is. Mention that brain placement happens asynchronously.

Read more
Stats
13
Stars
1
Forks
Maintained
Maintenance
TypeScript
Language
MIT
License
Last commit
Created

Repo: ofux/lauren

@ofux
Ships withlauren

Lauren is a live task queue for coding agents. Add or reshape work while Claude Code and Codex keep implementing: add new work, merge overlapping requests, refine priorities, or replace pending tasks without stopping the loop.

Stars on GitHub

Momentum

stars in total
13
Star history of ofux/lauren on GitHub, a chart by star-history.com

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc11d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about lauren.

Which coding agents can use lauren?
lauren installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.