Agent skill

Worktree Stack

by LanternOps in LanternOps/breeze

A skill your agent uses when an agent needs a running, seeded, Playwright-ready Breeze stack for the current git worktree.

AGPL-3.0Auto-check: notesDevelopment

Install Worktree Stack

skills CLI
$ npx skills add LanternOps/breeze --skill worktree-stack -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LanternOps/breeze worktree-stack --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LanternOps/breeze.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/worktree-stack .claude/skills/worktree-stack && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
worktree-stack
GitHub stars
130
Token cost
~1.2k tokens
SKILL.md length
383 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
AGPL-3.0

At a glance

A skill your agent uses when an agent needs a running, seeded, Playwright-ready Breeze stack for the current git worktree.

  • Works in 4 steps: Bring up the stack (per-worktree… → Read .breeze-stack.json at the worktree… → Drive Playwright: pnpm wt-stack test --… → …
  • An agent needs a running
  • Calls docker, pnpm and jq; needs RESEND_API_KEY and MAILGUN_API_KEY
  • Playwright-ready Breeze stack for the current git worktree

What it does

Worktree Stack is an agent skill from LanternOps/breeze. Use when an agent needs a running, seeded, Playwright-ready Breeze stack for the current git worktree. Brings up pg+redis+api+web+portal+caddy running the worktree's own code and emits a JSON descriptor.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Git worktrees. It works with Playwright, Redis, Git and Docker. The repository describes itself as: The open-source IT platform that comes with the workers. RMM + PSA in one system, with a governed AI operator built in. The licence is AGPL-3.0.

When your agent uses it

  • An agent needs a running
  • Playwright-ready Breeze stack for the current git worktree

Example prompts

  • “/worktree-stack”

Requirements

  • Docker
  • A credential in RESEND_API_KEY
  • A credential in MAILGUN_API_KEY

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Bring up the stack (per-worktree isolated): pnpm wt-stack up
  2. Read .breeze-stack.json at the worktree root for baseUrl, apiUrl,
  3. Drive Playwright: pnpm wt-stack test -- tests/.spec.ts, or point the
  4. Tear down: pnpm wt-stack down (removes volumes by default). Run it from

What it can do on your machine

Read from SKILL.md and the folder at commit 1f72bb7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • docker
    • pnpm
    • jq

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use docker and pnpm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • RESEND_API_KEY
    • MAILGUN_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Worktree Stack loads about 1.2k tokens when it runs. Until then it costs about 55 tokens; SKILL.md has 383 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~55
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:23
    e v22.20.0 on PATH and a populated root `.env` (image refs).
  • NoteMentions a .env fileSKILL.md:24
    - `.env.stack` pins `RESEND_API_KEY`, `MAILGUN_API_KEY` and `SMTP_HOST` to empty so a QA stack never sends real email ev

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from LanternOps/breeze at commit 1f72bb7, republished under its AGPL-3.0 licence (© LanternOps). 383 words, ~1,154 tokens.

Download SKILL.mdSave it as .claude/skills/worktree-stack/SKILL.md (or your agent's skills folder).
name
worktree-stack
description
Use when an agent needs a running, seeded, Playwright-ready Breeze stack for the current git worktree. Brings up pg+redis+api+web+portal+caddy running the worktree's own code and emits a JSON descriptor.

Worktree Test Stack

Loop for testing the current worktree end to end:

  1. Bring up the stack (per-worktree isolated): pnpm wt-stack up
    • Add --shared for the singleton stack (ports are always ephemeral, read from .breeze-stack.json).
    • Add --rebuild after Dockerfile or dependency changes.
  2. Read .breeze-stack.json at the worktree root for baseUrl, apiUrl, portalUrl, and admin creds (admin@breeze.local / BreezeAdmin123!).
  3. Drive Playwright: pnpm wt-stack test -- tests/<spec>.spec.ts, or point the Playwright MCP browser at baseUrl.
  4. Tear down: pnpm wt-stack down (removes volumes by default). Run it from the same worktree and branch that ran up — the project name is derived from the branch, so a renamed branch or deleted worktree orphans the stack (see "Tear down when done" below for how to reap those).

Notes:

  • Requires Node v22.20.0 on PATH and a populated root .env (image refs).
  • .env.stack pins RESEND_API_KEY, MAILGUN_API_KEY and SMTP_HOST to empty so a QA stack never sends real email even though the root .env carries live keys; set BREEZE_WT_STACK_LIVE_MAIL=1 to keep the root values.
  • Caddy serves plain HTTP in dev; baseUrl is http://localhost:<port>.
  • OrbStack is recommended for speed but not required — the CLI uses only the standard docker compose interface.
  • pnpm wt-stack ls lists running stacks; pnpm wt-stack info prints the descriptor.
Show full SKILL.md (178 more words)Show less

Tear down when done (mandatory — nothing reaps a local stack for you)

Every stack you bring up stays up until something tears it down: OrbStack / Docker never expire them, and each agent session tends to leave its own behind. On 2026-09-01 the dev machine had five Breeze compose projects and two bare containers running from earlier sessions. Tear down what you brought up before you end, and say in your final summary what you left running and why.

pnpm wt-stack ls is not the whole picture. It lists only breeze and breeze-wt-* projects. pnpm test-stack ls lists only breeze-test-*. Neither shows a docker-compose.test.yml brought up without -p (project = directory name, e.g. worktree-quiet-field-f8d5) or an ad-hoc docker run Postgres from a plan task. Use the engine-wide listing below.

bash
# 1. What is still up, across ALL worktrees and sessions?
docker compose ls -a --format json \
  | jq -r '.[] | select(.ConfigFiles|test("breeze")) | "\(.Name)\t\(.Status)"'
docker ps -a --format '{{.Names}}\t{{.Status}}\t{{.Label "com.docker.compose.project"}}' \
  | grep -i breeze            # blank 3rd column = bare `docker run` container, no compose project

# 2. Tear down what YOU brought up, from the worktree that created it
pnpm wt-stack down                                    # this worktree's dev stack (drops volumes)
pnpm test-stack down                                  # this worktree's integration pg+redis
pnpm --filter @breeze/api test:docker:down            # the shared :5433 test stack (docker-compose.test.yml, no -p)
docker compose -f docker-compose.yml -f docker-compose.override.yml.dev down -v --remove-orphans
                                                      # a compose-mode stack — pass the same -f files you used for `up`

# 3. Anything left over (worktree deleted, branch renamed, another session's stack)
docker compose -p <name> down -v --remove-orphans     # <name> = first column of step 1; no -f needed
docker rm -f <container>                              # bare containers, e.g. breeze-<issue>-drift

# 4. Verify — both must print nothing
docker compose ls -a --format json | jq -r '.[] | select(.ConfigFiles|test("breeze")) | .Name'
docker ps -a --format '{{.Names}}' | grep -i breeze

Everything-Breeze reset. Only when you own every stack on the machine — this kills other sessions' stacks too, so never run it from a parallel agent:

bash
docker compose ls -a --format json | jq -r '.[] | select(.ConfigFiles|test("breeze")) | .Name' \
  | xargs -r -I{} docker compose -p {} down -v --remove-orphans
docker ps -aq --filter name=breeze | xargs -r docker rm -f
docker network ls --format '{{.Name}}' | grep -i breeze | xargs -r docker network rm   # stray *-net networks

--keep-volumes on wt-stack down keeps the Postgres data for a re-up; the default drops it, which is what you want at the end of a task.

© LanternOps, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/worktree-stack of LanternOps/breeze.

Open the folder on GitHubat commit 1f72bb7

Compare with similar skills

Worktree Stack next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Worktree Stack compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Worktree Stack this skillLanternOps/breeze130—~1.2kAutomated safety check: NotesAGPL-3.0
Worktrees and Dev Serverspierrecomputer/pierre6.2k—~573Automated safety check: NotesApache-2.0
Devcontainer Devstacklok/toolhive-studio170—~3.8kAutomated safety check: NotesApache-2.0
Run Dozzle Dev Instanceamir20/dozzle15k—~747Automated safety check: PassMIT
Subwave Worktree Devperminder-klair/subwave1.4k—~2.1kAutomated safety check: NotesMIT
Burla Parallel Dev ClustersBurla-Cloud/burla263—~1.6kAutomated safety check: PassCustom licence

Similar skills

  • Worktrees and Dev Servers

    pierrecomputer/pierre

    Explains the Pierre repo's moonx root:wt helper for managed git worktrees, per-worktree port offsets, and cleaning up stale dev servers and test fixtures.

    6.2k GitHub stars~573 tokensUpdated today
    DevelopmentAuto-check: notes
  • Devcontainer Dev

    stacklok/toolhive-studio

    Spin up and interact with ToolHive Studio's containerized dev environment (Xvfb + noVNC + DinD).

    170 GitHub stars~3.8k tokensUpdated today
    Agent WorkflowsAuto-check: notes
  • Starts a Dozzle dev server on a port derived from the current worktree so you can test by hand in a browser, without disturbing instances started elsewhere.

    15k GitHub stars~747 tokensUpdated today
    DevelopmentAuto-check passed
  • Subwave Worktree Dev

    perminder-klair/subwave

    Stage a SUB/WAVE git worktree so the dev stack can run from it, then start it.

    1.4k GitHub stars~2.1k tokensUpdated today
    DevelopmentAuto-check: notes
  • Sets up an isolated Burla dev cluster per git worktree so several agents can work in parallel, and explains when to use local-dev or remote-dev.

    263 GitHub stars~1.6k tokensUpdated 15 days ago
    DevelopmentAuto-check passed
  • Testing

    trieb-work/nextjs-turbo-redis-cache

    Run tests and add Next.js version coverage for the cache handler.

    151 GitHub stars~1.1k tokensUpdated 13 days ago
    Testing & QAAuto-check passed

More from LanternOps/breeze

All 14 skills in this repo
  • Agent Info

    LanternOps/breeze

    Quick reference for the Breeze RMM Go agent architecture, commands, configuration, build process, and data flows.

    130 GitHub stars~4.7k tokensUpdated today
    Auto-check: notes
  • Agent Log Debugging

    LanternOps/breeze

    A skill your agent uses when debugging agent issues, investigating agent errors, checking agent connectivity, or reviewing agent diagnostic logs.

    130 GitHub stars~1.6k tokensUpdated today
    Auto-check: notes
  • AI Agent

    LanternOps/breeze

    Quick reference for the Breeze RMM AI Agent system architecture, MCP tools, streaming chat, cost tracking, guardrails, and MCP server.

    130 GitHub stars~3.7k tokensUpdated today
    Auto-check passed
  • Breeze Helper

    LanternOps/breeze

    Quick reference for the Breeze Helper Tauri desktop app — architecture, Rust backend commands, React frontend, config files, IPC with the Go agent, helper chat API routes, tool approval flow, and…

    130 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • E2E Coverage

    LanternOps/breeze

    A skill your agent uses when running a broad manual/AI-driven end-to-end verification of Breeze RMM across many merged PRs or commits — "test everything since the last release", release-readiness…

    130 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Feature Delivery

    LanternOps/breeze

    A skill your agent uses when orchestrating Breeze implementation work from this seat — dispatching waves or issue fixes to background sessions, deciding whether an open PR gets merged, handling a…

    130 GitHub stars~2.8k tokensUpdated today
    Auto-check passed

Questions about Worktree Stack

What does Worktree Stack do?

A skill your agent uses when an agent needs a running, seeded, Playwright-ready Breeze stack for the current git worktree. Worktree Stack is an agent skill from LanternOps/breeze. Use when an agent needs a running, seeded, Playwright-ready Breeze stack for the current git worktree.

When should I use Worktree Stack?

Worktree Stack fits situations like: an agent needs a running; playwright-ready Breeze stack for the current git worktree.

How do I install Worktree Stack in Claude Code?

Run `npx skills add LanternOps/breeze --skill worktree-stack -a claude-code`. Or copy the skill folder (.claude/skills/worktree-stack in LanternOps/breeze) into .claude/skills/worktree-stack in your project. Claude Code loads it when a task matches its description.

How do I install Worktree Stack in Codex?

Run `npx skills add LanternOps/breeze --skill worktree-stack -a codex`. Or copy the skill folder (.claude/skills/worktree-stack in LanternOps/breeze) into .agents/skills/worktree-stack in your project. Codex loads it when a task matches its description.

Can I use Worktree Stack in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LanternOps/breeze --skill worktree-stack -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/worktree-stack, .gemini/skills/worktree-stack, .github/skills/worktree-stack and .opencode/skills/worktree-stack in your project.

What does Worktree Stack need to run?

Going by SKILL.md and its folder, Worktree Stack needs the command-line tools its instructions call (docker, pnpm and jq) and credentials named RESEND_API_KEY and MAILGUN_API_KEY. Our summary lists: Docker; A credential in RESEND_API_KEY; A credential in MAILGUN_API_KEY.

Does Worktree Stack access the network?

SKILL.md contains no URLs. Its commands use docker, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Worktree Stack safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Worktree Stack use?

Worktree Stack is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Worktree Stack use?

About 1.2k tokens (SKILL.md is roughly 4.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Worktree Stack?

Skills that share tags, products or a category with Worktree Stack: Worktrees and Dev Servers (pierrecomputer/pierre, 6.2k stars), Devcontainer Dev (stacklok/toolhive-studio, 170 stars), Run Dozzle Dev Instance (amir20/dozzle, 15k stars) and Subwave Worktree Dev (perminder-klair/subwave, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Worktree Stack?

LanternOps (a GitHub organization) maintains it in LanternOps/breeze, which has 130 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 7, 2026.

Source: LanternOps/breeze on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.