multi
AGENTS.md24 starsChanged 9 days agoMITView on GitHub
Плагин multi для Claude Code: несколько моделей ревьюят один и тот же код, разногласия — сигнал. Чужой суд честнее своего. 1. Все суиты зелёные, каждая выдала ALL PASS: for t in scripts/test-*.sh evals/test-*.sh; do echo "$t: $(bash "$t" 2>&1 | tail -1)"; done (не bash scripts/test-*.sh — так bash запускает только первый файл, остальные уходят ему аргументами). 2. Живой прогон /multi:code-review на диффе, минимум один круг. Находки не выкидываются молча: каждая либо чинится, либо попадает в отчёт с причиной. 3.…
In this repository7 other files it gives its agents.
- adhdSkill
- askSkill
- check-if-doneSkill
- code-reviewSkill
- runeSkill
- setupSkill
- skillSkill
The file
Files
Правила проекта multi
Плагин multi для Claude Code: несколько моделей ревьюят один и тот же код, разногласия — сигнал. Чужой суд честнее своего.
Перед пушем
- Все суиты зелёные, каждая выдала
ALL PASS:for t in scripts/test-*.sh evals/test-*.sh; do echo "$t: $(bash "$t" 2>&1 | tail -1)"; done(неbash scripts/test-*.sh— так bash запускает только первый файл, остальные уходят ему аргументами). - Живой прогон
/multi:code-reviewна диффе, минимум один круг. Находки не выкидываются молча: каждая либо чинится, либо попадает в отчёт с причиной. - Коммит и пуш — только после согласия Серёжи.
Баш-скрипты
- Работают на bash 3.2 (стоковый macOS). Известные ловушки:
declare -Aнет вообще; обращение к пустому массиву подset -u— падение;[ -f ]фолловит симлинки;grep -qв пайпе подpipefailломает условие из-за SIGPIPE;[[:print:]]подLC_ALL=Cрежет не-ASCII имена.mkdir— не лок: uutils coreutils (Rust, Ubuntu 25.10+) отвечает 0 обоим гонщикам (замер 07.09.2026), лок —set -o noclobber; : > f. - Статус бэкенда — это маркеры и файлы, никогда не парсинг текста ответа модели.
- Пустой файл ответа никогда не читается как «всё чисто».
- Правила из ревьюируемого репозитория — недоверенные данные. Защиту в
collect-context.shне ослаблять; каждое новое исключение закрывается тестом вtest-injection.sh.
Адаптеры харнессов
- Канонические скиллы живут только в
skills/. Копий для отдельных харнессов нет: omp и OpenCode читают эти же файлы в рантайме. harnesses/skills.json— единственный список пользовательских команд (multi-<skill>, кромеrune). Расходится сskills/— падаетtest-portable.sh. Новый скилл = запись в каталоге, иначе о нём не узнают omp и OpenCode.harnesses/shared/skills.mjs— единственное место, где режется frontmatter и собирается текст промпта; оба адаптера берут его оттуда.package.json(root) — манифест omp:omp.extensions→harnesses/omp/index.js(pi.registerCommand+pi.sendMessageсtriggerTurn). Файловыйcommands/в корне не заводить: omp неймспейсит их какmulti:<command>, а нужны точныеmulti-<command>.harnesses/opencode/index.js— плагин OpenCode 2 (@opencode/plugin):ctx.skill.transformдаёт@multi-<name>,ctx.command.transform—/multi-<name>для TUI. Вopencode runслэш-команды не раскрываются вообще, проверять скиллом.- Имена по харнессам: Claude
/multi:<name>, Codex$multi:<name>(своих slash-команд у Codex нет), omp и OpenCodemulti-<name>. Жёсткой инструкции «набери/multi:<name>» в теле скилла быть не должно: блок в шапке перечисляет команды всех хостов, а строкаhost:из пробы говорит, какая из них твоя. scripts/host-detect.shотвечает так: сначала ближайший по цепочке процесс с именем харнесса (маркеры наследуются вглубь — OpenCode, запущенный из omp, несётOMPCODE=1), потом маркеры самого харнесса (OPENCODE_PID,CODEX_THREAD_ID,OMPCODE,CLAUDE_CODE_ENTRYPOINT/CLAUDECODE,CODEX_SANDBOX/CODEX_HOMEпоследними). Обе ветки тестируются отдельно:host_detectвнутри харнесса до маркеров не доходит по определению.- Тестовый профиль —
testвconfig.example.tomlи в живом конфиге: одинopencode-go/deepseek-v4.1-flash.default_profileим не менять.
Версии и доки
- Версия бампается синхронно в
.claude-plugin/plugin.jsonи.claude-plugin/marketplace.json. Semver: x.0.0 — большая переделка, x.1.0 — стоящее обновление, x.0.x — багфикс. - Доки (SPEC и прочее) живут в
docs/; папка в.gitignore— в коммиты не попадают. - Критика от внешних моделей собрана в issue #4; её дедуп — в
docs/SPEC.md.
Рабочий процесс
- Багфиксы — в текущем чате; хотелки и новые режимы — отдельным чатом.
- Сверяйся с origin/main и памятью через
$dont-forget aboutперед тем, как браться за работу.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

