К основному содержанию
скилл CX Codex

canvas-sync — скилл для Claude Code: общая канва команды через git

Скилл тянет и коммитит состояние канвы через git, чтобы у всех в команде была одна версия продуктовых знаний. Ставится на старте и в конце сессии.

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

Что делает canvas-sync

Скилл закрывает четыре момента: старт новой сессии, конец сессии, разговор, который поменял направление продукта, и конфликты из-за параллельной работы. В начале сессии делается git pull origin main, после чего /mycelium:diamond-assess показывает, что изменилось. В конце — git add по каталогам .claude/canvas/, .claude/diamonds/, .claude/harness/decision-log.md и .claude/memory/, потом коммит с коротким описанием.

С конфликтами всё не так гладко, как хотелось бы. Разные файлы канвы сливаются сами, разные секции одного файла обычно тоже. А вот если сталкивается одно и то же поле, правило простое: побеждает тот, у кого больше доказательств. Это ручная договорённость для команды, не автомерж — веса доказательств не считает никакой инструмент. Процедура /canvas-merge (прочитать обе версии, сравнить глубину происхождения пересекающихся записей, дать рекомендацию) описана, но ещё не собрана. Не уверены — обсуждайте и записывайте решение.

Скилл рассчитан на работу внутри фреймворка Mycelium: отдельно он пропускает состояние канвы, проверки теории и поведение обвязки, на которые опирается. Устанавливается через /plugin install mycelium@haabe-mycelium. Логика тут — GitOps для продуктовых знаний: git как единственный источник правды, декларативные YAML-изменения, обновления через контроль версий с ревью.

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

  • подтянуть актуальную канву в начале сессии
  • закоммитить изменения канвы с описанием
  • разобраться, что поменялось в продукте после обсуждения
  • понять, как разрулить конфликт канвы при параллельной работе
  • свести продуктовые знания команды в один репозиторий

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

  • Синхронизируй канву: сделай git pull origin main и покажи, что изменилось
  • Закоммить канву в конце сессии с описанием правок
  • Мы с коллегой правили одно поле в канве — помоги разрешить конфликт

Как установить canvas-sync

1Через Skills CLI (Vercel)

npx skills add haabe/mycelium --skill canvas-sync -a claude-code

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

~/.claude/skills/canvas-sync/SKILL.md

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

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о canvas-sync

Как установить canvas-sync в Claude Code?

Одной командой: npx skills add haabe/mycelium --skill canvas-sync -a claude-code. Файл скилла окажется в ~/.claude/skills/canvas-sync/SKILL.md.

Что делает canvas-sync?

Синхронизирует состояние канвы между сессиями и участниками команды через git: подтягивает свежую версию и коммитит изменения после работы.

Можно ли пользоваться скиллом без Mycelium?

Нет, он рассчитан на работу внутри фреймворка. Отдельно пропускаются состояние канвы, проверки теории и поведение обвязки, на которые он опирается. Mycelium ставится через /plugin install mycelium@haabe-mycelium.

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

SKILL.md · MIT
---
name: canvas-sync
description: "Synchronize canvas state across team sessions via git. Ensures all team members see the same product knowledge."
metadata:
  instruction_budget: "8"
  framework_dependency: "mycelium"
  framework_dependency_note: "This skill is designed to run within the Mycelium framework (https://github.com/haabe/mycelium). Standalone use will skip the canvas state, theory gates, and harness behavior the skill assumes. Install: /plugin install mycelium@haabe-mycelium."
---

# Canvas Sync

## When to Use
- Starting a new session (pull latest canvas)
- Ending a session (commit canvas changes)
- After team discussion that changes product direction
- When canvas conflicts arise from parallel work

## Workflow

### Pull Latest
```
git pull origin main
```
Then run `/mycelium:diamond-assess` to see what changed.

### Commit Changes
```
git add .claude/canvas/ .claude/diamonds/ .claude/harness/decision-log.md .claude/memory/
git commit -m "canvas: [brief description of what changed and why]"
```

### Conflict Resolution
- Different canvas files: auto-merges (no conflict)
- Same file, different sections: usually auto-merges
- Same field conflicting: the person with more evidence wins — a *manual* resolution heuristic for the team, not an automated merge. No tooling evaluates evidence weight; `Gated by:` a `/canvas-merge` procedure (read both versions, compare provenance depth on overlapping entries, recommend) — not yet built.
- When uncertain: discuss as team, log decision

### GitOps Principle
The canvas system IS GitOps for product knowledge — git is the single source of truth, changes are declarative (YAML), and updates flow through version control with review. For infrastructure GitOps (ArgoCD, Flux), see JiT tooling detection for Kubernetes/infrastructure-as-code projects.

© haabe · MIT · haabe/mycelium

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
setup-matt-pocock-skills Matt Pocock Скилл настраивает репозиторий для инженерных скиллов Matt Pocock: задаёт трекер задач, метки триажа и расположение доменной документации. Запустите его перед первым использованием остальных скиллов. 1 052 851установок ask-matt Matt Pocock Помогает выбрать подходящий скилл или рабочий поток из набора Matt Pocock. Пригодится, когда непонятно, с чего начать задачу: от идеи до разбора бага. 766 587установок to-tickets Matt Pocock Разбивает план, спецификацию или переписку на небольшие сквозные задачи и отмечает, какие из них блокируют остальные. Пригодится, когда нужно согласовать порядок работы до публикации задач в трекере. 711 230установок writing-plans Jesse Vincent Скилл превращает требования к многошаговой задаче в подробный план реализации до начала работы с кодом. Пригодится, когда исполнителю нужно зафиксировать файлы, интерфейсы и проверки. CX Codex 282 859установок caveman-review JuliusBrussee Пишет замечания к коду одной строкой: место, проблема, исправление. Пригодится, когда ревью диффа или PR надо пройти быстро и без воды. CX Codex +1 411 800установок caveman-compress JuliusBrussee Сжимает CLAUDE.md, списки задач и другие текстовые файлы в краткий формат, сохраняя читаемую резервную копию. CX Codex +1 411 500установок

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

mocked-persona-interview Скилл для тех случаев, когда реальных пользователей опросить нельзя: он проводит интервью с вымышленными персонами, но по жёстким правилам, чтобы те не превратились в машину подтверждения собственных идей. CX Codex +1 ★ 47звёзд репо metrics-detect Сканирует проект и помогает настроить сбор метрик из GitHub, Plausible, Stripe и других источников. Полезен, если проект завёлся до появления такой настройки. CX Codex +1 ★ 47звёзд репо jtbd-map Раскладывает задачи пользователя на функциональную, эмоциональную и социальную составляющие и записывает результат в файл канвы. CX Codex +1 ★ 47звёзд репо friction-log Собирает черновик честного отчёта о том, где работа с Mycelium путала или тормозила. Пользователь правит его сам и решает, отправлять ли. CX Codex +1 ★ 47звёзд репо fan-out Разворачивает несколько субагентов на одну задачу, а потом сводит их результаты в один выбор. Нужен, когда решений два и больше и надо понять, какое выживет. CX Codex +1 ★ 47звёзд репо diamond-render Строит схему решений из .claude/diamonds/active.yml: что уже записано, в каком порядке и что ещё впереди. Пригодится в конце оценки проекта. CX Codex +1 ★ 47звёзд репо define-done Фиксирует Definition of Done для «диамонда» — не список задач, а изменение поведения, которое создаёт ценность. Пригодится, когда проект закрывают по факту выката фичи, а не по результату. CX Codex +1 ★ 47звёзд репо count Считает по вашему репозиторию одну строку: когда появился первый файл кода, сколько решений принято до него, сколько сессий. Никуда ничего не отправляет. CX Codex +1 ★ 47звёзд репо

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

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