Registers a persona in config/config.yaml (SoT) and generates the .wiki/entities/persons/<role-id>.md card. Round-trip YAML edit, append-only log. Only writer of entities/persons/. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4.0 KiB
4.0 KiB
name, description
| name | description |
|---|---|
| meeting-room-register-persona | Use when user says "добавь персону", "новый агент в комнату", "register persona <role>", or wants to register a new persona for multi-agent meetings in .meeting-room. Updates config/config.yaml (single source of truth) AND generates .wiki/entities/persons/<role-id>.md. Only this skill writes to entities/persons/. |
meeting-room-register-persona
Регистрирует новую persona-роль в meeting-room: пишет в config/config.yaml (рантайм SoT) и генерирует карточку в .wiki/entities/persons/<role-id>.md.
When to use
- Пользователь говорит «добавь персону», «новый агент в комнату», «register persona ».
- Пользователь вручную поправил
config/config.yamlи хочет регенерировать карточку — тоже сюда.
Inputs (collect interactively)
| Поле | Тип | Пример |
|---|---|---|
role-id |
snake_case, уникален в config.yaml#roles |
analyst |
name |
display name | Analyst |
model |
строка | glm-5.1 |
provider |
ключ из config.yaml#providers |
ollama_cloud |
temperature |
число 0–1.5 | 0.5 |
tools |
строка-категория | discussion / web / none |
system_prompt |
многострочный текст | … |
Если данные уже есть в config.yaml (регенерация карточки) — не спрашивать, читать оттуда.
Steps
-
Прочитать
config/config.yaml. Еслиroles.<role-id>уже существует:- Если поля совпадают со словами пользователя — это регенерация, идти к шагу 4.
- Иначе спросить: overwrite / abort / новый id.
-
Записать в
config.yamlпод ключомroles.<role-id>со всеми полями.- Использовать YAML-парсер с round-trip (
ruamel.yamlдля Python, или ручной insert по структуре). Не перезаписывать файлyaml.dump-ом без round-trip — порвёт комментарии и порядок ключей.
- Использовать YAML-парсер с round-trip (
-
Сгенерировать
.wiki/entities/persons/<role-id>.md:--- role-id: <role-id> model: <model> provider: <provider> source: config/config.yaml --- # <name> **Model:** <model> (<provider>), temperature <temperature> **Tools:** <tools> ## System prompt <первые 500 символов system_prompt>... ## Source of truth Полное определение — в `config/config.yaml#roles.<role-id>`. Эта карточка генерируется скилом `meeting-room-register-persona`; не редактировать вручную. -
Дописать в
.wiki/log.md:<YYYY-MM-DD> registered <role-id> -
Сообщить пользователю созданные/обновлённые пути.
Failure modes
config/config.yamlотсутствует или невалидный YAML → abort, перечислить ошибки парсинга.- Конфликт
role-idбез выбора пользователя → abort. - Запись в
config.yamlупала → abort до записи карточки (single-direction failure).
Side effects
- Изменяет
config/config.yaml. - Создаёт/обновляет
.wiki/entities/persons/<role-id>.md. - Аппендит строку в
.wiki/log.md.
What NOT to do
- Не пиши в
entities/persons/ничего, кроме как через эту последовательность. - Не редактируй
config.yamlбез round-trip парсера. - Не удаляй существующие роли без явной команды пользователя.