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:
@@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
.cache/
|
||||||
|
.claude/
|
||||||
|
*.log
|
||||||
@@ -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.
|
||||||
@@ -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`).
|
||||||
@@ -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: команды + ожидаемые значения + триггеры.
|
||||||
Reference in New Issue
Block a user