--- name: role description: Переключить сессию в роль dev | admin | analyst | qa — загрузить общий и проектный файлы роли, её память и выжимку briefing. Вызывать по подсказке хука «Роль сессии», по правилу выбора роли из глобального CLAUDE.md или по просьбе владельца. argument-hint: dev|admin|analyst|qa user-invocable: true --- # /role — роль сессии Аргумент: `$0` — имя роли. Workspace — текущий каталог сессии (cwd), не git-корень. ## Без аргумента Если `$0` пуст: напечатать текущую роль (та, чей файл читался последним в этой сессии; если ни одного — «роль не выбрана») и список доступных: для каждой из `dev admin analyst qa` — есть ли `~/.claude/roles/.md` и `./.claude/roles/.md`. Остановиться. ## С аргументом Если `$0` не из `dev admin analyst qa` — одной строкой сказать, какие роли есть, и остановиться. 1. Прочитать `~/.claude/roles/$0.md` (общий слой). Прочитать `./.claude/roles/$0.md` (проектный слой); если файла нет — сказать одной строкой «проектного файла роли $0 нет, работаю по общему» и продолжить. При конфликте правил побеждает проектный слой. Новая роль заменяет предыдущую целиком: правила прежней роли больше не действуют. 2. Открыть индекс auto-memory (путь указан в системном промпте, раздел Memory, файл `MEMORY.md`). Найти раздел роли (`## Разработка` для dev, `## Администрирование` для admin, `## Аналитика` для analyst, `## QA` для qa) и прочитать файлы, перечисленные в нём. Раздел `## Общее` читается всегда. Если раздела нет — сказать одной строкой и продолжить. 3. Из раздела «Читать на старте» обоих слоёв собрать строки. Строки с префиксом `brief:` — список для агента `briefing`; остальные — прочитать в контекст сейчас (путь → Read, команда → Bash, только чтение). Если строк `brief:` больше нуля — запустить агента в фоне: `Agent`, `subagent_type: briefing`, `run_in_background: true`, промпт: «Роль: $0. Workspace: . Источники:» и список строк `brief:` без префикса, по одной на строку. Не ждать результата. 4. Ответить ровно пятью строками: - Роль: `$0` — <описание из первой строки файла роли>. - Процесс: <одна строка из раздела «Процесс» — что действует по умолчанию>. - Прочитано: <перечень файлов обоих слоёв и файлов памяти, через запятую>. - Не делать: <раздел «Не делать» одной строкой>. - Ждёт решения владельца: <из памяти роли; если нет — «ничего»>. Когда придёт выжимка `briefing` — добавить её одним сообщением как есть, без пересказа и без предложений действий. ## Не делать - Не читать файлы других ролей и их разделы памяти. - Не выполнять записывающие команды из «Читать на старте». - Не спрашивать подтверждения роли, если она пришла из подсказки хука или аргумента.