К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

standup · thedotmack — скилл для Claude Code: синхронизация веток и PR

Скилл запускает фасилитируемый разговор между агентами разных гит-веток и PR. Каждая ветка как отдельный участник обсуждает свои изменения, находит пересечения и выбирает порядок слияния — всё без реальных коммитов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add thedotmack/claude-mem --skill standup -a claude-code
Открыть на GitHub

Что делает standup

standup работает в четыре шага. Сначала вы собираете кандидатов — локальные ветки по свежести или конкретные PR из GitHub. Затем скилл открывает общий марdown-файл (~/.claude-mem/STANDUP.md) как виртуальное совещание: в фронтматтере живут цель и приглашение, в теле — стенограмма. Каждого агента спавнят отдельной задачей, он читает кто ещё написал, пишет свой ход, возвращается.

Фасилитатор (вы) ведёте раунды: первый — представления всех веток, потом вы читаете комнату и выясняете, где конфликты или перекрытия. В следующих раундах вы пересправниваете только агентов, которых это касается, с конкретным вопросом. Когда решения приняты, вы сами пишете итоговое резюме прямым языком — не код, не хеши, а план: какая ветка становится целевой, в каком порядке слить остальные, что решить вручную. Все операции с гитом — только через /do, внутри комнаты никто не коммитит.

Скилл требует Bash, Node.js и гит. Для работы с PR нужен gh (GitHub CLI). Если веток меньше двух или нет никаких изменений — скилл предложит расширить окно поиска или остановится.

Какие задачи решает

  • Синхронизировать изменения из нескольких веток без ручного слияния конфликтов
  • Понять, какая ветка должна стать целевой и в каком порядке слить остальные
  • Обсудить перекрытия между PR и выбрать реализацию без многоходовых коммитов
  • Составить консолидированный план перед тем, как толкать в основную ветку

Примеры запросов агенту

  • Запусти standup для веток, активных за последний день, и предложи порядок слияния
  • Открой standup по конкретным PR и локальным веткам, чтобы разобраться, как их объединить
  • Покажи мне план консолидации — какая ветка целевая, какие менять, какие конфликты решать

Как установить standup

1Через Skills CLI (Vercel)

npx skills add thedotmack/claude-mem --skill standup -a claude-code

2Вручную: положить файлы

~/.claude/skills/standup/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/standup/

Из того же набора15

Весь набор →
mem-search thedotmack Ищет решения и контекст из прошлых сессий кодинга. Пригодится, когда нужно вспомнить, как решали задачу ранее. Claude Code CX Codex Cursor +1 8 900установок smart-explore thedotmack Структурно ищет функции и классы через tree-sitter. Пригодится, когда нужно разобраться в кодовой базе без чтения всех файлов. Claude Code CX Codex Cursor +1 7 300установок make-plan thedotmack Скилл превращает запрос на фичу в план по фазам, где каждая фаза опирается на реальную документацию, а не на догадки. Пригодится перед запуском do. Claude Code CX Codex Cursor +1 7 200установок do thedotmack Скилл разбивает план реализации на фазы и поручает работу субагентам. Пригодится, когда нужно выполнить готовый план с проверками после каждого шага. Claude Code CX Codex Cursor +1 7 000установок knowledge-agent thedotmack Собирает выбранные наблюдения claude-mem в корпус знаний и даёт задавать ему вопросы. Нужен для анализа прошлой работы по теме или проекту. Claude Code CX Codex Cursor +1 5 700установок learn-codebase thedotmack Скилл заставляет агента полностью прочитать каждый исходный файл проекта. Пригодится на старте работы с незнакомым кодом. Claude Code CX Codex Cursor +1 5 300установок how-it-works thedotmack Скилл отвечает на вопросы об устройстве claude-mem. Он объясняет запись действий, хранение файлов и запуск подстановки контекста. Claude Code CX Codex Cursor +1 5 100установок pathfinder thedotmack Скилл строит схемы потоков по функциям проекта, ищет дублирование и предлагает свести повторяющиеся системы к общей архитектуре. Пригодится перед рефакторингом. Claude Code CX Codex Cursor +1 5 100установок

Другие версии standup

Похожие

review-and-refactor официальный github Проверяет код проекта по локальным инструкциям и рефакторит участки, которым нужна правка. Подходит перед ревью или очисткой существующего кода. GitHub Copilot 11 056установок github-triage code-yeongyu Читает все открытые issues и PR в репозитории и пишет отчёты с доказательствами. Ничего не комментирует и не закрывает. Claude Code CX Codex Cursor +1 2 700установок create-github-action-workflow-specification официальный github Скилл разбирает существующий GitHub Actions workflow и оформляет его поведение, зависимости и ограничения как спецификацию для ИИ. GitHub Copilot 10 745установок deploy-checklist официальный anthropics Собирает чек-лист перед релизом: проверки CI, ревью, миграций, флагов, выката и отката. Пригодится перед изменениями в продакшене. Claude Code CX Codex Cursor +1 5 600установок readme-blueprint-generator официальный github Скилл собирает сведения из документации проекта и готовит структурированный README.md. Подойдёт для репозиториев, где правила и устройство проекта описаны в .github/copilot. GitHub Copilot 9 662установок create-github-issues-feature-from-implementation-plan официальный github Скилл разбивает план реализации на этапы и создаёт по задаче GitHub Issue для каждого. Пригодится, когда план уже готов и его нужно перенести в трекер. GitHub Copilot 9 440установок triage Matt Pocock Скилл проводит issue и внешние PR через роли триажа, проверку и подготовку брифа для агента. Подойдёт мейнтейнеру, который разбирает очередь задач. Claude Code 990 453установок code-review Matt Pocock Проверяет изменения от выбранной точки по стандартам репозитория и требованиям задачи. Нужен для ревью ветки, PR или незавершённой работы. Claude Code 789 521установок

Вопросы о standup

Как установить standup в Claude Code?

Выполни npx skills add thedotmack/claude-mem --skill standup -a claude-code, затем открой ~/.claude/skills/standup/SKILL.md. Для других платформ замени флаг: -a codex для Codex, -a cursor для Cursor, -a gemini-cli для Gemini CLI.

Что делает standup?

Запускает фасилитируемое обсуждение между агентами разных гит-веток и PR. Каждый агент показывает свои изменения, вы ведёте раунды, находите пересечения и конфликты, потом выписываете консолидированный план без реальных коммитов.

Нужны ли мне какие-то инструменты для работы standup?

Да: Bash, Node.js, гит. Для работы с PR из GitHub потребуется gh (GitHub CLI); если его нет, скилл будет работать только с локальными ветками.

Исходный текст

SKILL.md · Apache-2.0
---
name: standup
version: 1.0.0
description: Facilitate a read-only standup across git worktrees, branches, or PRs to compare changes and produce one consolidation plan.
allowed-tools:
  - Bash
  - Read
  - Edit
  - Task
  - AskUserQuestion
---

# 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:

```bash
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."
```

## 3. Run it as rounds

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:
```bash
echo "${CLAUDE_SKILL_DIR}"
```

**Round 1 — intros (everyone, one Task message so they run together).** Brief
each:

> You're **`<branch>`** (a PR is **`pr-<number>`**) in a standup group chat. Read
> `<skill-dir>/agent-brief.md` and play your part by it. The room is
> `~/.claude-mem/STANDUP.md`; speak with `node "<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 uses `gh 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:
```bash
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."
```

## 4. Brief the human in plain language

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:

- **What you found** — one plain line per branch: who has real code, who's just
  docs, who's empty.
- **The plan** — target + merge order in a sentence or two.
- **Their call** — only the decisions a human must make (which implementation
  wins, what to drop, anything risky), as concrete questions. Use
  `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`.

## CLI

```bash
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 · thedotmack/claude-mem

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой