@dzhechkov/keysarium 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +289 -0
- package/bin/cli.js +5 -0
- package/package.json +43 -0
- package/src/cli.js +157 -0
- package/src/commands/doctor.js +469 -0
- package/src/commands/init.js +171 -0
- package/src/commands/list.js +147 -0
- package/src/commands/remove.js +197 -0
- package/src/commands/update.js +191 -0
- package/src/utils.js +274 -0
- package/templates/.claude/agents/cjm-variant-worker.md +60 -0
- package/templates/.claude/agents/discovery-worker.md +45 -0
- package/templates/.claude/agents/parallel-research-orchestrator.md +70 -0
- package/templates/.claude/agents/presentation-worker.md +55 -0
- package/templates/.claude/agents/research-worker.md +43 -0
- package/templates/.claude/commands/architecture-phase.md +37 -0
- package/templates/.claude/commands/casarium.md +163 -0
- package/templates/.claude/commands/cjm-prototype.md +42 -0
- package/templates/.claude/commands/discovery.md +34 -0
- package/templates/.claude/commands/explore-case.md +22 -0
- package/templates/.claude/commands/harvest.md +67 -0
- package/templates/.claude/commands/new-research.md +69 -0
- package/templates/.claude/commands/parallel-research.md +45 -0
- package/templates/.claude/commands/presentation.md +49 -0
- package/templates/.claude/commands/research.md +32 -0
- package/templates/.claude/commands/solve.md +36 -0
- package/templates/.claude/rules/agent-swarm.md +31 -0
- package/templates/.claude/rules/anti-patterns.md +19 -0
- package/templates/.claude/rules/checkpoint-protocol.md +23 -0
- package/templates/.claude/rules/domain-specific.md +32 -0
- package/templates/.claude/rules/file-conventions.md +38 -0
- package/templates/.claude/rules/modular-reuse.md +35 -0
- package/templates/.claude/rules/research-quality.md +20 -0
- package/templates/.claude/settings.json +37 -0
- package/templates/.claude/skills/explore/SKILL.md +215 -0
- package/templates/.claude/skills/explore/references/questioning-techniques.md +151 -0
- package/templates/.claude/skills/explore/references/task-brief-templates.md +355 -0
- package/templates/.claude/skills/frontend-design/LICENSE.txt +177 -0
- package/templates/.claude/skills/frontend-design/SKILL.md +42 -0
- package/templates/.claude/skills/goap-research-ed25519/SKILL.md +415 -0
- package/templates/.claude/skills/goap-research-ed25519/references/ed25519-verification.md +658 -0
- package/templates/.claude/skills/goap-research-ed25519/references/research-actions.md +544 -0
- package/templates/.claude/skills/goap-research-ed25519/references/source-evaluation.md +560 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/ed25519_verifier.py +662 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/goap_planner.py +720 -0
- package/templates/.claude/skills/presentation-storyteller/SKILL.md +371 -0
- package/templates/.claude/skills/presentation-storyteller/references/example-presentation.md +273 -0
- package/templates/.claude/skills/presentation-storyteller/references/slide-types.md +426 -0
- package/templates/.claude/skills/presentation-storyteller/references/sources-index-template.md +213 -0
- package/templates/.claude/skills/presentation-storyteller/references/speaker-script-patterns.md +324 -0
- package/templates/.claude/skills/presentation-storyteller/references/storytelling-frameworks.md +270 -0
- package/templates/.claude/skills/problem-solver-enhanced/SKILL.md +562 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/SKILL.md +194 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/examples/noom-cjm-example.md +100 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/examples/noom-module1-example.md +88 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/01-intelligence.md +328 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/02-product-customers.md +221 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/025-cjm-prototype.md +206 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/03-market-competition.md +402 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/04-business-finance.md +287 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/05-growth-engine.md +290 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/06-playbook-synthesis.md +286 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/references/blue-ocean-canvas.md +39 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/references/industry-benchmarks.md +67 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/references/jtbd-canvas.md +48 -0
- package/templates/CLAUDE.md +185 -0
- package/templates/TOOLKIT_HARVEST.md +29 -0
- package/templates/docs/keysarium/01-deployment-guide.md +768 -0
- package/templates/docs/keysarium/02-admin-guide.md +1170 -0
- package/templates/docs/keysarium/03-user-guide.md +884 -0
- package/templates/docs/keysarium/04-infrastructure-requirements.md +967 -0
- package/templates/docs/keysarium/05-architecture.md +706 -0
- package/templates/docs/keysarium/06-user-flows.md +925 -0
- package/templates/docs/skills-bto/01-deployment-guide.md +828 -0
- package/templates/docs/skills-bto/02-admin-guide.md +1052 -0
- package/templates/docs/skills-bto/03-user-guide.md +960 -0
- package/templates/docs/skills-bto/04-infrastructure-requirements.md +610 -0
- package/templates/docs/skills-bto/05-architecture.md +1112 -0
- package/templates/docs/skills-bto/06-user-flows.md +977 -0
- package/templates/lib/agent-patterns.md +115 -0
- package/templates/lib/domain-templates.md +172 -0
- package/templates/lib/phase-utils.md +107 -0
- package/templates/lib/skill-loader.md +78 -0
- package/templates/researches/.gitkeep +0 -0
|
@@ -0,0 +1,925 @@
|
|
|
1
|
+
# 06. Пользовательские и административные flow
|
|
2
|
+
|
|
3
|
+
## Содержание
|
|
4
|
+
|
|
5
|
+
1. [User Flow: Полный пайплайн (/casarium)](#user-flow-полный-пайплайн)
|
|
6
|
+
2. [User Flow: Quick Mode (< 2 часов)](#user-flow-quick-mode)
|
|
7
|
+
3. [User Flow: Параллельные исследования](#user-flow-параллельные-исследования)
|
|
8
|
+
4. [User Flow: Отдельная фаза](#user-flow-отдельная-фаза)
|
|
9
|
+
5. [User Flow: Harvest знаний](#user-flow-harvest-знаний)
|
|
10
|
+
6. [Admin Flow: Добавление нового скилла](#admin-flow-добавление-нового-скилла)
|
|
11
|
+
7. [Admin Flow: Создание новой команды](#admin-flow-создание-новой-команды)
|
|
12
|
+
8. [Admin Flow: Настройка доменных правил](#admin-flow-настройка-доменных-правил)
|
|
13
|
+
9. [Admin Flow: Расширение пайплайна новой фазой](#admin-flow-расширение-пайплайна-новой-фазой)
|
|
14
|
+
10. [Admin Flow: Массовый harvest](#admin-flow-массовый-harvest)
|
|
15
|
+
11. [Error Flows](#error-flows)
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## User Flow: Полный пайплайн
|
|
20
|
+
|
|
21
|
+
### Sequence Diagram
|
|
22
|
+
|
|
23
|
+
```mermaid
|
|
24
|
+
sequenceDiagram
|
|
25
|
+
actor U as User
|
|
26
|
+
participant C as Claude (/casarium)
|
|
27
|
+
participant FS as File System
|
|
28
|
+
participant A as Agent Swarm
|
|
29
|
+
|
|
30
|
+
U->>C: /casarium [текст кейса]
|
|
31
|
+
C->>C: Определить CASE_NAME, тайминг, домен
|
|
32
|
+
C->>FS: mkdir researches/<slug>/
|
|
33
|
+
C->>FS: mkdir researches/<slug>/prototype/
|
|
34
|
+
C->>FS: mkdir researches/<slug>/diagrams/
|
|
35
|
+
C-->>U: Инициализация: 7 фаз, распределение времени
|
|
36
|
+
|
|
37
|
+
Note over C: ═══ Phase 0: Product Discovery ═══
|
|
38
|
+
C->>FS: Read .claude/skills/reverse-engineering-unicorn/SKILL.md
|
|
39
|
+
C->>A: Spawn 2 агента
|
|
40
|
+
A->>A: Agent 1: JTBD + Voice of Customer
|
|
41
|
+
A->>A: Agent 2: Конкуренты + Business Case
|
|
42
|
+
A-->>C: Результаты обоих агентов
|
|
43
|
+
C->>C: Синтез результатов
|
|
44
|
+
C->>FS: Write 00_product_discovery.md
|
|
45
|
+
C-->>U: Checkpoint 0: Discovery Complete
|
|
46
|
+
U->>C: "ок"
|
|
47
|
+
|
|
48
|
+
Note over C: ═══ Phase 1: Explore ═══
|
|
49
|
+
C->>FS: Read .claude/skills/explore/SKILL.md
|
|
50
|
+
C->>FS: Read 00_product_discovery.md
|
|
51
|
+
C->>C: 5 Whys, ограничения, success criteria
|
|
52
|
+
C->>FS: Write 01_case_brief.md
|
|
53
|
+
C-->>U: Checkpoint 1: Explore Complete
|
|
54
|
+
U->>C: "ок"
|
|
55
|
+
|
|
56
|
+
Note over C: ═══ Phase 2: Research ═══
|
|
57
|
+
C->>FS: Read .claude/skills/goap-research-ed25519/SKILL.md
|
|
58
|
+
C->>A: Spawn 3 агента (PARANOID mode)
|
|
59
|
+
A->>A: Agent 1: Аналоги + метрики
|
|
60
|
+
A->>A: Agent 2: Технологии + Anti-patterns
|
|
61
|
+
A->>A: Agent 3: Регуляторика + market data
|
|
62
|
+
A-->>C: Результаты трёх агентов
|
|
63
|
+
C->>C: Синтез + верификация
|
|
64
|
+
C->>FS: Write 02_research_findings.md
|
|
65
|
+
C-->>U: Checkpoint 2: Research Complete
|
|
66
|
+
U->>C: "ок"
|
|
67
|
+
|
|
68
|
+
Note over C: ═══ Phase 2.5: CJM Prototype ═══
|
|
69
|
+
C->>FS: Read .claude/skills/reverse-engineering-unicorn/SKILL.md
|
|
70
|
+
C->>FS: Read .claude/skills/frontend-design/SKILL.md
|
|
71
|
+
C->>A: Spawn 3 агента
|
|
72
|
+
A->>A: Agent 1: CJM Variant A
|
|
73
|
+
A->>A: Agent 2: CJM Variant B + C
|
|
74
|
+
A->>A: Agent 3: Trend Research (Variant D)
|
|
75
|
+
A-->>C: 4 варианта CJM
|
|
76
|
+
C->>FS: Write 02.5_trend_brief.md
|
|
77
|
+
C->>FS: Write prototype/cjm-prototype.jsx
|
|
78
|
+
C-->>U: Checkpoint 2.5: Выберите CJM (A/B/C/D)
|
|
79
|
+
U->>C: "выбираю B"
|
|
80
|
+
C->>C: Зафиксировать {CHOSEN_CJM} = Variant B
|
|
81
|
+
|
|
82
|
+
Note over C: ═══ Phase 3: Solve ═══
|
|
83
|
+
C->>FS: Read .claude/skills/problem-solver-enhanced/SKILL.md
|
|
84
|
+
C->>C: SCQA, Process Design, AI Pipeline (используя {CHOSEN_CJM})
|
|
85
|
+
C->>FS: Write 03_solution_strategy.md
|
|
86
|
+
C->>FS: Write diagrams/process-as-is.mermaid
|
|
87
|
+
C->>FS: Write diagrams/process-to-be.mermaid
|
|
88
|
+
C-->>U: Checkpoint 3: Solve Complete
|
|
89
|
+
U->>C: "ок"
|
|
90
|
+
|
|
91
|
+
Note over C: ═══ Phase 4: Architecture ═══
|
|
92
|
+
C->>C: C4 Architecture, AI Models, Data, Security (используя {CHOSEN_CJM})
|
|
93
|
+
C->>FS: Write 04_architecture.md
|
|
94
|
+
C->>FS: Write diagrams/architecture-c4.mermaid
|
|
95
|
+
C->>FS: Write diagrams/sequence-main-flow.mermaid
|
|
96
|
+
C-->>U: Checkpoint 4: Architecture Complete
|
|
97
|
+
U->>C: "ок"
|
|
98
|
+
|
|
99
|
+
Note over C: ═══ Phase 5: Presentation ═══
|
|
100
|
+
C->>FS: Read .claude/skills/presentation-storyteller/SKILL.md
|
|
101
|
+
C->>A: Spawn 3 агента (используя {CHOSEN_CJM})
|
|
102
|
+
A->>A: Agent 1: Контент презентации
|
|
103
|
+
A->>A: Agent 2: Speaker Script
|
|
104
|
+
A->>A: Agent 3: Q&A + Executive Summary
|
|
105
|
+
A-->>C: Результаты трёх агентов
|
|
106
|
+
C->>FS: Write 05_presentation_content.md
|
|
107
|
+
C->>FS: Write 06_speaker_script.md
|
|
108
|
+
C->>FS: Write 07_qa_preparation.md
|
|
109
|
+
C->>FS: Write 08_executive_summary.md
|
|
110
|
+
C-->>U: Checkpoint 5: Presentation Complete
|
|
111
|
+
U->>C: "ок"
|
|
112
|
+
|
|
113
|
+
Note over C: ═══ Phase 6: Packaging ═══
|
|
114
|
+
C->>C: Проверка всех артефактов
|
|
115
|
+
C->>FS: Write README.md
|
|
116
|
+
C-->>U: Полный архив исследования
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Step by Step
|
|
120
|
+
|
|
121
|
+
**Шаг 1. Запуск пайплайна**
|
|
122
|
+
```
|
|
123
|
+
User: /casarium Кейс: Автоматизация контакт-центра банка с помощью AI.
|
|
124
|
+
Тайминг: 4 часа. Домен: Банковский.
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**Шаг 2. Инициализация**
|
|
128
|
+
- Claude определяет `CASE_NAME = bank_kc_automation`
|
|
129
|
+
- Создает `researches/bank_kc_automation/` со структурой
|
|
130
|
+
- Распределяет время: Phase 0 (36 мин) | Phase 1 (12 мин) | Phase 2 (36 мин) | Phase 2.5 (24 мин) | Phase 3 (36 мин) | Phase 4 (36 мин) | Phase 5 (48 мин) | Buffer (12 мин)
|
|
131
|
+
- Применяет доменные правила: банковский домен (on-premise LLM, ФЗ-152, HITL)
|
|
132
|
+
|
|
133
|
+
**Шаг 3. Phase 0 -- Product Discovery**
|
|
134
|
+
- Загружается скилл `reverse-engineering-unicorn`
|
|
135
|
+
- 2 агента параллельно: JTBD-анализ и конкурентный анализ
|
|
136
|
+
- Результат: `00_product_discovery.md`
|
|
137
|
+
- Checkpoint 0 -> пользователь подтверждает "ок"
|
|
138
|
+
|
|
139
|
+
**Шаг 4. Phase 1 -- Explore**
|
|
140
|
+
- Загружается скилл `explore`
|
|
141
|
+
- Декомпозиция проблемы, карта ограничений, success criteria
|
|
142
|
+
- Результат: `01_case_brief.md`
|
|
143
|
+
- Checkpoint 1 -> пользователь подтверждает "ок"
|
|
144
|
+
|
|
145
|
+
**Шаг 5. Phase 2 -- Research**
|
|
146
|
+
- Загружается скилл `goap-research-ed25519` в PARANOID mode
|
|
147
|
+
- 3 агента параллельно: аналоги, технологии, регуляторика
|
|
148
|
+
- Синтез с верификацией каждого утверждения
|
|
149
|
+
- Результат: `02_research_findings.md`
|
|
150
|
+
- Checkpoint 2 -> пользователь подтверждает "ок"
|
|
151
|
+
|
|
152
|
+
**Шаг 6. Phase 2.5 -- CJM Prototype (MANDATORY)**
|
|
153
|
+
- Загружаются скиллы `reverse-engineering-unicorn` + `frontend-design`
|
|
154
|
+
- 3 агента параллельно: Variant A, Variant B+C, Trend Research (D)
|
|
155
|
+
- Генерируется React-прототип с 4 вариантами CJM
|
|
156
|
+
- Результат: `02.5_trend_brief.md` + `prototype/cjm-prototype.jsx`
|
|
157
|
+
- Checkpoint 2.5 -> пользователь выбирает: "выбираю B"
|
|
158
|
+
- Фиксируется `{CHOSEN_CJM} = Variant B`
|
|
159
|
+
|
|
160
|
+
**Шаг 7. Phase 3 -- Solve**
|
|
161
|
+
- Загружается скилл `problem-solver-enhanced`
|
|
162
|
+
- Используется `{CHOSEN_CJM}` для проектирования решения
|
|
163
|
+
- SCQA, Process Design (As-Is -> To-Be), AI Pipeline, HITL, метрики, roadmap
|
|
164
|
+
- Результат: `03_solution_strategy.md` + Mermaid-диаграммы
|
|
165
|
+
- Checkpoint 3 -> пользователь подтверждает "ок"
|
|
166
|
+
|
|
167
|
+
**Шаг 8. Phase 4 -- Architecture**
|
|
168
|
+
- Встроенные шаблоны архитектуры + контекст Phase 0-3
|
|
169
|
+
- C4 Architecture, AI Models & Pipeline, Data Architecture, Security
|
|
170
|
+
- Результат: `04_architecture.md` + Mermaid-диаграммы
|
|
171
|
+
- Checkpoint 4 -> пользователь подтверждает "ок"
|
|
172
|
+
|
|
173
|
+
**Шаг 9. Phase 5 -- Presentation**
|
|
174
|
+
- Загружается скилл `presentation-storyteller`
|
|
175
|
+
- 3 агента параллельно: презентация, speaker script, Q&A + executive summary
|
|
176
|
+
- Результат: `05-08_*.md` (4 файла)
|
|
177
|
+
- Checkpoint 5 -> пользователь подтверждает "ок"
|
|
178
|
+
|
|
179
|
+
**Шаг 10. Phase 6 -- Packaging**
|
|
180
|
+
- Проверка наличия всех артефактов
|
|
181
|
+
- Генерация `README.md` с метаданными и оглавлением
|
|
182
|
+
- Финальный архив исследования готов
|
|
183
|
+
|
|
184
|
+
### Команды пользователя во время пайплайна
|
|
185
|
+
|
|
186
|
+
| Команда | Действие | Когда доступна |
|
|
187
|
+
|---------|----------|----------------|
|
|
188
|
+
| `ок` | Переход к следующей фазе | На любом checkpoint |
|
|
189
|
+
| `углуби [раздел]` | Доработать конкретный раздел | На любом checkpoint |
|
|
190
|
+
| `превью [X]` | Посмотреть созданный документ | В любой момент |
|
|
191
|
+
| `время [N]` | Изменить тайминг | В начале или на checkpoint |
|
|
192
|
+
| `ускорь` | Quick Mode текущей фазы | На checkpoint |
|
|
193
|
+
| `wow` | Добавить нестандартный элемент | На checkpoint |
|
|
194
|
+
| `выбираю A/B/C/D` | Зафиксировать CJM | Только на Checkpoint 2.5 |
|
|
195
|
+
| `объедини A+D` | Создать гибрид CJM | Только на Checkpoint 2.5 |
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## User Flow: Quick Mode
|
|
200
|
+
|
|
201
|
+
Quick Mode предназначен для ситуаций, когда тайминг кейса составляет менее 2 часов. Фазы выполняются в сокращенном формате.
|
|
202
|
+
|
|
203
|
+
```mermaid
|
|
204
|
+
sequenceDiagram
|
|
205
|
+
actor U as User
|
|
206
|
+
participant C as Claude
|
|
207
|
+
|
|
208
|
+
U->>C: /casarium [кейс] время 1.5
|
|
209
|
+
C->>C: Quick Mode активирован (< 2ч)
|
|
210
|
+
C-->>U: Quick Mode: сокращенные фазы
|
|
211
|
+
|
|
212
|
+
Note over C: Phase 0+1 объединены (15 мин)
|
|
213
|
+
C->>C: Сокращенный Discovery + Explore
|
|
214
|
+
C-->>U: Checkpoint 0+1
|
|
215
|
+
U->>C: "ок"
|
|
216
|
+
|
|
217
|
+
Note over C: Phase 2 сокращена (10 мин)
|
|
218
|
+
C->>C: Только ключевые аналоги и технологии
|
|
219
|
+
C-->>U: Checkpoint 2
|
|
220
|
+
U->>C: "ок"
|
|
221
|
+
|
|
222
|
+
Note over C: Phase 2.5 упрощена (10 мин)
|
|
223
|
+
C->>C: 2 варианта CJM (вместо 4), базовый UI
|
|
224
|
+
C-->>U: Checkpoint 2.5
|
|
225
|
+
U->>C: "выбираю A"
|
|
226
|
+
|
|
227
|
+
Note over C: Phase 3+4 объединены (20 мин)
|
|
228
|
+
C->>C: Сокращенная стратегия + архитектура
|
|
229
|
+
C-->>U: Checkpoint 3+4
|
|
230
|
+
U->>C: "ок"
|
|
231
|
+
|
|
232
|
+
Note over C: Phase 5 сокращена (25 мин)
|
|
233
|
+
C->>C: 8 слайдов, краткий script, key Q&A
|
|
234
|
+
C-->>U: Checkpoint 5
|
|
235
|
+
U->>C: "ок"
|
|
236
|
+
|
|
237
|
+
C-->>U: Phase 6: Packaging
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Отличия от полного пайплайна
|
|
241
|
+
|
|
242
|
+
| Аспект | Полный (4ч) | Quick (< 2ч) |
|
|
243
|
+
|--------|-------------|--------------|
|
|
244
|
+
| Phase 0+1 | Раздельные | Объединены |
|
|
245
|
+
| Phase 2 | 3 агента, глубокий research | 1 агент, ключевые факты |
|
|
246
|
+
| Phase 2.5 | 4 варианта CJM | 2 варианта, базовый UI |
|
|
247
|
+
| Phase 3+4 | Раздельные | Объединены |
|
|
248
|
+
| Phase 5 | 10-12 слайдов, полный script | 8 слайдов, краткий script |
|
|
249
|
+
| Диаграммы | 4+ Mermaid | 2 Mermaid (минимум) |
|
|
250
|
+
| Executive Summary | Полная страница | Половина страницы |
|
|
251
|
+
|
|
252
|
+
### Правила Quick Mode
|
|
253
|
+
|
|
254
|
+
- Phase 2.5 (CJM) все равно **не пропускается** -- упрощается до 2 вариантов
|
|
255
|
+
- `08_executive_summary.md` все равно **обязателен**
|
|
256
|
+
- PARANOID mode для research **сохраняется** (лучше меньше утверждений, но верифицированных)
|
|
257
|
+
- Checkpoints **сохраняются** (но можно пройти быстрее)
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## User Flow: Параллельные исследования
|
|
262
|
+
|
|
263
|
+
### Sequence Diagram
|
|
264
|
+
|
|
265
|
+
```mermaid
|
|
266
|
+
sequenceDiagram
|
|
267
|
+
actor U as User
|
|
268
|
+
participant C as Claude (/parallel-research)
|
|
269
|
+
participant FS as File System
|
|
270
|
+
participant A1 as Agent 1
|
|
271
|
+
participant A2 as Agent 2
|
|
272
|
+
participant A3 as Agent 3
|
|
273
|
+
|
|
274
|
+
U->>C: /parallel-research case1: Описание | case2: Описание | case3: Описание
|
|
275
|
+
C->>C: Парсинг: разделить по "|"
|
|
276
|
+
|
|
277
|
+
C->>FS: mkdir researches/case1/
|
|
278
|
+
C->>FS: mkdir researches/case2/
|
|
279
|
+
C->>FS: mkdir researches/case3/
|
|
280
|
+
|
|
281
|
+
par Параллельное выполнение Phase 0
|
|
282
|
+
C->>A1: Phase 0 для case1
|
|
283
|
+
A1->>FS: Read reverse-engineering-unicorn SKILL.md
|
|
284
|
+
A1->>A1: JTBD, конкуренты, ROI
|
|
285
|
+
A1->>FS: Write researches/case1/00_product_discovery.md
|
|
286
|
+
|
|
287
|
+
C->>A2: Phase 0 для case2
|
|
288
|
+
A2->>FS: Read reverse-engineering-unicorn SKILL.md
|
|
289
|
+
A2->>A2: JTBD, конкуренты, ROI
|
|
290
|
+
A2->>FS: Write researches/case2/00_product_discovery.md
|
|
291
|
+
|
|
292
|
+
C->>A3: Phase 0 для case3
|
|
293
|
+
A3->>FS: Read reverse-engineering-unicorn SKILL.md
|
|
294
|
+
A3->>A3: JTBD, конкуренты, ROI
|
|
295
|
+
A3->>FS: Write researches/case3/00_product_discovery.md
|
|
296
|
+
end
|
|
297
|
+
|
|
298
|
+
A1-->>C: case1 Phase 0 complete
|
|
299
|
+
A2-->>C: case2 Phase 0 complete
|
|
300
|
+
A3-->>C: case3 Phase 0 complete
|
|
301
|
+
|
|
302
|
+
C->>C: Синтез: сводная таблица
|
|
303
|
+
|
|
304
|
+
C-->>U: Сводка результатов Phase 0 для всех кейсов
|
|
305
|
+
Note over U: Таблица: Кейс | Директория | Статус | Ключевые находки
|
|
306
|
+
|
|
307
|
+
U->>C: Продолжаю с case2
|
|
308
|
+
C-->>U: /casarium researches/case2/
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### Step by Step
|
|
312
|
+
|
|
313
|
+
**Шаг 1. Запуск параллельных исследований**
|
|
314
|
+
```
|
|
315
|
+
User: /parallel-research
|
|
316
|
+
AI для контакт-центра банка |
|
|
317
|
+
Персонализация в e-commerce |
|
|
318
|
+
Автоматизация документооборота
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
**Шаг 2. Парсинг и инициализация**
|
|
322
|
+
- Claude разделяет аргумент по `|`
|
|
323
|
+
- Определяет slug для каждого: `bank_kc_ai`, `ecommerce_personalization`, `doc_automation`
|
|
324
|
+
- Создает 3 изолированные директории в `researches/`
|
|
325
|
+
- Инициализирует README.md в каждой
|
|
326
|
+
|
|
327
|
+
**Шаг 3. Параллельное выполнение Phase 0**
|
|
328
|
+
- Запускаются 3 агента одновременно
|
|
329
|
+
- Каждый агент загружает `reverse-engineering-unicorn` и выполняет Product Discovery
|
|
330
|
+
- Агенты работают изолированно -- каждый только в своей директории
|
|
331
|
+
|
|
332
|
+
**Шаг 4. Сводка результатов**
|
|
333
|
+
```
|
|
334
|
+
═══════════════════════════════════════════════════════
|
|
335
|
+
Параллельные исследования: Phase 0 Complete
|
|
336
|
+
|
|
337
|
+
| # | Кейс | Директория | Статус |
|
|
338
|
+
|---|-------------------------|---------------------------------|--------|
|
|
339
|
+
| 1 | AI для контакт-центра | researches/bank_kc_ai/ | Done |
|
|
340
|
+
| 2 | Персонализация e-com | researches/ecommerce_personal/ | Done |
|
|
341
|
+
| 3 | Автоматизация документов| researches/doc_automation/ | Done |
|
|
342
|
+
|
|
343
|
+
Для продолжения:
|
|
344
|
+
/casarium researches/bank_kc_ai/
|
|
345
|
+
/casarium researches/ecommerce_personal/
|
|
346
|
+
/casarium researches/doc_automation/
|
|
347
|
+
═══════════════════════════════════════════════════════
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
**Шаг 5. Пользователь выбирает кейс для продолжения**
|
|
351
|
+
- Можно продолжить один кейс через `/casarium`
|
|
352
|
+
- Можно продолжить несколько последовательно
|
|
353
|
+
- Phase 0 уже выполнена -- пайплайн продолжится с Phase 1
|
|
354
|
+
|
|
355
|
+
### Ограничения
|
|
356
|
+
|
|
357
|
+
- Рекомендуется не более 3-4 параллельных исследований
|
|
358
|
+
- Phase 0 выполняется параллельно, остальные фазы -- последовательно для каждого кейса
|
|
359
|
+
- Каждый агент строго изолирован в своей директории
|
|
360
|
+
|
|
361
|
+
---
|
|
362
|
+
|
|
363
|
+
## User Flow: Отдельная фаза
|
|
364
|
+
|
|
365
|
+
Пользователь может запустить любую фазу отдельно, если уже есть подготовленная директория исследования с артефактами предыдущих фаз.
|
|
366
|
+
|
|
367
|
+
### Sequence Diagram
|
|
368
|
+
|
|
369
|
+
```mermaid
|
|
370
|
+
sequenceDiagram
|
|
371
|
+
actor U as User
|
|
372
|
+
participant C as Claude
|
|
373
|
+
participant FS as File System
|
|
374
|
+
|
|
375
|
+
U->>C: /research researches/bank_kc_ai/
|
|
376
|
+
C->>FS: Read researches/bank_kc_ai/00_product_discovery.md
|
|
377
|
+
C->>FS: Read researches/bank_kc_ai/01_case_brief.md
|
|
378
|
+
alt Файлы предыдущих фаз найдены
|
|
379
|
+
C->>FS: Read .claude/skills/goap-research-ed25519/SKILL.md
|
|
380
|
+
C->>C: Выполнить Phase 2 (Research)
|
|
381
|
+
C->>FS: Write researches/bank_kc_ai/02_research_findings.md
|
|
382
|
+
C-->>U: Checkpoint 2: Research Complete
|
|
383
|
+
else Файлы предыдущих фаз НЕ найдены
|
|
384
|
+
C-->>U: Предупреждение: необходимо сначала выполнить Phase 0 и Phase 1
|
|
385
|
+
end
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
### Step by Step
|
|
389
|
+
|
|
390
|
+
**Шаг 1. Запуск отдельной фазы**
|
|
391
|
+
```
|
|
392
|
+
User: /research researches/bank_kc_ai/
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
**Шаг 2. Проверка контекста**
|
|
396
|
+
- Claude проверяет наличие артефактов предыдущих фаз
|
|
397
|
+
- Если Phase 0 (`00_product_discovery.md`) и Phase 1 (`01_case_brief.md`) существуют -- продолжает
|
|
398
|
+
- Если нет -- предупреждает и предлагает сначала выполнить пропущенные фазы
|
|
399
|
+
|
|
400
|
+
**Шаг 3. Выполнение фазы**
|
|
401
|
+
- Загружается соответствующий скилл
|
|
402
|
+
- Фаза выполняется с учетом контекста предыдущих артефактов
|
|
403
|
+
- Создается артефакт в директории исследования
|
|
404
|
+
|
|
405
|
+
**Шаг 4. Checkpoint**
|
|
406
|
+
- Отображается checkpoint с результатами
|
|
407
|
+
- Пользователь может скорректировать или подтвердить
|
|
408
|
+
|
|
409
|
+
### Таблица зависимостей фаз
|
|
410
|
+
|
|
411
|
+
| Фаза | Команда | Требует артефактов от |
|
|
412
|
+
|------|---------|----------------------|
|
|
413
|
+
| Phase 0 | `/discovery` | -- (начальная) |
|
|
414
|
+
| Phase 1 | `/explore-case` | Phase 0 |
|
|
415
|
+
| Phase 2 | `/research` | Phase 0, Phase 1 |
|
|
416
|
+
| Phase 2.5 | `/cjm-prototype` | Phase 0, Phase 1, Phase 2 |
|
|
417
|
+
| Phase 3 | `/solve` | Phase 0-2.5 + {CHOSEN_CJM} |
|
|
418
|
+
| Phase 4 | `/architecture-phase` | Phase 0-3 |
|
|
419
|
+
| Phase 5 | `/presentation` | Phase 0-4 |
|
|
420
|
+
|
|
421
|
+
---
|
|
422
|
+
|
|
423
|
+
## User Flow: Harvest знаний
|
|
424
|
+
|
|
425
|
+
### Sequence Diagram
|
|
426
|
+
|
|
427
|
+
```mermaid
|
|
428
|
+
sequenceDiagram
|
|
429
|
+
actor U as User
|
|
430
|
+
participant C as Claude (/harvest)
|
|
431
|
+
participant FS as File System
|
|
432
|
+
|
|
433
|
+
U->>C: /harvest researches/bank_kc_ai/
|
|
434
|
+
|
|
435
|
+
C->>FS: Read всех файлов в researches/bank_kc_ai/
|
|
436
|
+
C->>FS: Read TOOLKIT_HARVEST.md
|
|
437
|
+
|
|
438
|
+
Note over C: Шаг 1: Ревью проекта
|
|
439
|
+
C->>C: Поиск универсальных паттернов
|
|
440
|
+
C->>C: Поиск переиспользуемых скиллов/команд
|
|
441
|
+
C->>C: Поиск ошибок и workaround-ов
|
|
442
|
+
C->>C: Поиск удачных формулировок
|
|
443
|
+
C->>C: Поиск доменных инсайтов
|
|
444
|
+
|
|
445
|
+
Note over C: Шаг 2: Классификация
|
|
446
|
+
C->>C: skills/ | commands/ | rules/ | templates/ | patterns/ | snippets/
|
|
447
|
+
|
|
448
|
+
Note over C: Шаг 3: Деконтекстуализация
|
|
449
|
+
C->>C: Убрать привязки к конкретному проекту
|
|
450
|
+
C->>C: Добавить: когда использовать, предусловия
|
|
451
|
+
C->>C: Пометить Maturity + Changelog
|
|
452
|
+
|
|
453
|
+
Note over C: Шаг 4: Обновление трекера
|
|
454
|
+
C->>FS: Update TOOLKIT_HARVEST.md
|
|
455
|
+
C-->>U: Отчёт: N находок извлечено и классифицировано
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
### Step by Step
|
|
459
|
+
|
|
460
|
+
**Шаг 1. Запуск harvest**
|
|
461
|
+
```
|
|
462
|
+
User: /harvest researches/bank_kc_ai/
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
**Шаг 2. Ревью исследования**
|
|
466
|
+
- Claude читает все артефакты в указанной директории
|
|
467
|
+
- Читает текущий `TOOLKIT_HARVEST.md`
|
|
468
|
+
- Ищет паттерны, которые можно обобщить за пределами конкретного кейса
|
|
469
|
+
|
|
470
|
+
**Шаг 3. Классификация находок**
|
|
471
|
+
Каждая находка распределяется по категориям:
|
|
472
|
+
|
|
473
|
+
| Категория | Примеры находок |
|
|
474
|
+
|-----------|----------------|
|
|
475
|
+
| skills/ | Улучшенный подход к CJM-анализу для банков |
|
|
476
|
+
| commands/ | Новая фаза "Compliance Review" |
|
|
477
|
+
| rules/ | "В банковском домене всегда проверяй ФЗ-152" |
|
|
478
|
+
| templates/ | Обновленный шаблон executive summary |
|
|
479
|
+
| patterns/ | Event sourcing для AI pipeline в банках |
|
|
480
|
+
| snippets/ | Универсальный CJM renderer для React |
|
|
481
|
+
|
|
482
|
+
**Шаг 4. Деконтекстуализация**
|
|
483
|
+
- Убираются привязки к конкретному банку/кейсу
|
|
484
|
+
- Добавляется документация: когда применять, предусловия, ограничения
|
|
485
|
+
- Маркируется зрелость: Beta / Stable
|
|
486
|
+
- Добавляется changelog
|
|
487
|
+
|
|
488
|
+
**Шаг 5. Обновление TOOLKIT_HARVEST.md**
|
|
489
|
+
- Новые находки добавляются в трекер
|
|
490
|
+
- Указывается проект-источник и дата извлечения
|
|
491
|
+
|
|
492
|
+
### Что НЕ извлекается
|
|
493
|
+
|
|
494
|
+
- Код, работающий только в контексте конкретного домена
|
|
495
|
+
- Паттерны, использованные один раз без уверенности в качестве
|
|
496
|
+
- Workaround-ы для конкретных багов библиотек (быстро устаревают)
|
|
497
|
+
|
|
498
|
+
---
|
|
499
|
+
|
|
500
|
+
## Admin Flow: Добавление нового скилла
|
|
501
|
+
|
|
502
|
+
### Sequence Diagram
|
|
503
|
+
|
|
504
|
+
```mermaid
|
|
505
|
+
flowchart TD
|
|
506
|
+
A["1. Создать директорию<br/>.claude/skills/new-skill/"] --> B["2. Создать SKILL.md<br/>(точка входа скилла)"]
|
|
507
|
+
B --> C["3. Добавить references/<br/>(справочные материалы)"]
|
|
508
|
+
C --> D{"Скилл сложный?"}
|
|
509
|
+
D -->|Да| E["4a. Добавить modules/<br/>(подмодули)"]
|
|
510
|
+
D -->|Нет| F["4b. Пропустить modules/"]
|
|
511
|
+
E --> G["5. Добавить examples/<br/>(примеры применения)"]
|
|
512
|
+
F --> G
|
|
513
|
+
G --> H["6. Протестировать:<br/>Read SKILL.md и проверить работу"]
|
|
514
|
+
H --> I["7. Обновить CLAUDE.md:<br/>добавить скилл в таблицу"]
|
|
515
|
+
I --> J["8. Обновить граф<br/>зависимостей скиллов"]
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
### Step by Step
|
|
519
|
+
|
|
520
|
+
**Шаг 1.** Создать директорию скилла:
|
|
521
|
+
```bash
|
|
522
|
+
mkdir -p .claude/skills/new-skill/references/
|
|
523
|
+
```
|
|
524
|
+
|
|
525
|
+
**Шаг 2.** Создать `SKILL.md` -- основной файл скилла. Обязательные секции:
|
|
526
|
+
```markdown
|
|
527
|
+
# Название скилла
|
|
528
|
+
|
|
529
|
+
## Роль
|
|
530
|
+
Описание, что делает скилл.
|
|
531
|
+
|
|
532
|
+
## Когда использовать
|
|
533
|
+
Условия и контекст применения.
|
|
534
|
+
|
|
535
|
+
## Инструкции
|
|
536
|
+
Пошаговый алгоритм работы.
|
|
537
|
+
|
|
538
|
+
## Формат вывода
|
|
539
|
+
Ожидаемый формат результата.
|
|
540
|
+
|
|
541
|
+
## Примеры
|
|
542
|
+
Ссылки на примеры или встроенные примеры.
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
**Шаг 3.** Добавить справочные материалы в `references/` -- техники, шаблоны, best practices, которые скилл использует.
|
|
546
|
+
|
|
547
|
+
**Шаг 4.** Для сложных скиллов -- добавить `modules/` с нумерованными подмодулями.
|
|
548
|
+
|
|
549
|
+
**Шаг 5.** Добавить `examples/` с конкретными примерами применения скилла.
|
|
550
|
+
|
|
551
|
+
**Шаг 6.** Протестировать: в Claude Code выполнить `Read(".claude/skills/new-skill/SKILL.md")` и проверить, что скилл выдает ожидаемые результаты.
|
|
552
|
+
|
|
553
|
+
**Шаг 7.** Обновить CLAUDE.md: добавить скилл в таблицу скиллов и граф зависимостей.
|
|
554
|
+
|
|
555
|
+
**Шаг 8.** Если скилл используется другими скиллами или командами -- обновить граф зависимостей.
|
|
556
|
+
|
|
557
|
+
### Принципы хорошего скилла
|
|
558
|
+
|
|
559
|
+
- **Domain-agnostic** -- скилл не должен быть привязан к конкретному домену
|
|
560
|
+
- **Самодостаточный** -- все необходимое содержится внутри директории скилла
|
|
561
|
+
- **Документированный** -- SKILL.md содержит полные инструкции для использования
|
|
562
|
+
- **Тестируемый** -- можно проверить работу скилла изолированно
|
|
563
|
+
|
|
564
|
+
---
|
|
565
|
+
|
|
566
|
+
## Admin Flow: Создание новой команды
|
|
567
|
+
|
|
568
|
+
### Sequence Diagram
|
|
569
|
+
|
|
570
|
+
```mermaid
|
|
571
|
+
flowchart TD
|
|
572
|
+
A["1. Определить назначение<br/>команды в пайплайне"] --> B["2. Создать файл<br/>.claude/commands/new-command.md"]
|
|
573
|
+
B --> C["3. Определить структуру:<br/>аргументы, действия, скиллы"]
|
|
574
|
+
C --> D["4. Привязать скилл(ы)<br/>через инструкцию Read SKILL.md"]
|
|
575
|
+
D --> E["5. Определить артефакт:<br/>какой файл создает команда"]
|
|
576
|
+
E --> F["6. Добавить формат<br/>checkpoint"]
|
|
577
|
+
F --> G{"Команда параллелизируема?"}
|
|
578
|
+
G -->|Да| H["7a. Определить Agent Swarm:<br/>сколько агентов, какие задачи"]
|
|
579
|
+
G -->|Нет| I["7b. Последовательное<br/>выполнение"]
|
|
580
|
+
H --> J["8. Обновить CLAUDE.md:<br/>таблица фаз и команд"]
|
|
581
|
+
I --> J
|
|
582
|
+
J --> K["9. Протестировать:<br/>/new-command [тестовый аргумент]"]
|
|
583
|
+
```
|
|
584
|
+
|
|
585
|
+
### Step by Step
|
|
586
|
+
|
|
587
|
+
**Шаг 1.** Определить место команды в пайплайне -- какая фаза, какие входные данные, какой результат.
|
|
588
|
+
|
|
589
|
+
**Шаг 2.** Создать файл `.claude/commands/new-command.md`. Обязательные секции:
|
|
590
|
+
```markdown
|
|
591
|
+
# Название команды
|
|
592
|
+
|
|
593
|
+
## Использование
|
|
594
|
+
/new-command [аргументы]
|
|
595
|
+
|
|
596
|
+
## Аргумент
|
|
597
|
+
$ARGUMENTS
|
|
598
|
+
|
|
599
|
+
## Действия
|
|
600
|
+
1. Загрузи скилл: Read(".claude/skills/<skill>/SKILL.md")
|
|
601
|
+
2. Прочитай контекст предыдущих фаз
|
|
602
|
+
3. Выполни [описание действий]
|
|
603
|
+
4. Создай файл [артефакт]
|
|
604
|
+
5. Покажи Checkpoint N
|
|
605
|
+
|
|
606
|
+
## Параллелизация (Agent Swarm)
|
|
607
|
+
[Если применимо]
|
|
608
|
+
```
|
|
609
|
+
|
|
610
|
+
**Шаг 3.** Привязать скилл -- указать, какой SKILL.md загружать перед выполнением.
|
|
611
|
+
|
|
612
|
+
**Шаг 4.** Определить формат артефакта и имя файла в соответствии с `file-conventions` правилом.
|
|
613
|
+
|
|
614
|
+
**Шаг 5.** Добавить checkpoint в формате из `checkpoint-protocol` правила.
|
|
615
|
+
|
|
616
|
+
**Шаг 6.** Если команда поддерживает параллелизацию -- описать Agent Swarm: количество агентов, распределение задач, формат синтеза.
|
|
617
|
+
|
|
618
|
+
**Шаг 7.** Обновить CLAUDE.md: таблицу фаз и список команд.
|
|
619
|
+
|
|
620
|
+
**Шаг 8.** Протестировать команду с тестовым аргументом.
|
|
621
|
+
|
|
622
|
+
---
|
|
623
|
+
|
|
624
|
+
## Admin Flow: Настройка доменных правил
|
|
625
|
+
|
|
626
|
+
### Sequence Diagram
|
|
627
|
+
|
|
628
|
+
```mermaid
|
|
629
|
+
flowchart TD
|
|
630
|
+
A["1. Идентифицировать домен<br/>(банки, ритейл, healthcare, ...)"] --> B["2. Определить ограничения<br/>(регуляторика, compliance, SLA)"]
|
|
631
|
+
B --> C["3. Определить технические<br/>требования (on-premise, latency)"]
|
|
632
|
+
C --> D["4. Определить палитру<br/>и тон презентации"]
|
|
633
|
+
D --> E["5. Добавить в .claude/rules/<br/>domain-specific.md"]
|
|
634
|
+
E --> F["6. Определить сигналы<br/>автодетекции домена"]
|
|
635
|
+
F --> G["7. Обновить CLAUDE.md:<br/>секция Domain Templates"]
|
|
636
|
+
G --> H["8. Протестировать:<br/>запустить кейс в новом домене"]
|
|
637
|
+
```
|
|
638
|
+
|
|
639
|
+
### Step by Step
|
|
640
|
+
|
|
641
|
+
**Шаг 1.** Идентифицировать домен и его специфику.
|
|
642
|
+
|
|
643
|
+
**Шаг 2.** Определить ключевые ограничения домена:
|
|
644
|
+
```markdown
|
|
645
|
+
## Новый Домен
|
|
646
|
+
- Регуляторные требования: [ФЗ-..., стандарты]
|
|
647
|
+
- Compliance: [что обязательно]
|
|
648
|
+
- Технические ограничения: [latency, deployment model]
|
|
649
|
+
```
|
|
650
|
+
|
|
651
|
+
**Шаг 3.** Добавить секцию в `.claude/rules/domain-specific.md`:
|
|
652
|
+
```markdown
|
|
653
|
+
## Новый Домен
|
|
654
|
+
- ALWAYS [обязательное действие]
|
|
655
|
+
- ALWAYS reference: [список нормативов]
|
|
656
|
+
- HITL [обязателен / рекомендован]
|
|
657
|
+
- Palette: [цвета]
|
|
658
|
+
- Tone: [стиль]
|
|
659
|
+
```
|
|
660
|
+
|
|
661
|
+
**Шаг 4.** Определить ключевые слова для автодетекции домена (в секции "Detection").
|
|
662
|
+
|
|
663
|
+
**Шаг 5.** Обновить CLAUDE.md в секции "Domain Templates".
|
|
664
|
+
|
|
665
|
+
**Шаг 6.** Протестировать: запустить `/casarium` с кейсом в новом домене и проверить, что правила применяются.
|
|
666
|
+
|
|
667
|
+
### Текущие доменные правила
|
|
668
|
+
|
|
669
|
+
| Домен | Ключевые правила | Палитра |
|
|
670
|
+
|-------|-----------------|---------|
|
|
671
|
+
| Банковский / FinTech | On-premise LLM, ФЗ-152, ЦБ, ФСТЭК, HITL обязателен | Blue/Navy/Silver |
|
|
672
|
+
| Ритейл / E-commerce | Latency < 200ms, A/B тестирование, privacy | Amber/Orange |
|
|
673
|
+
| Enterprise / B2B | Change Management, Legacy интеграции, SLA, ROI в FTE | Teal/Indigo |
|
|
674
|
+
| Healthcare | HITL для клинических решений, ФЗ-323, explainability | -- |
|
|
675
|
+
|
|
676
|
+
---
|
|
677
|
+
|
|
678
|
+
## Admin Flow: Расширение пайплайна новой фазой
|
|
679
|
+
|
|
680
|
+
### Sequence Diagram
|
|
681
|
+
|
|
682
|
+
```mermaid
|
|
683
|
+
flowchart TD
|
|
684
|
+
A["1. Определить место<br/>новой фазы в пайплайне"] --> B["2. Создать команду<br/>.claude/commands/new-phase.md"]
|
|
685
|
+
B --> C{"Нужен новый скилл?"}
|
|
686
|
+
C -->|Да| D["3a. Создать скилл<br/>.claude/skills/new-skill/"]
|
|
687
|
+
C -->|Нет| E["3b. Привязать<br/>существующий скилл"]
|
|
688
|
+
D --> F["4. Определить артефакт<br/>и его номер"]
|
|
689
|
+
E --> F
|
|
690
|
+
F --> G{"Фаза параллелизируема?"}
|
|
691
|
+
G -->|Да| H["5a. Добавить шаблон агента<br/>.claude/agents/"]
|
|
692
|
+
G -->|Нет| I["5b. Последовательное<br/>выполнение"]
|
|
693
|
+
H --> J["6. Обновить правила<br/>.claude/rules/"]
|
|
694
|
+
I --> J
|
|
695
|
+
J --> K["7. Обновить CLAUDE.md:<br/>пайплайн, таблица, проценты"]
|
|
696
|
+
K --> L["8. Обновить file-conventions:<br/>новый артефакт"]
|
|
697
|
+
L --> M["9. Обновить casarium.md:<br/>добавить фазу в pipeline"]
|
|
698
|
+
M --> N["10. Обновить docs/"]
|
|
699
|
+
N --> O["11. Протестировать полный<br/>пайплайн с новой фазой"]
|
|
700
|
+
```
|
|
701
|
+
|
|
702
|
+
### Step by Step
|
|
703
|
+
|
|
704
|
+
**Шаг 1.** Определить, где новая фаза находится в pipeline:
|
|
705
|
+
```
|
|
706
|
+
Phase 0 → Phase 1 → Phase 2 → Phase 2.5 → [НОВАЯ ФАЗА] → Phase 3 → ...
|
|
707
|
+
```
|
|
708
|
+
|
|
709
|
+
**Шаг 2.** Создать файл команды `.claude/commands/new-phase.md` (см. [Admin Flow: Создание новой команды](#admin-flow-создание-новой-команды)).
|
|
710
|
+
|
|
711
|
+
**Шаг 3.** Создать или привязать скилл.
|
|
712
|
+
|
|
713
|
+
**Шаг 4.** Определить артефакт: имя файла (с числовым префиксом) и его содержание.
|
|
714
|
+
|
|
715
|
+
**Шаг 5.** Если фаза поддерживает параллелизацию -- создать шаблон агентов.
|
|
716
|
+
|
|
717
|
+
**Шаг 6.** Обновить правила в `.claude/rules/`:
|
|
718
|
+
- `agent-swarm.md` -- если новая фаза параллелизируема
|
|
719
|
+
- `file-conventions.md` -- добавить новый артефакт в структуру
|
|
720
|
+
- `checkpoint-protocol.md` -- если нужен особый формат checkpoint
|
|
721
|
+
|
|
722
|
+
**Шаг 7.** Обновить CLAUDE.md:
|
|
723
|
+
- Таблицу фаз
|
|
724
|
+
- Pipeline-диаграмму
|
|
725
|
+
- Распределение процентов времени
|
|
726
|
+
- Tracker артефактов
|
|
727
|
+
|
|
728
|
+
**Шаг 8.** Обновить `/casarium` команду:
|
|
729
|
+
- Добавить новую фазу в pipeline
|
|
730
|
+
- Добавить артефакт в tracker
|
|
731
|
+
|
|
732
|
+
**Шаг 9.** Обновить документацию.
|
|
733
|
+
|
|
734
|
+
**Шаг 10.** Протестировать полный пайплайн с новой фазой.
|
|
735
|
+
|
|
736
|
+
### Чеклист расширения
|
|
737
|
+
|
|
738
|
+
- [ ] Файл команды создан в `.claude/commands/`
|
|
739
|
+
- [ ] Скилл создан или привязан
|
|
740
|
+
- [ ] Артефакт определен и добавлен в file-conventions
|
|
741
|
+
- [ ] Agent Swarm настроен (если нужно)
|
|
742
|
+
- [ ] CLAUDE.md обновлен
|
|
743
|
+
- [ ] casarium.md обновлен
|
|
744
|
+
- [ ] Checkpoint формат определен
|
|
745
|
+
- [ ] Полный пайплайн протестирован
|
|
746
|
+
|
|
747
|
+
---
|
|
748
|
+
|
|
749
|
+
## Admin Flow: Массовый harvest
|
|
750
|
+
|
|
751
|
+
### Sequence Diagram
|
|
752
|
+
|
|
753
|
+
```mermaid
|
|
754
|
+
sequenceDiagram
|
|
755
|
+
actor U as User
|
|
756
|
+
participant C as Claude (/harvest)
|
|
757
|
+
participant FS as File System
|
|
758
|
+
participant A1 as Agent 1
|
|
759
|
+
participant A2 as Agent 2
|
|
760
|
+
participant A3 as Agent 3
|
|
761
|
+
|
|
762
|
+
U->>C: /harvest all
|
|
763
|
+
C->>FS: ls researches/
|
|
764
|
+
Note over C: Найдено: case1/, case2/, case3/
|
|
765
|
+
|
|
766
|
+
par Параллельный harvest
|
|
767
|
+
C->>A1: Harvest researches/case1/
|
|
768
|
+
A1->>FS: Read все артефакты case1
|
|
769
|
+
A1->>A1: Ревью, классификация, деконтекстуализация
|
|
770
|
+
A1-->>C: Находки из case1
|
|
771
|
+
|
|
772
|
+
C->>A2: Harvest researches/case2/
|
|
773
|
+
A2->>FS: Read все артефакты case2
|
|
774
|
+
A2->>A2: Ревью, классификация, деконтекстуализация
|
|
775
|
+
A2-->>C: Находки из case2
|
|
776
|
+
|
|
777
|
+
C->>A3: Harvest researches/case3/
|
|
778
|
+
A3->>FS: Read все артефакты case3
|
|
779
|
+
A3->>A3: Ревью, классификация, деконтекстуализация
|
|
780
|
+
A3-->>C: Находки из case3
|
|
781
|
+
end
|
|
782
|
+
|
|
783
|
+
C->>C: Синтез: объединить все находки
|
|
784
|
+
C->>C: Дедупликация: убрать повторяющиеся паттерны
|
|
785
|
+
C->>C: Приоритизация: Stable > Beta
|
|
786
|
+
|
|
787
|
+
C->>FS: Update TOOLKIT_HARVEST.md
|
|
788
|
+
C-->>U: Отчёт: N находок из M исследований
|
|
789
|
+
```
|
|
790
|
+
|
|
791
|
+
### Step by Step
|
|
792
|
+
|
|
793
|
+
**Шаг 1.** Запуск массового harvest:
|
|
794
|
+
```
|
|
795
|
+
User: /harvest all
|
|
796
|
+
```
|
|
797
|
+
|
|
798
|
+
**Шаг 2.** Claude сканирует `researches/` и находит все директории исследований.
|
|
799
|
+
|
|
800
|
+
**Шаг 3.** Для каждой директории запускается параллельный агент harvest:
|
|
801
|
+
- Каждый агент ревьюит своё исследование
|
|
802
|
+
- Ищет универсальные паттерны, скиллы, правила, шаблоны
|
|
803
|
+
- Классифицирует и деконтекстуализирует находки
|
|
804
|
+
|
|
805
|
+
**Шаг 4.** Оркестратор синтезирует результаты:
|
|
806
|
+
- Объединяет находки из всех исследований
|
|
807
|
+
- Дедуплицирует повторяющиеся паттерны
|
|
808
|
+
- Приоритизирует: если паттерн встречается в нескольких исследованиях -- повышает maturity
|
|
809
|
+
|
|
810
|
+
**Шаг 5.** Обновляет `TOOLKIT_HARVEST.md` с полным набором находок.
|
|
811
|
+
|
|
812
|
+
**Шаг 6.** Выводит отчет пользователю:
|
|
813
|
+
```
|
|
814
|
+
═══════════════════════════════════════════════════════
|
|
815
|
+
Harvest Complete: 3 исследования обработаны
|
|
816
|
+
|
|
817
|
+
| Категория | Найдено | Новых | Обновлено |
|
|
818
|
+
|-----------|---------|-------|-----------|
|
|
819
|
+
| skills/ | 2 | 1 | 1 |
|
|
820
|
+
| commands/ | 1 | 1 | 0 |
|
|
821
|
+
| rules/ | 3 | 2 | 1 |
|
|
822
|
+
| templates/ | 2 | 0 | 2 |
|
|
823
|
+
| patterns/ | 4 | 3 | 1 |
|
|
824
|
+
| snippets/ | 1 | 1 | 0 |
|
|
825
|
+
|
|
826
|
+
TOOLKIT_HARVEST.md обновлён
|
|
827
|
+
═══════════════════════════════════════════════════════
|
|
828
|
+
```
|
|
829
|
+
|
|
830
|
+
---
|
|
831
|
+
|
|
832
|
+
## Error Flows
|
|
833
|
+
|
|
834
|
+
### Error Flow 1: Research не находит данных
|
|
835
|
+
|
|
836
|
+
```mermaid
|
|
837
|
+
flowchart TD
|
|
838
|
+
A["Phase 2: Research запущена"] --> B["Agent выполняет поиск"]
|
|
839
|
+
B --> C{"Данные найдены?"}
|
|
840
|
+
C -->|Да| D["Нормальный flow:<br/>верификация, синтез"]
|
|
841
|
+
C -->|Частично| E["Маркировать пробелы<br/>как [DATA_GAP]"]
|
|
842
|
+
C -->|Нет| F["Расширить поисковый запрос"]
|
|
843
|
+
F --> G{"Данные найдены<br/>после расширения?"}
|
|
844
|
+
G -->|Да| D
|
|
845
|
+
G -->|Нет| H["Зафиксировать в артефакте:<br/>[NO_DATA] + объяснение"]
|
|
846
|
+
E --> I["Checkpoint 2:<br/>показать найденное + пробелы"]
|
|
847
|
+
H --> I
|
|
848
|
+
D --> I
|
|
849
|
+
I --> J["User решает:"]
|
|
850
|
+
J --> K["'ок' — продолжить<br/>с имеющимися данными"]
|
|
851
|
+
J --> L["'углуби [тему]' —<br/>доисследовать конкретную область"]
|
|
852
|
+
J --> M["'пропусти' — НЕЛЬЗЯ<br/>пропустить research"]
|
|
853
|
+
```
|
|
854
|
+
|
|
855
|
+
**Принципы обработки:**
|
|
856
|
+
- Research **никогда не пропускается** -- даже при отсутствии данных фиксируется сам факт отсутствия
|
|
857
|
+
- PARANOID mode: лучше `[NO_DATA]`, чем непроверенное утверждение
|
|
858
|
+
- Пробелы маркируются явно -- это ценная информация для последующих фаз
|
|
859
|
+
- Пользователь всегда информируется о состоянии данных на checkpoint
|
|
860
|
+
|
|
861
|
+
---
|
|
862
|
+
|
|
863
|
+
### Error Flow 2: Пользователь пропускает CJM (блокировка)
|
|
864
|
+
|
|
865
|
+
```mermaid
|
|
866
|
+
flowchart TD
|
|
867
|
+
A["Пайплайн достиг Phase 2.5"] --> B{"User пытается<br/>пропустить CJM?"}
|
|
868
|
+
B -->|Нет| C["Нормальный flow:<br/>CJM Prototype"]
|
|
869
|
+
B -->|Да: 'пропусти'| D["БЛОКИРОВКА"]
|
|
870
|
+
D --> E["Сообщение:<br/>'Phase 2.5 CJM Prototype<br/>ОБЯЗАТЕЛЬНА и не может<br/>быть пропущена'"]
|
|
871
|
+
E --> F{"Мало времени?"}
|
|
872
|
+
F -->|Да| G["Предложить Quick Mode:<br/>2 варианта CJM, базовый UI"]
|
|
873
|
+
F -->|Нет| H["Предложить выполнить<br/>полную Phase 2.5"]
|
|
874
|
+
G --> I["Упрощённый CJM<br/>(но НЕ пропуск)"]
|
|
875
|
+
H --> C
|
|
876
|
+
I --> J["Checkpoint 2.5:<br/>выбор CJM"]
|
|
877
|
+
```
|
|
878
|
+
|
|
879
|
+
**Принципы обработки:**
|
|
880
|
+
- Phase 2.5 (CJM Prototype) -- **абсолютно обязательна**
|
|
881
|
+
- Правило `anti-patterns.md` автоматически блокирует попытку пропуска
|
|
882
|
+
- При нехватке времени предлагается Quick Mode: 2 варианта вместо 4, базовый UI
|
|
883
|
+
- `{CHOSEN_CJM}` **должен быть зафиксирован** перед Phase 3 -- без него последующие фазы не могут выполниться корректно
|
|
884
|
+
|
|
885
|
+
---
|
|
886
|
+
|
|
887
|
+
### Error Flow 3: Agent timeout
|
|
888
|
+
|
|
889
|
+
```mermaid
|
|
890
|
+
flowchart TD
|
|
891
|
+
A["Orchestrator запускает<br/>N агентов параллельно"] --> B["Агенты работают..."]
|
|
892
|
+
B --> C{"Все завершились<br/>в пределах timeout?"}
|
|
893
|
+
C -->|Да| D["Нормальный flow:<br/>синтез результатов"]
|
|
894
|
+
C -->|Нет: timeout| E["Определить, какие<br/>агенты не завершились"]
|
|
895
|
+
E --> F{"Есть частичные<br/>результаты?"}
|
|
896
|
+
F -->|Да| G["Собрать частичные<br/>результаты"]
|
|
897
|
+
F -->|Нет| H["Зафиксировать<br/>[AGENT_TIMEOUT]"]
|
|
898
|
+
G --> I["Синтез из завершённых<br/>+ частичных результатов"]
|
|
899
|
+
H --> I
|
|
900
|
+
I --> J["Checkpoint: показать<br/>что получено + что пропущено"]
|
|
901
|
+
J --> K["User решает:"]
|
|
902
|
+
K --> L["'ок' — продолжить<br/>с имеющимися данными"]
|
|
903
|
+
K --> M["'повтори [агент]' —<br/>перезапустить упавшего агента"]
|
|
904
|
+
K --> N["'углуби [тему]' —<br/>доработать вручную"]
|
|
905
|
+
```
|
|
906
|
+
|
|
907
|
+
**Принципы обработки:**
|
|
908
|
+
- Timeout одного агента **не блокирует** остальных -- завершившиеся агенты возвращают результаты
|
|
909
|
+
- Частичные результаты **используются** -- лучше часть данных, чем ничего
|
|
910
|
+
- Пользователь информируется, какие данные получены, а какие пропущены
|
|
911
|
+
- Возможен перезапуск конкретного упавшего агента
|
|
912
|
+
- Timeout маркируется в артефакте как `[AGENT_TIMEOUT: <описание>]`
|
|
913
|
+
|
|
914
|
+
### Сводная таблица обработки ошибок
|
|
915
|
+
|
|
916
|
+
| Ошибка | Блокирует ли пайплайн | Действие |
|
|
917
|
+
|--------|----------------------|----------|
|
|
918
|
+
| Research не нашёл данных | Нет | `[NO_DATA]` + продолжить |
|
|
919
|
+
| Пропуск Phase 2.5 | Да | Блокировка, предложить Quick Mode |
|
|
920
|
+
| Пропуск Executive Summary | Да | Блокировка, обязательно создать |
|
|
921
|
+
| Agent timeout | Нет | Частичные результаты + уведомление |
|
|
922
|
+
| Нет артефактов предыдущих фаз | Да | Предложить выполнить пропущенные фазы |
|
|
923
|
+
| Anti-pattern обнаружен | Нет (предупреждение) | Флаг + автоматическое исправление |
|
|
924
|
+
| "Just add GPT" в решении | Нет (предупреждение) | Запросить конкретные модели + pipeline |
|
|
925
|
+
| Непроверенное утверждение | Нет (маркировка) | `[UNVERIFIED]` + флаг |
|