PRP Workstream Orchestrator
Wirasm/prp
Coordinates several PRP workstreams in isolated Git worktrees from one session, verifying proof, holding merge gates and sequencing the merges.
Facilitates a read-only standup between git worktrees, branches or PRs, where each acts as an agent in a shared markdown chat to agree one consolidation plan.
$ npx skills add thedotmack/claude-mem --skill standup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install thedotmack/claude-mem standup --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/thedotmack/claude-mem.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugin/skills/standup .claude/skills/standup && rm -rf skills-srcUse ~/.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/
Install the "standup" agent skill from https://github.com/thedotmack/claude-mem/tree/main/plugin/skills/standup into .claude/skills/standup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "standup", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/thedotmack/claude-mem/tree/main/plugin/skills/standupType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add thedotmack/claude-mem --skill standup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install thedotmack/claude-mem standup --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/thedotmack/claude-mem.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugin/skills/standup .agents/skills/standup && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "standup" agent skill from https://github.com/thedotmack/claude-mem/tree/main/plugin/skills/standup into .agents/skills/standup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "standup", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add thedotmack/claude-mem --skill standup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install thedotmack/claude-mem standup --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/thedotmack/claude-mem.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugin/skills/standup .cursor/skills/standup && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "standup" agent skill from https://github.com/thedotmack/claude-mem/tree/main/plugin/skills/standup into .cursor/skills/standup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "standup", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/thedotmack/claude-mem.git --path plugin/skills/standup--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add thedotmack/claude-mem --skill standup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install thedotmack/claude-mem standup --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/thedotmack/claude-mem.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugin/skills/standup .gemini/skills/standup && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "standup" agent skill from https://github.com/thedotmack/claude-mem/tree/main/plugin/skills/standup into .gemini/skills/standup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "standup", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install thedotmack/claude-mem standupInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add thedotmack/claude-mem --skill standup -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/thedotmack/claude-mem.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugin/skills/standup .github/skills/standup && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "standup" agent skill from https://github.com/thedotmack/claude-mem/tree/main/plugin/skills/standup into .github/skills/standup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "standup", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add thedotmack/claude-mem --skill standup -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install thedotmack/claude-mem standup --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/thedotmack/claude-mem.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugin/skills/standup .opencode/skills/standup && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "standup" agent skill from https://github.com/thedotmack/claude-mem/tree/main/plugin/skills/standup into .opencode/skills/standup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "standup", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
standupFacilitates a read-only standup between git worktrees, branches or PRs, where each acts as an agent in a shared markdown chat to agree one consolidation plan.
You act as facilitator for a group chat between branch agents. Each of your git worktrees, and any open pull requests you pick, joins a shared markdown file as its own agent, and the agents reconcile their scattered work into one consolidated worktree plan. The room file holds the goal and prompt in YAML front matter and the transcript in the body, with locked writes so agents can speak at once.
The room is read-only: agents decide how a merge should go, but nobody commits or merges there, and the real git work happens afterward through the do skill. The helper script standup.mjs lists worktrees active within a window such as one hour, four hours, a day or a week, or lists local branches and open PRs through gh, and falls back to worktrees only when gh is missing. Fewer than two candidates is not a standup, so it stops and offers to widen the search.
After you confirm the roster, the room opens with a goal that asks what each branch changed, where they overlap, which becomes the target and the merge order. The facilitator then drives rounds, with each agent speaking once per round, reading between rounds and bringing back whoever is still needed. An agent brief file ships with the skill.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit fa8ab09. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadEditTaskAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
Ships script files (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodegitghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Branch Standup Facilitator loads about 1.7k tokens when it runs. Until then it costs about 33 tokens; SKILL.md has 760 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, Edit, Task, AskUserQuestionAutomated 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.
The full file from thedotmack/claude-mem at commit fa8ab09, republished under its Apache-2.0 licence (© thedotmack). 760 words, ~1,659 tokens.
.claude/skills/standup/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.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.
Two ways, mixable:
By recency (common) — worktrees active in a window:
node "${CLAUDE_SKILL_DIR}/standup.mjs" worktrees --since <1h|4h|24h|7d|all> --jsonActive = 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:
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.
Set a goal + prompt that invite a conversation, not one-shot status reports:
node "${CLAUDE_SKILL_DIR}/standup.mjs" open --force --agent facilitator \
--goal "Collapse these branches/PRs into ONE consolidated worktree: what each changed, where they overlap, which becomes the target, and the merge order." \
--prompt "Facilitated rounds. Round 1: introduce your branch and its state. Then resolve the conflicts the facilitator surfaces, round by round, until the room lands on one concrete plan (target worktree + merge order + conflict resolutions). Read-only: decide, don't merge. Register AGREE when you back the plan."You drive the turns — if agents watch-loop on their own the room can stall with nothing decided. Each agent speaks once per round (read → post → return); you read between rounds and bring back whoever's still needed.
Spawned agents don't inherit CLAUDE_SKILL_DIR, so resolve it once and paste the
real path into each brief:
echo "${CLAUDE_SKILL_DIR}"Round 1 — intros (everyone, one Task message so they run together). Brief each:
You're
<branch>(a PR ispr-<number>) in a standup group chat. Read<skill-dir>/agent-brief.mdand play your part by it. The room is~/.claude-mem/STANDUP.md; speak withnode "<skill-dir>/standup.mjs" post …, catch up with… read. Get your bearings (cd "<path>",git log --oneline origin/main..HEAD,git status --short,git diff --stat origin/main...HEAD; a PR usesgh pr view/diff <number>), then post ONE turn: your branch, its real state, and how it should fold in. Read-only. Then return.
Reconcile. Once they've returned, read the room and list the open
items — overlaps, conflicts, competing implementations, undecided
target/order. None? Skip to the close.
Resolution rounds (cap ~4). Per open item, re-spawn only the agents it
implicates, with the specific question. Tell them to read --since <their-name>
first, then post their position and --agree if convinced. read again, update
the list. Repeat.
Close — you always write it. Stop when the list is empty, you hit the cap, or an agent errors (note "didn't report," don't block). Then write the SUMMATION yourself — don't wait for an agent to volunteer. Write it as plain prose a human can skim, not a field dump: which worktree is the target and why, the merge order in a sentence, and what's left for the human:
node "${CLAUDE_SKILL_DIR}/standup.mjs" summation --agent facilitator \
--text "Build on <worktree> — it's the only one with real code. Layer <branch>'s changes on top, then drop in the doc-only branches; skip <empty branch>. Your call before it's safe: <the one or two real decisions>. Done when it all sits in <target> and builds clean."This is the payoff — don't hand them the raw SUMMATION, translate it. A human who didn't watch the room should understand the outcome without decoding paths, line counts, or commit hashes. Lead with the answer, then the few choices only they can make:
AskUserQuestion for the clear-cut ones.Keep git internals out unless they ask. Once they've settled the open calls, hand
the plan to /do to perform the merges — don't merge anything yourself
outside /do.
node "${CLAUDE_SKILL_DIR}/standup.mjs" <command> [--flags]Defaults: agent = git branch, file = ~/.claude-mem/STANDUP.md. Every write is
atomically locked.
| command | what it does |
|---|---|
worktrees [--since 4h] [--json] | worktrees newest-first; --since N{m,h,d,w} keeps those active in the window |
prs [--since 4h] [--json] | open GitHub PRs (via gh) newest-first |
open --goal "…" --prompt "…" [--force] | create the room (--force rotates an old one aside) |
join [--message "…"] | add yourself + say Hello |
post --message "…" [--agree "…"] | append a turn |
agree --deliverable "…" | append an AGREE turn |
watch [--timeout SEC] [--interval SEC] | block until someone else posts, print it (exit 2 on timeout) |
read [--tail N] [--since AGENT] | print the chat (or only turns after AGENT's last) |
status | participants + AGREEs + consensus check |
summation --text "…" | write the SUMMATION, flip status: agreed |
Each spawned agent plays its turns by agent-brief.md (bundled here) — the
playbook for being one voice in the room.
© thedotmack, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in plugin/skills/standup of thedotmack/claude-mem.
Open the folder on GitHubat commit fa8ab09
Branch Standup Facilitator 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Branch Standup Facilitator this skillthedotmack/claude-mem | 99k | — | ~1.7k | Automated safety check: Notes | Apache-2.0 | |
| PRP Workstream OrchestratorWirasm/prp | 2.3k | — | ~3.5k | Automated safety check: Pass | MIT | |
| Pre-Release PR Triagejamiepine/voicebox | 57k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Clean Complete Branchesjtenniswood/espcontrol | 1.1k | — | ~820 | Automated safety check: Pass | Custom licence | |
| Codex Issue Coordinatorowainlewis/blueprint | 412 | — | ~2.6k | Automated safety check: Pass | MIT | |
| Review Local Branchnrwl/nx | 29k | — | ~3.8k | Automated safety check: Pass | MIT |
Wirasm/prp
Coordinates several PRP workstreams in isolated Git worktrees from one session, verifying proof, holding merge gates and sequencing the merges.
jamiepine/voicebox
Sorts a backlog of open pull requests into must-merge, candidate, superseded and deferred, writes a triage doc and works the merge loop before a release.
jtenniswood/espcontrol
Clean up completed Git branches and worktrees for this repository both locally and on GitHub.
owainlewis/blueprint
Lets one Codex thread run a batch of GitHub issues through separate worker threads, each with its own worktree, branch, tested pull request and gated merge.
nrwl/nx
Deep code review of the branch you are standing on, before it becomes a PR.
stephenleo/bmad-autonomous-development
BMad Autonomous Development — orchestrates parallel story implementation pipelines.
thedotmack/claude-mem
Walks you through creating, installing and verifying a custom claude-mem mode, including note types, tags and optional Telegram alerts for chosen memories.
thedotmack/claude-mem
Keeps watching a pull request, fixing real review and CI problems and resolving stale threads, until it is clean and ready to merge.
thedotmack/claude-mem
Use this when setting up claude-mem on Grok Bot: local worker plus CMEM Pro observer (default), optional host-login observer, or remote cmem.ai. No Cursor…
thedotmack/claude-mem
Checks claude-mem cloud sync status and guides you through connecting a cmem.ai Pro account without the sync token ever passing through the chat.
thedotmack/claude-mem
Audits a design against Dieter Rams' ten principles of good design, scores each with evidence, and hands off a make-plan prompt for a new, refined or redesigned outcome.
thedotmack/claude-mem
Writes a HANDOFF.md capturing goal, state, files, failed attempts and next steps so a fresh agent session can continue exactly where this one stopped.
Categories
Facilitates a read-only standup between git worktrees, branches or PRs, where each acts as an agent in a shared markdown chat to agree one consolidation plan. You act as facilitator for a group chat between branch agents. Each of your git worktrees, and any open pull requests you pick, joins a shared markdown file as its own agent, and the agents reconcile their scattered work into one consolidated worktree plan.
Branch Standup Facilitator fits situations like: several worktrees or branches hold overlapping work that must be merged into one; comparing what each open PR changed before deciding a merge order; producing a single consolidation plan without touching any branch.
Run `npx skills add thedotmack/claude-mem --skill standup -a claude-code`. Or copy the skill folder (plugin/skills/standup in thedotmack/claude-mem) into .claude/skills/standup in your project. Claude Code loads it when a task matches its description.
Run `npx skills add thedotmack/claude-mem --skill standup -a codex`. Or copy the skill folder (plugin/skills/standup in thedotmack/claude-mem) into .agents/skills/standup in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add thedotmack/claude-mem --skill standup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/standup, .gemini/skills/standup, .github/skills/standup and .opencode/skills/standup in your project.
Going by SKILL.md and its folder, Branch Standup Facilitator needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node, git and gh). Our summary lists: Node.js, to run standup.mjs; Git worktrees or branches, and gh for listing open PRs. Its frontmatter pre-approves these tools: Bash, Read, Edit, Task, AskUserQuestion.
SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Branch Standup Facilitator is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Branch Standup Facilitator: PRP Workstream Orchestrator (Wirasm/prp, 2.3k stars), Pre-Release PR Triage (jamiepine/voicebox, 57k stars), Clean Complete Branches (jtenniswood/espcontrol, 1.1k stars) and Codex Issue Coordinator (owainlewis/blueprint, 412 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
thedotmack (a GitHub user) maintains it in thedotmack/claude-mem, which has 98,732 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on October 9, 2026.
Source: thedotmack/claude-mem on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.