Andrey Epifancev 2184689eb9 feat: skill /role и агент briefing
Refs #2

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MzkPQWjfA7RpqYWkjnqJwt
2026-10-12 00:30:52 +04:00

4.3 KiB
Raw Blame History

name, description, argument-hint, user-invocable
name description argument-hint user-invocable
role Переключить сессию в роль dev | admin | analyst | qa — загрузить общий и проектный файлы роли, её память и выжимку briefing. Вызывать по подсказке хука «Роль сессии», по правилу выбора роли из глобального CLAUDE.md или по просьбе владельца. dev|admin|analyst|qa true

/role — роль сессии

Аргумент: $0 — имя роли. Workspace — текущий каталог сессии (cwd), не git-корень.

Без аргумента

Если $0 пуст: напечатать текущую роль (та, чей файл читался последним в этой сессии; если ни одного — «роль не выбрана») и список доступных: для каждой из dev admin analyst qa — есть ли ~/.claude/roles/<r>.md и ./.claude/roles/<r>.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 — добавить её одним сообщением как есть, без пересказа и без предложений действий.

Не делать

  • Не читать файлы других ролей и их разделы памяти.
  • Не выполнять записывающие команды из «Читать на старте».
  • Не спрашивать подтверждения роли, если она пришла из подсказки хука или аргумента.