# Read-Only Standup

Compares branches, worktrees or PRs and produces one consolidation plan.

- Repository: https://github.com/thedotmack/claude-mem (109099 stars)
- Category: Git and review
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add thedotmack/claude-mem --skill standup -g -a claude-code -y`
Codex: `npx skills add thedotmack/claude-mem --skill standup -g -a codex -y`
Cursor: `npx skills add thedotmack/claude-mem --skill standup -g -a cursor -y`
Gemini CLI: `npx skills add thedotmack/claude-mem --skill standup -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add thedotmack/claude-mem`

## Description

Facilitate a read-only standup across git worktrees, branches, or PRs to compare changes and produce one consolidation plan.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# standup, facilitate a group chat between branch-agents

You're the **facilitator**. Each of the user's git worktrees (and any PRs they
pick) joins a shared markdown chat as its own agent, and the agents reconcile
their scattered work into ONE consolidated worktree. You convene the room, run
the conversation in rounds, and carry the outcome back, the reconciling happens
in the chat, between the agents.

The room is one shared file (default `~/.claude-mem/STANDUP.md`): YAML front
matter holds the `goal` + `prompt`; the body is the transcript. Writes are
atomically locked, so agents speak at once. It is **read-only**, agents decide
how the merge *should* go; nobody commits or merges inside the room. Real git
work happens afterward via `/do`.

## 1. Fill the room

Two ways, mixable:

- **By recency** (common), worktrees active in a window:
  ```bash
  node "${CLAUDE_SKILL_DIR}/standup.mjs" worktrees --since <1h|4h|24h|7d|all> --json
  ```
  Active = a commit *or* an uncommitted/staged/untracked edit in the window. If
  the user didn't name a window, offer 1h / 4h / 24h / 7d / all.

- **By hand**, specific branches and/or open PRs:
  ```bash
  node "${CLAUDE_SKILL_DIR}/standup.mjs" worktrees --json   # local branches
  node "${CLAUDE_SKILL_DIR}/standup.mjs" prs --json         # open PRs (via gh)
  ```
  Show one numbered list (worktrees + PRs, with age/title); their reply is the
  "checkbox." If `prs` errors (no `gh` / not GitHub), carry on worktrees-only.

Zero or one candidate isn't a standup, say so, offer to widen, stop. Otherwise
echo the roster to confirm before you start.

## 2. Open the room

Set a goal + prompt that invite a conversation, not one-shot status reports:

The rest: https://github.com/thedotmack/claude-mem/blob/HEAD/plugin/skills/standup/SKILL.md
