Profiles — управление профилями членов семьи

SkillDev tools

Family member profiles: create, switch, list, delete. Triggers: "профили", "переключись на", "профиль жены", "добавь профиль", "чей профиль", "switch profile"

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Profiles — управление профилями членов семьи skill

What this skill tells your AI

The instructions your AI receives, as published by alxyrgin/health-os in .claude/skills/profiles/SKILL.md and read by ahel’s review.

Назначение

Система ведёт медкарты нескольких человек. Этот скилл создаёт профили, переключает активный и показывает, чьи данные сейчас в работе.

Рамка: .claude/shared/profile-resolution.md — читается первой.


Workflow

Показать список

Прочитать Data/profiles/_active.json и каталоги Data/profiles/*/. Для каждого — profile.json → имя, возраст, пол, связь.

Профили:

  ▶ owner      Владелец        М, 34 года      активный
    wife       Супруга         Ж, 32 года
    son        Сын             М, 8 лет        педиатрический режим

Переключиться: /profiles переключись на wife

Возраст вычисляется из date_of_birth в момент обращения, не хранится.


Переключить активный профиль

  1. Проверить, что профиль существует. Нет — показать список и остановиться
  2. Подтвердить у пользователя: «Переключаю активный профиль на «Супруга». Все последующие чтения и записи пойдут в её карту. Продолжить?»
  3. Обновить Data/profiles/_active.json: поле active, switched_at, добавить запись в history[]
  4. Подтвердить сменившимся состоянием:
Активный профиль: Супруга (wife)
  Ж, 32 года · 4 анализа · 2 визита · последняя запись 12.07.2026

Молча не переключать никогда — пользователь должен знать, в чью карту пойдёт следующая запись.


Разовое обращение без переключения

«Покажи анализы сына» при активном профиле владельца — прочитать данные профиля son, не меняя активный. Обязательно назвать это явно:

Смотрю профиль сына (активный остаётся — владелец)

Разовое обращение — только на чтение. Любая запись требует либо переключения, либо явного подтверждения целевого профиля.


Создать профиль

Спросить по очереди:

  1. Идентификатор — латиница, цифры, дефис, 2–32 символа. Предложить по связи: wife, son, daughter, mother, father. Фамилию и полное имя в идентификатор не класть — он попадает в пути файлов и в вывод. Проверить, что не занят
  2. Отображаемое имя — как обращаться
  3. Связьself · spouse · child · parent · other
  4. Дата рождения — ISO 8601. Обязательна: от неё зависят референсы, скрининг и педиатрический режим
  5. Пол — по .claude/shared/sex-specific.md: sex для медицинских выводов, при необходимости gender_identity и hormone_therapy
  6. Основание ведения профиля — см. ниже

Затем создать каталог Data/profiles/<id>/ со структурой из Блока 5 рамки и развернуть шаблоны. Активный профиль не менять — предложить переключиться отдельным шагом.

Основание (consent)

Для профиля, отличного от владельца, поле обязательно:

СвязьbasisЧто подтверждается
Свойself
Взрослый член семьиinformedЧеловек знает, что его медданные ведутся в этой системе
Ребёнок или недееспособныйlegal_guardianВы законный представитель

Спросить прямо, без формализма:

Профиль другого человека — вопрос не технический. Супруга знает, что её анализы будут храниться и разбираться здесь? Для ребёнка — вы законный представитель?

Отказ отвечать — не создавать профиль. Поле ничего не доказывает юридически; оно существует, чтобы вопрос был задан осознанно.

Записать:

"consent": {
  "basis": "informed",
  "recorded_at": "2026-08-06",
  "note": "супруга уведомлена, ведение по её просьбе"
}
Если профиль детский

При возрасте младше 18 сказать прямо, что включается педиатрический контур и чем он отличается:

Профиль детский — включён педиатрический режим.

  Референсы берутся по возрасту, а не взрослые: у растущего ребёнка
  щелочная фосфатаза втрое выше взрослой нормы, и это норма.
  Рост и вес читаются перцентилями, прививки — по возрастному календарю.

  Разбор ведёт педиатр; профильные специалисты подключаются, но
  взрослые интервалы к анализам не применяют.

Удалить профиль

Удаление необратимо и уничтожает всю медкарту человека.

  1. Показать, что именно будет удалено: количество анализов, визитов, протоколов, размер каталога
  2. Потребовать ввести идентификатор профиля вручную — не «да»
  3. Предложить сначала сделать копию каталога и дождаться подтверждения, что копия сделана
  4. Активный профиль удалить нельзя — сначала переключиться на другой
  5. Профиль владельца удалить нельзя

Формат _active.json

{
  "version": 1,
  "active": "owner",
  "switched_at": "2026-08-06T10:00:00",
  "history": [
    { "profile": "wife", "at": "2026-08-05T18:20:00" },
    { "profile": "owner", "at": "2026-08-06T10:00:00" }
  ]
}

history[] — последние 20 переключений. Нужна, чтобы восстановить, в чей профиль ушла запись, если ошибка обнаружилась позже.


Правила

  • Рамка profile-resolution.md читается до всего остального
  • Переключение — только с подтверждением, никогда молча
  • Разовое обращение к чужому профилю — только чтение, и всегда с оговоркой
  • Идентификатор без фамилии и полного имени
  • Дата рождения обязательна: без неё не работают ни референсы, ни скрининг
  • consent обязателен для всех профилей, кроме владельца
  • Данные профилей не смешиваются: наследственность идёт через family_history, а не через чтение чужих карт
  • Удаление — с ручным вводом идентификатора и предложением копии
  • Критерий завершения: _active.json валиден, у каждого профиля есть profile.json с датой рождения и полом, check-integrity.py проходит

⚕️ Информация носит справочный характер. Для принятия решений о лечении обратитесь к врачу.

Signals

GitHub stars
38
Forks
6
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
profiles
Source
github.com/alxyrgin/health-os