feat: initial dream-core-start plugin

Skill 'старт' — handoff протокол між сесіями Dream Core.

- skills/start/SKILL.md: 10 steps Part 1 (старт сесії) + 8 steps Part 2 (закриття)
- userConfig: memory_dir + project_dir for cross-machine portability
- Paths parameterized via ${MEMORY_DIR} / ${PROJECT_DIR} placeholders
- License: MIT
This commit is contained in:
Anton Semenov
2026-05-15 12:08:42 +03:00
commit 824f99c14b
5 changed files with 318 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
{
"name": "dream-core-start",
"version": "1.0.0",
"description": "Handoff-протокол між сесіями Claude Code для проекту Dream Core. Skill 'старт' читає память проекту в чіткому порядку при старті нової сесії та структуровано закриває попередню через master-документ NEXT_SESSION_START_HERE.md (4 секції: робота / спостереження / Claude / Антон).",
"author": {
"name": "Anton Semenov",
"email": "anton.semenov.ser@gmail.com"
},
"repository": "https://git.oleks.space/anton/claude-plugin-dream-core-start.git",
"license": "MIT",
"keywords": [
"dream-core",
"session-handoff",
"memory",
"russian",
"productivity"
],
"userConfig": {
"memory_dir": {
"type": "string",
"title": "Project memory directory",
"description": "Абсолютний шлях до каталогу пам'яті проекту, де живе NEXT_SESSION_START_HERE.md, MEMORY.md, dream-core.md, session_*.md, known_issues/, roadmap/. На Windows: C:\\Users\\<user>\\.claude\\projects\\<encoded-cwd>\\memory. На POSIX: $HOME/.claude/projects/<encoded-cwd>/memory.",
"default": "~/.claude/projects/C--Users-anton/memory"
},
"project_dir": {
"type": "string",
"title": "Dream Core project directory",
"description": "Абсолютний шлях до коріню проекту Dream Core (терминал-агента), де лежать CLAUDE.md, scripts/protected_hashes.json, тощо.",
"default": "C:\\pro\\terminal-agent"
}
}
}
+3
View File
@@ -0,0 +1,3 @@
.cache/
.claude/
*.log
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2026 Anton Semenov
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+41
View File
@@ -0,0 +1,41 @@
# dream-core-start
Plugin для handoff між сесіями Claude Code в проекті Dream Core.
## What / Що це
Skill `старт` — single-source handoff протокол:
- **Старт сесії:** читання `NEXT_SESSION_START_HERE.md` (4 секції: ✅ робота · 👁 спостереження · 🤖 Claude · 👤 Антон), потім MEMORY.md, dream-core.md, профіль, активні плани, відкриті known_issues, остання сесія, live-state перевірки.
- **Закриття сесії:** оновлення master-документа + новий `session_YYYY_MM_DD_*.md` + блок поточного статусу в `dream-core.md` + ротація known_issues / roadmap + чистка `MEMORY.md` індексу.
## Trigger words
`"старт"`, `"включи скилл старт"`, `"начнём сессию"`, `"новая сессия Dream Core"`.
Закриття сесії: `"хватит на сегодня"`, `"сохраняем"`, `"обновляй память"`, `"до следующей сессии"`, `"обнови память проекта"`.
## Configuration
Плагін очікує два шляхи в `userConfig` (`.claude-plugin/plugin.json`):
| Key | Default | Що це |
|---------------|----------------------------------------------------|--------------------------------------------------------------------------------|
| `memory_dir` | `~/.claude/projects/C--Users-anton/memory` | Каталог пам'яті проекту (NEXT_SESSION_START_HERE.md, MEMORY.md, session_*, …) |
| `project_dir` | `C:\pro\terminal-agent` | Корінь Dream Core (`CLAUDE.md`, `scripts/protected_hashes.json`) |
На іншій машині / під іншого користувача переозначайте обидва через `claude plugin config dream-core-start`.
## Dependencies
- Пам'ять проекту в `memory_dir` має існувати разом з `NEXT_SESSION_START_HERE.md` як master handoff.
- Проект Dream Core у `project_dir` (для перевірок `protected_hashes.json` тощо).
- Жодних MCP / external tools — скіл read-only щодо файлів пам'яті, окрім фази закриття, де він пише через звичайні file-tools хосту.
## Install
```
claude plugin add https://git.oleks.space/anton/claude-plugin-dream-core-start.git
```
Або через oleks-реєстр (entry в `claude-plugin-index/plugins.json`).
+221
View File
@@ -0,0 +1,221 @@
---
name: старт
description: Использовать при старте новой сессии работы над Dream Core. Объясняет как ознакомиться со всеми документами проекта и как правильно оставить документы для следующей сессии после окончания работы. Триггеры — "старт", "включи скилл старт", "начнём сессию", "новая сессия Dream Core".
---
# Skill: старт — handoff протокол между сессиями Dream Core
## Цель
Гарантировать что **каждая новая сессия Claude** входит в контекст за 5 минут, а **Антон** получает структурированный отчёт без копания в логах. Память — единственный канал между сессиями. Без обновления — следующая сессия слепая.
---
## Конфигурация путей
Все пути к памяти и проекту берутся из `userConfig` плагина:
- `${MEMORY_DIR}``userConfig.memory_dir` (default `~/.claude/projects/C--Users-anton/memory`)
- `${PROJECT_DIR}``userConfig.project_dir` (default `C:\pro\terminal-agent`)
Если плагин установлен с дефолтами — пути ниже разворачиваются автоматически. Если Антон переопределил `memory_dir` / `project_dir` (другая машина, другой проект) — подставлять значения из конфига перед чтением.
---
## 🟢 ЧАСТЬ 1 — Старт сессии (Claude читает в этом порядке)
### Шаг 1: МАСТЕР-документ (читать целиком)
```
${MEMORY_DIR}/NEXT_SESSION_START_HERE.md
```
Это **единственный handoff документ** между сессиями. Содержит 4 секции:
- **✅ ПОСЛЕДНЯЯ ПРОДЕЛАННАЯ РАБОТА** — что закрыто, какие файлы изменены, какой эффект
- **👁 НАБЛЮДЕНИЯ** — live state + команды проверки
- **🤖 РЕКОМЕНДАЦИИ CLAUDE CODE** — что делать новому Claude, что НЕ делать, приоритет фиксов
- **👤 РЕКОМЕНДАЦИИ АНТОНУ** — что проверять, когда возвращаться, триггеры вмешательства
Если этот файл свежий — большинство контекста ты уже понимаешь.
### Шаг 2: Индекс памяти
```
${MEMORY_DIR}/MEMORY.md
```
Карта папки + хронология фаз + где что лежит.
### Шаг 3: Архитектура и грабли
```
${MEMORY_DIR}/dream-core.md
```
5 уровней защиты, текущий статус (обновлённый), хронология.
### Шаг 4: Профиль и правила работы
```
${MEMORY_DIR}/user_profile.md
${MEMORY_DIR}/feedback_autonomy.md
${MEMORY_DIR}/feedback_dev_process.md
${MEMORY_DIR}/feedback_read_project_claude_md.md
```
### Шаг 5: Главный гайд проекта (по необходимости)
```
${PROJECT_DIR}/CLAUDE.md
```
1813 строк. Читать **только если** мастер-документ ссылается на конкретный раздел или ты собираешься менять защищённые файлы.
### Шаг 6: Активные планы
```
${MEMORY_DIR}/roadmap/dream_action_plan_after_critical_fixes.md
${MEMORY_DIR}/roadmap/dream_graduation_plan.md
```
### Шаг 7: Известные проблемы
```
${MEMORY_DIR}/known_issues/
```
Те что без ✅ — открытые.
### Шаг 8: Последняя сессия (если есть детали)
Самый свежий `session_YYYY_MM_DD_*.md` в корне `${MEMORY_DIR}/`. Если master-документ ссылается — читать.
### Шаг 9: Запустить команды проверки live state
Из секции 👁 в `NEXT_SESSION_START_HERE.md`. Запустить ВСЕ, не пропуская.
### Шаг 10: Подтвердить понимание Антону
Одной строкой:
> "Память прочитана. Phase X/10, success=N (за час +M), win_rate=NN%, architecture=Y. Открытые TODO: <короткий список из 🤖 рекомендаций>. Готов к работе."
**НЕ задавать уточняющих вопросов** до завершения шагов 1-9.
---
## 🔴 ЧАСТЬ 2 — Завершение сессии (обновление handoff)
Триггеры: "хватит на сегодня", "сохраняем", "обновляй память", "до следующей сессии", "обнови память проекта".
**Цель закрытия:** следующая сессия должна войти в контекст из ОДНОГО `NEXT_SESSION_START_HERE.md` (плюс детальный session_*.md для глубокого).
### Шаг 1: создать session-файл
```
${MEMORY_DIR}/session_YYYY_MM_DD_<slug>.md
```
Шаблон:
```markdown
---
name: Сессия YYYY-MM-DD — <короткое название>
description: <ключевые темы через запятую>
type: project
---
## Корень проблемы (если был аудит)
<симптом + диагностика>
## Что сделано
| # | Файл | Изменение | Эффект |
|---|---|---|---|
| 1 | path | что | зачем |
## Hash-update (если protected files менялись)
<old → new>
## Доказательства совпадения цели и поведения
<метрики ДО vs ПОСЛЕ>
## Что НЕ зафиксили (отложено)
<пункты>
## Скиллы использованы
<root-cause-fix, agent-restart-verify, ...>
**Why:** <главная цель сессии>
**How to apply:** <что проверить при возврате>
```
### Шаг 2: обновить `NEXT_SESSION_START_HERE.md` (КРИТИЧНО)
Переписать 4 секции под актуальное состояние:
```markdown
## ✅ ПОСЛЕДНЯЯ ПРОДЕЛАННАЯ РАБОТА (YYYY-MM-DD)
<коротко: какая дыра закрыта, какие файлы, общий эффект>
<ссылка на session_YYYY_MM_DD_*.md для деталей>
## 👁 НАБЛЮДЕНИЯ (live state)
<команды проверки + ожидаемые значения>
## 🤖 РЕКОМЕНДАЦИИ CLAUDE CODE
<что НЕ делать>
<приоритет следующих фиксов>
<обязательные скиллы перед изменениями>
## 👤 РЕКОМЕНДАЦИИ АНТОНУ
<когда проверять>
<триггеры вмешательства>
<чего избегать>
```
**НЕ дублировать** содержимое session_*.md в master-документ — там ссылка.
### Шаг 3: обновить `dream-core.md`
Добавить блок `## Текущий статус (YYYY-MM-DD, время — заголовок)` в начало (после frontmatter). Старый статус НЕ удалять — переименовать в `## Прошлый статус`.
### Шаг 4: новые проблемы → `known_issues/`
Если выявлен НОВЫЙ баг, не закрылся:
```
${MEMORY_DIR}/known_issues/<slug>.md
```
Шаблон:
```markdown
---
name: <короткое имя>
description: <одна строка>
type: project
---
# <Заголовок>
## Симптом
## Корень
## Решение (предложение)
**Why:** <почему важно>
**How to apply:** <когда чинить>
```
Если **закрыли в этой сессии** проблему которая была в `known_issues/` — переименовать в `name: ЗАКРЫТА YYYY-MM-DD — ...` + добавить ссылку на session.
### Шаг 5: новые планы → `roadmap/`
План развития → `${MEMORY_DIR}/roadmap/<slug>.md`. Старые планы НЕ удалять (помечать ✅ в `MEMORY.md` индексе).
### Шаг 6: обновить `MEMORY.md` индекс
- Если новая фаза или важная веха → добавить в хронологию
- Закрытые known_issues помечать ✅
- Новые roadmap-файлы добавлять с пометкой "← АКТИВНЫЙ"
### Шаг 7: навести порядок
- Свежий `session_*.md` остаётся в корне `${MEMORY_DIR}/`
- Если в корне 3+ session_* — старые в `archive_sessions/`
- Устаревшие audit-доки → `archive_audits/`
### Шаг 8: подтвердить Антону
> "Память сохранена. Session: <slug>. NEXT_SESSION_START_HERE.md обновлён всеми 4 секциями. Следующая сессия — команда 'старт'."
---
## 🛠 Связанные скиллы (использовать активно)
| Скилл | Когда |
|---|---|
| `root-cause-fix` | Перед ЛЮБЫМ багфиксом — найти корень |
| `agent-restart-verify` | После правки кода Dream Core (особенно protected) — restart + grep + functional test |
| `update-project-memory` | Альтернативный шаблон закрытия (если эта структура не подходит) |
---
## Правила (всегда)
1. **NEXT_SESSION_START_HERE.md — единственный handoff документ.** Не дублировать его контент в других местах. Только ссылки.
2. **Доказательства, не слова.** Каждое "сделано" подкреплять curl / лог / grep / `file_path:line`.
3. **Автономно.** Не спрашивать разрешения продолжать пока скилл не дошёл до конца.
4. **По-русски** — никакого английского кроме кода/команд/тулов.
5. **Скиллы поверх default**`root-cause-fix` и `agent-restart-verify` проактивно.
6. **НЕ трогать protected files** (см. `${PROJECT_DIR}/scripts/protected_hashes.json`) без обновления SHA.
7. **Память — единственная связь между сессиями.** Без обновления master-документа следующий Claude слеп.
8. **Антон зашёл — он первым делом читает свою секцию** (👤 РЕКОМЕНДАЦИИ АНТОНУ) в master-документе. Эта секция должна быть actionable: команды + ожидаемые значения + триггеры.