---
name: personal-guide-start
description: Подготавливает или проверяет приватный DS-personal-guide и отдельно проверяет доступность материалов. Не устанавливает скиллы в личный репозиторий и не обещает немедленную генерацию.
argument-hint: "[необязательно: override домена — knowledge-worker / generic]"
experimental: true
sunset: "после DONE WP-222 (Портной, ~июнь 2026) и WP-149 Ф6 (книга ЛР v3)"
related: [personal-guide-render, repo-new, WP-245, WP-222, WP-149, WP-527, PD.FORM.089, PD.CAT.003]
version: 1.4.0
layer: L1
status: active
browser_safe: false
triggers:
  slash: [/personal-guide-start]
  phrases: []
routing:
  executor: sonnet
  deterministic: false
agents: single
interaction: multi-step
gates_required: []
gates_enforced: []
gates_rationale: "операционный скилл; WP Gate применим только при создании нового РП, не для операционных вызовов"
---

# Запуск персонального руководства

## When to use

Пользователь просит создать персональное руководство или завершить прежнюю
настройку. Повторный запуск проверяет существующий репозиторий и материалы;
он не должен пересоздавать репозиторий или перезаписывать историю.

## Контракт

- **Вход:** запрос пользователя, подключённый GitHub, доступ к общим инструкциям
  и разрешённое чтение личного источника. Создание требует авторизации `/repo-new`.
- **Выход:** отдельно подтверждены подключение приватного репозитория, доступность
  материалов за период и состояние генерации. Создание репозитория не означает,
  что руководство уже собрано.
- **Сохранность:** не изменять пользовательские `CLAUDE.md`, историю, планы и
  шаблоны рефлексии. Не удалять ранее установленные скиллы.
- **Повтор:** одинаковые проверки после создания и подключения существующего
  репозитория; отсутствие материалов не является поводом создать его заново.

## Algorithm

## Шаг 0. Загрузить общие инструкции и проверить возможности канала

Этот скилл и `/personal-guide-render` доставляются обычным обновлением IWE.
В MCP-клиенте общий текст можно получить через
`personal_load_skill(skill_name="personal-guide-start")` и
`personal_load_skill(skill_name="personal-guide-render")` (либо опубликованный
в этом клиенте общий псевдоним `knowledge_load_skill`). Это загрузка инструкции,
не автоматическое выполнение её шагов.

**Не копировать SKILL.md в `DS-personal-guide/.claude/skills/`.** Не использовать
`personal_write` или другой транспорт для обхода запрета dotfiles. `lesson`,
`lesson-close`, `connect-guide` не являются зависимостями настройки: не искать их
в авторской рабочей папке и не требовать их установки. Личный репозиторий хранит
материалы и историю, а общие инструкции имеют свой источник в шаблоне.

Полный путь создания пока имеет `browser_safe: false`: `/repo-new` требует
проверяемой авторизации и локальных средств учёта. Загрузка текста через MCP не
заменяет политику или файловый замок. Если эти средства недоступны, создание
остановить с конкретной причиной и предложить продолжить в локальном IWE.
Проверку уже подключённых материалов можно выполнить через доступный только
для чтения `/personal-guide-render`; не объявлять при этом полный запуск готовым.

## Шаг 1. Разрешить источник и подтвердить владельца

Вызови `github_status` в этом запуске. Не используй логин из памяти или локального
`gh auth status`: локальный GitHub-клиент может быть подключён к другому аккаунту.
Если подключение отсутствует — предложи `github_connect` и дождись авторизации.

Найди `DS-personal-guide` среди подключённых источников. При
`github_owner_mismatch: true` не читать и не писать через этот источник: требуется
переподключение к выбранному аккаунту. Отсутствие источника в списке не доказывает
отсутствие репозитория на GitHub. Для уже существующего, но неподключённого репо
используй подключение GitHub, а не создание нового.

Для изменения или подтверждения готовности нужны факты из актуальных метаданных
GitHub: полный owner/name совпадает с выбранным пользователем аккаунтом и
`private: true`. Один `github_owner_mismatch: false` не доказывает приватность;
`github_status` может вообще не возвращать поле private. Нет способа проверить
метаданные — сообщи «приватность не подтверждена», не выполняй запись и не
объявляй настройку завершённой. Публичный или чужой репозиторий автоматически
не мигрировать и не менять его видимость.

### Если репозиторий нужно создать

Выполни Plan → Decision Gate → Execute по `/repo-new` с параметрами:

- `repo_class: personal-subscriber`, name `DS-personal-guide`, `template_type: notes`;
- privacy `private`, owner — выбранный пользователем аккаунт, сверенный с живым
  `github_status`; description «Персональное руководство пилота программы МИМ»;
- данные — личные материалы; владелец и писатель правок — пользователь;
  серверный генератор публикует руководство только в пределах разрешённого доступа;
- учёт личного источника — через GitHub/MCP, без реестра репозиториев экосистемы.

Для автоматического создания по `personal-subscriber-onboarding-v1` выполнить
все проверки политики и учёт под замком из Step 5 `/repo-new`. Отсутствующая или
истёкшая политика не даёт разрешения: не переключаться на иной вид авторизации
молча. Явный разовый проход возможен только по новому решению пользователя.
Серверные проверки согласия, выбранного аккаунта и прав доступа не обходить.

Вызывать только опубликованный инструмент с его фактической схемой. Если сервер
требует выбранный GitHub-логин, а клиент не позволяет его передать, остановиться
и предложить обновить подключение инструментов. Не подставлять несуществующие
параметры и не повторять запрос с ослабленными проверками.

Ссылка OAuth ещё не подтверждает создание. После завершения авторизации повтори
проверку источника и метаданных. При 409 существующий репозиторий можно использовать
только после проверки owner/private и назначения по README/структуре. Отсутствие
`inbox/` после прежней настройки руководства само по себе не повод пересоздавать
репозиторий. Новый и существующий репозитории далее проходят одни и те же шаги.

## Шаг 2. Проверить доступность репозитория

Прочитай `README.md` через
`personal_get_document(source="DS-personal-guide", filename="README.md", include_sha=true)`.
Это чтение актуальной версии из GitHub; при больших ответах соблюдай пагинацию.
Поиск можно использовать для обнаружения пути, но пустой индекс не доказывает
отсутствие файла. Ошибку доступа, задержку индекса и подтверждённое отсутствие
сообщать различно. Не заменять README и не создавать персональные данные для
маскировки неудачного чтения.

Наличие README подтверждает доступ к репозиторию, а не полноту руководства.
`bootstrap_completed` — записанная отметка, а не проверка файлов; не менять её
на основании одного README, ответа скилла или загрузки общих инструкций.
Необязательные памятки и шаблоны рефлексии не являются условием этого шага.

## Шаг 3. Проверить материалы через `/personal-guide-render`

Загрузи актуальную общую инструкцию и выполни её проверку за выбранную дату.
В локальном клиенте используй доступный механизм запуска скилла; без него
прочитай поставленный `SKILL.md` и следуй существующим шагам. Не ссылаться на
устаревшие «Шаги 1–7» и не вызывать отсутствующий `render_personal_guide`.

Этот шаг проверяет материалы, а не гарантирует запуск генератора. Не создавать
вместо него шесть файлов вручную, не придумывать профиль или оценки пользователя.
Если материалов нет, определить доступные сведения о существующей генерации:
подтверждённое задание / подтверждённая ошибка / запуск не подтверждён. Отсутствие
доступа к очереди не означает, что задание существует или что генерация сломана.

## Шаг 4. Сообщить проверенный результат

Назови отдельно:

1. Репозиторий: подключён и приватность подтверждена / что не подтверждено.
2. Материалы: какие конкретные файлы за период доступны / отсутствуют /
   не удалось проверить — по результату `/personal-guide-render`.
3. Генерация: запуск подтверждён / ошибка подтверждена / запуск не подтверждён.

«Настройка репозитория выполнена» допустимо после проверки источника, владельца,
приватности и чтения README. «Руководство доступно» — только после проверки
материала за выбранный период **и** табло. Найденные файлы не означают, что они
сгенерированы этим вызовом. При отсутствии материалов полная пользовательская
приёмка остаётся открытой; сообщи конкретный следующий шаг диагностики или
обращения в поддержку, без обещания «появится утром».

Если пользователь хочет работать локально и существование репозитория
подтверждено, предложи клонировать его по проверенному URL в свой IWE.
Создание через OAuth само по себе не создаёт локальную копию.

## Verification

Проверь новый, существующий пустой и существующий кастомизированный репозиторий;
отказ для чужого/публичного источника; задержку индекса; повторный запуск.
Ни в одном сценарии не должно быть установки скиллов в dotfiles, удаления
пользовательских файлов или ложного сообщения о готовых материалах.

<!-- USER-SPACE -->
<!-- /USER-SPACE -->
