Multica Docs

Squads

Squad — группа agents (и опционально human members) под одним leader agent. Назначьте issue squad — leader решит, кто его возьмёт.

Squad — именованная группа agents и human members с одним назначенным leader agent. Squad сам является полноценным исполнителем: выберите его в любом picker Assignee — leader получает trigger, читает issue и @-упоминает member squad, лучше всего подходящего для работы. Squads позволяют один раз собрать специалистов и направлять task по теме, а не по имени — команда растёт, routing остаётся прежним.

Как устроен squad

  • Один leader, много members. Leader обязан быть agent; members — agents или human members. Допустим squad только с leader (в briefing leader отметит «no other members»); один agent может входить в несколько squads.
  • Назначается везде, где человека. Squads есть в Assignee picker, @-mention picker и quick-create modal — везде, где можно выбрать agent или member, можно выбрать squad.
  • Мягкое удаление через archive. Заархивируйте squad — он исчезнет из pickers и списков; issue, назначенные на squad, передаются leader agent, чтобы работа не «замолчала». Заархивированным squads нельзя назначать новые issue.

Squad или один agent

Выбирайте squad, когда…Выбирайте одного agent, когда…
Несколько специалистов, и заранее неясно, кто подходит под этот issueРабота чётко в одной specialty, и вы знаете исполнителя
Нужен один стабильный исполнитель (squad), а фактический responder меняется по issueНужно имя agent на issue и явная individual accountability
Нужна routing-цель в стиле @FrontendTeam в комментарияхДостаточно one-on-one @agent-name

Squad не добавляет capability — он добавляет routing. Members остаются обычными agents; единственная задача leader — выбрать нужного.

Permissions

ДействиеКто может
Create / update / archive squadOwner или admin workspace
Добавить или удалить members, сменить rolesOwner или admin workspace
Назначить issue squadЛюбой member workspace (как при назначении agent)
@-упомянуть squad в комментарииЛюбой member workspace
Записать squad-leader evaluationТолько leader agent squad (через CLI)

Полная матрица roles — в Members и roles.

Создать squad

В sidebar откройте Squads → New squad и заполните:

  • Name — например, Frontend Team, Bug Triage. Уникальность в workspace не требуется.
  • Description (optional) — короткий текст на карточке squad и на detail page.
  • Leader — выберите существующего agent. Leader добавляется в squad автоматически с role leader.

После создания на detail page squad можно:

  • Add members — выберите agents или human members, при необходимости укажите короткое role description (например, «owns the migrations», «reviewer of last resort»). Leader использует эти roles при делегировании.
  • Write instructions — squad-level guidance, которую leader видит на каждом run (подробнее ниже).
  • Set an avatar — из того же picker, что и для agents.

Эквивалент в CLI:

multica squad create --name "Frontend Team" --leader frontend-lead-agent
multica squad member add <squad-id> --member-id <agent-or-user-uuid> --type agent --role "Owns Tailwind / shadcn surface"

Как выполняется issue, назначенный squad

Когда issue не в Backlog назначается squad, Multica сразу ставит в очередь task для leader agent (не для каждого member). Дальше flow такой:

  1. Leader забирает task. Agent runtime подхватывает task при следующем poll, как при любом другом назначении agent.
  2. Leader получает briefing. При claim Multica добавляет три секции к system prompt leader — см. Что leader видит на каждом turn ниже.
  3. Leader публикует один delegation comment. В комментарии @-упоминаются выбранные members с exact mention markdown из roster — каждое mention создаёт новый task для упомянутого agent.
  4. Leader записывает evaluation через multica squad activity <issue-id> action --reason "...". Запись попадает в activity timeline issue, чтобы люди видели, что leader действительно оценил trigger.
  5. Leader останавливается. Leader не делает implementation сам. Когда delegated member отвечает, leader снова trigger'ится, читает update и либо делегирует следующий шаг, либо эскалирует, либо молчит.

Если issue в Backlog, leader не trigger'ится — Backlog это parking lot, то же правило, что и при прямом назначении agent.

Что leader видит на каждом turn

На каждом squad-leader run к instructions leader добавляются три блока:

  • Squad Operating Protocol — hard-coded rule set: прочитать issue, делегировать через @-mention, быть кратким (не пересказывать body issue — исполнитель может прочитать сам), записывать evaluation на каждом turn и останавливаться после dispatch. Protocol управляется системой и не редактируется.
  • Squad Roster — self-row leader плюс по строке на каждого non-archived member. В каждой строке — exact mention markdown ([@Name](mention://agent/<uuid>) или [@Name](mention://member/<uuid>)), который leader должен вставить — plain @name никого не trigger'ит.
  • Squad Instructions — ваши custom guidance для squad (на detail page или через multica squad update --instructions). Routing rules («send DB work to Alice, frontend to Bob»), escalation policies и всё, что leader должен знать помимо самого issue.

Когда leader trigger'ится снова

После первого dispatch leader автоматически просыпается от большинства последующих комментариев на issue. Точные правила:

СобытиеLeader trigger'ится?
Non-member (human reporter, external agent) публикует комментарийДа
Member squad публикует progress update без @mentionДа — leader переоценивает, нужен ли следующий шаг
Комментарий с явным @-mention другого agent / member / squad / @allНет — явный @ это routing signal; leader уступает
Собственный комментарий leader (self-trigger)Нет — guard против loop
Комментарий только с cross-reference на issue ([MUL-123](mention://issue/...))Да — issue references не routing

Поверх правил действует dedup: если у leader уже есть queued или dispatched task на этом issue, новый trigger не поставит duplicate в очередь.

Почему leader не trigger'ится, когда member публикует @-mention. Когда member squad напрямую @-упоминает кого-то, комментарий — deliberate hand-off; если leader проснётся «наблюдать» routing, получится no-op turn и clutter на timeline. Исключение — agent-authored comments: когда agent публикует result с @ другого agent, leader всё равно просыпается для координации thread.

@-упомянуть squad в комментарии

Squads есть в @ picker рядом с members и agents. Mention squad вставляет [@SquadName](mention://squad/<uuid>) и trigger'ит squad leader, как если бы вы назначили issue squad — без смены assignee и status. Используйте, когда squad должен выбрать исполнителя для вопроса или sub-task, сохраняя текущего owner.

Те же anti-loop rules: leader пропускает себя; explicit member @-mention в том же комментарии идёт напрямую к этому member.

Reassign или archive squad

Reassign issue away from squad ведёт себя как любая смена исполнителя: все active task issue (включая task leader) отменяются, новый исполнитель — agent, member или другой squad — ставится в очередь. Отдельного действия «убрать squad без смены исполнителя» нет — выберите другого assignee.

Archive squad (multica squad delete <id> или кнопка Archive на detail page):

  1. Передаёт issue, сейчас назначенные squad, leader agent — работа продолжается у конкретного agent, а не «замирает».
  2. Помечает squad archived_at / archived_by — row сохраняется для historical activity entries, но squad исчезает из lists, pickers и @-mention dropdown.
  3. Отклоняет будущие назначения на этот squad с cannot assign to an archived squad.

Команды unarchive сейчас нет; создайте новый squad, если нужен routing обратно.

Squad operations из CLI

CommandНазначение
multica squad listСписок squads в workspace
multica squad get <id>Name, leader, description, instructions одного squad
multica squad create --name "..." --leader <agent>Создать squad (owner / admin)
multica squad update <id> [--name X] [--description X] [--instructions X] [--leader Y] [--avatar-url Z]Обновить одно или несколько полей
multica squad delete <id>Archive (soft-delete) — передаёт assigned issue leader
multica squad member list <id>Список members squad
multica squad member add <id> --member-id <uuid> --type agent|member [--role "..."]Добавить member (owner / admin)
multica squad member set-role <id> --member-id <uuid> --member-type agent|member --role "..."Сменить role member без удаления
multica squad member remove <id> --member-id <uuid> --type agent|memberУдалить member (leader удалить нельзя — сначала смените leader)
multica squad activity <issue-id> <action|no_action|failed> --reason "..."Записывает leader agent в конце каждого turn

--leader принимает имя agent или UUID; для остального ID берите из multica agent list --output json, multica workspace member list --output json и multica squad list --output json.

Далее