@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.
Files changed (84) hide show
  1. package/README.md +289 -0
  2. package/bin/cli.js +5 -0
  3. package/package.json +43 -0
  4. package/src/cli.js +157 -0
  5. package/src/commands/doctor.js +469 -0
  6. package/src/commands/init.js +171 -0
  7. package/src/commands/list.js +147 -0
  8. package/src/commands/remove.js +197 -0
  9. package/src/commands/update.js +191 -0
  10. package/src/utils.js +274 -0
  11. package/templates/.claude/agents/cjm-variant-worker.md +60 -0
  12. package/templates/.claude/agents/discovery-worker.md +45 -0
  13. package/templates/.claude/agents/parallel-research-orchestrator.md +70 -0
  14. package/templates/.claude/agents/presentation-worker.md +55 -0
  15. package/templates/.claude/agents/research-worker.md +43 -0
  16. package/templates/.claude/commands/architecture-phase.md +37 -0
  17. package/templates/.claude/commands/casarium.md +163 -0
  18. package/templates/.claude/commands/cjm-prototype.md +42 -0
  19. package/templates/.claude/commands/discovery.md +34 -0
  20. package/templates/.claude/commands/explore-case.md +22 -0
  21. package/templates/.claude/commands/harvest.md +67 -0
  22. package/templates/.claude/commands/new-research.md +69 -0
  23. package/templates/.claude/commands/parallel-research.md +45 -0
  24. package/templates/.claude/commands/presentation.md +49 -0
  25. package/templates/.claude/commands/research.md +32 -0
  26. package/templates/.claude/commands/solve.md +36 -0
  27. package/templates/.claude/rules/agent-swarm.md +31 -0
  28. package/templates/.claude/rules/anti-patterns.md +19 -0
  29. package/templates/.claude/rules/checkpoint-protocol.md +23 -0
  30. package/templates/.claude/rules/domain-specific.md +32 -0
  31. package/templates/.claude/rules/file-conventions.md +38 -0
  32. package/templates/.claude/rules/modular-reuse.md +35 -0
  33. package/templates/.claude/rules/research-quality.md +20 -0
  34. package/templates/.claude/settings.json +37 -0
  35. package/templates/.claude/skills/explore/SKILL.md +215 -0
  36. package/templates/.claude/skills/explore/references/questioning-techniques.md +151 -0
  37. package/templates/.claude/skills/explore/references/task-brief-templates.md +355 -0
  38. package/templates/.claude/skills/frontend-design/LICENSE.txt +177 -0
  39. package/templates/.claude/skills/frontend-design/SKILL.md +42 -0
  40. package/templates/.claude/skills/goap-research-ed25519/SKILL.md +415 -0
  41. package/templates/.claude/skills/goap-research-ed25519/references/ed25519-verification.md +658 -0
  42. package/templates/.claude/skills/goap-research-ed25519/references/research-actions.md +544 -0
  43. package/templates/.claude/skills/goap-research-ed25519/references/source-evaluation.md +560 -0
  44. package/templates/.claude/skills/goap-research-ed25519/scripts/ed25519_verifier.py +662 -0
  45. package/templates/.claude/skills/goap-research-ed25519/scripts/goap_planner.py +720 -0
  46. package/templates/.claude/skills/presentation-storyteller/SKILL.md +371 -0
  47. package/templates/.claude/skills/presentation-storyteller/references/example-presentation.md +273 -0
  48. package/templates/.claude/skills/presentation-storyteller/references/slide-types.md +426 -0
  49. package/templates/.claude/skills/presentation-storyteller/references/sources-index-template.md +213 -0
  50. package/templates/.claude/skills/presentation-storyteller/references/speaker-script-patterns.md +324 -0
  51. package/templates/.claude/skills/presentation-storyteller/references/storytelling-frameworks.md +270 -0
  52. package/templates/.claude/skills/problem-solver-enhanced/SKILL.md +562 -0
  53. package/templates/.claude/skills/reverse-engineering-unicorn/SKILL.md +194 -0
  54. package/templates/.claude/skills/reverse-engineering-unicorn/examples/noom-cjm-example.md +100 -0
  55. package/templates/.claude/skills/reverse-engineering-unicorn/examples/noom-module1-example.md +88 -0
  56. package/templates/.claude/skills/reverse-engineering-unicorn/modules/01-intelligence.md +328 -0
  57. package/templates/.claude/skills/reverse-engineering-unicorn/modules/02-product-customers.md +221 -0
  58. package/templates/.claude/skills/reverse-engineering-unicorn/modules/025-cjm-prototype.md +206 -0
  59. package/templates/.claude/skills/reverse-engineering-unicorn/modules/03-market-competition.md +402 -0
  60. package/templates/.claude/skills/reverse-engineering-unicorn/modules/04-business-finance.md +287 -0
  61. package/templates/.claude/skills/reverse-engineering-unicorn/modules/05-growth-engine.md +290 -0
  62. package/templates/.claude/skills/reverse-engineering-unicorn/modules/06-playbook-synthesis.md +286 -0
  63. package/templates/.claude/skills/reverse-engineering-unicorn/references/blue-ocean-canvas.md +39 -0
  64. package/templates/.claude/skills/reverse-engineering-unicorn/references/industry-benchmarks.md +67 -0
  65. package/templates/.claude/skills/reverse-engineering-unicorn/references/jtbd-canvas.md +48 -0
  66. package/templates/CLAUDE.md +185 -0
  67. package/templates/TOOLKIT_HARVEST.md +29 -0
  68. package/templates/docs/keysarium/01-deployment-guide.md +768 -0
  69. package/templates/docs/keysarium/02-admin-guide.md +1170 -0
  70. package/templates/docs/keysarium/03-user-guide.md +884 -0
  71. package/templates/docs/keysarium/04-infrastructure-requirements.md +967 -0
  72. package/templates/docs/keysarium/05-architecture.md +706 -0
  73. package/templates/docs/keysarium/06-user-flows.md +925 -0
  74. package/templates/docs/skills-bto/01-deployment-guide.md +828 -0
  75. package/templates/docs/skills-bto/02-admin-guide.md +1052 -0
  76. package/templates/docs/skills-bto/03-user-guide.md +960 -0
  77. package/templates/docs/skills-bto/04-infrastructure-requirements.md +610 -0
  78. package/templates/docs/skills-bto/05-architecture.md +1112 -0
  79. package/templates/docs/skills-bto/06-user-flows.md +977 -0
  80. package/templates/lib/agent-patterns.md +115 -0
  81. package/templates/lib/domain-templates.md +172 -0
  82. package/templates/lib/phase-utils.md +107 -0
  83. package/templates/lib/skill-loader.md +78 -0
  84. package/templates/researches/.gitkeep +0 -0
@@ -0,0 +1,1052 @@
1
+ # Руководство администратора @dzhechko/skills-bto
2
+
3
+ Это руководство описывает управление, настройку и обслуживание BTO skill pack. Предназначено для администраторов, которые управляют компонентами BTO, настраивают quality gates, конфигурируют панели судей и контролируют качество оценки.
4
+
5
+ ---
6
+
7
+ ## Содержание
8
+
9
+ 1. [Управление компонентами BTO](#1-управление-компонентами-bto)
10
+ 2. [Конфигурация quality gates (Layer 0–3)](#2-конфигурация-quality-gates-layer-03)
11
+ 3. [Настройка панели судей](#3-настройка-панели-судей)
12
+ 4. [Параметры оптимизации](#4-параметры-оптимизации)
13
+ 5. [Управление модельным бюджетом](#5-управление-модельным-бюджетом)
14
+ 6. [Создание пользовательских рубрик](#6-создание-пользовательских-рубрик)
15
+ 7. [Мониторинг качества оценки](#7-мониторинг-качества-оценки)
16
+ 8. [Обнаружение и устранение анти-паттернов](#8-обнаружение-и-устранение-анти-паттернов)
17
+ 9. [Бэкап и восстановление](#9-бэкап-и-восстановление)
18
+
19
+ ---
20
+
21
+ ## 1. Управление компонентами BTO
22
+
23
+ ### 1.1. Текущие компоненты
24
+
25
+ После установки BTO включает следующие компоненты:
26
+
27
+ | Компонент | Путь | Назначение |
28
+ |-----------|------|------------|
29
+ | BTO Skill | `.claude/skills/bto/` | Основной оркестратор: загружается командами |
30
+ | SKILL.md | `.claude/skills/bto/SKILL.md` | Точка входа, документирует все три модуля |
31
+ | Модуль BUILD | `.claude/skills/bto/modules/build.md` | Протокол генерации артефактов |
32
+ | Модуль TEST | `.claude/skills/bto/modules/test.md` | Протокол мульти-агентной оценки |
33
+ | Модуль OPTIMIZE | `.claude/skills/bto/modules/optimize.md` | Протокол эволюционной оптимизации |
34
+ | Рубрики судей | `.claude/skills/bto/references/judge-rubrics.md` | Якорные точки для scoring |
35
+ | Паттерны оценки | `.claude/skills/bto/references/eval-patterns.md` | Паттерны мульти-агентной оценки |
36
+ | Методы оптимизации | `.claude/skills/bto/references/optimization-methods.md` | Методология оптимизации |
37
+ | Чеклист качества | `.claude/skills/bto/references/quality-checklist.md` | Детерминистические проверки Layer 0 |
38
+ | Команда /bto | `.claude/commands/bto.md` | Полный пайплайн |
39
+ | Команда /bto-build | `.claude/commands/bto-build.md` | BUILD-фаза отдельно |
40
+ | Команда /bto-test | `.claude/commands/bto-test.md` | TEST-фаза отдельно |
41
+ | Команда /bto-optimize | `.claude/commands/bto-optimize.md` | OPTIMIZE-фаза отдельно |
42
+ | Правила quality gates | `.claude/rules/bto-quality-gates.md` | Автоматически применяемые правила |
43
+ | Агент Domain Expert | `.claude/agents/bto-judge-expert.md` | Judge 1 конфиг |
44
+ | Агент Critic | `.claude/agents/bto-judge-critic.md` | Judge 2 конфиг |
45
+ | Агент Auditor | `.claude/agents/bto-judge-auditor.md` | Judge 3 конфиг |
46
+
47
+ ### 1.2. Проверка компонентов
48
+
49
+ ```bash
50
+ # Полная диагностика установки
51
+ npx @dzhechko/skills-bto doctor
52
+
53
+ # Листинг установленных файлов
54
+ npx @dzhechko/skills-bto list
55
+ ```
56
+
57
+ ### 1.3. Обновление отдельных компонентов
58
+
59
+ Команда `update` обновляет все компоненты из последней версии пакета. На данный момент нет механизма обновления одного конкретного файла через CLI. Для обновления отдельного файла:
60
+
61
+ ```bash
62
+ # Шаг 1: просмотрите diff без применения
63
+ npx @dzhechko/skills-bto update --dry-run
64
+
65
+ # Шаг 2: при необходимости обновите один файл вручную из шаблона пакета
66
+ # Шаблоны доступны в локальном кеше пакета:
67
+ node -e "console.log(require.resolve('@dzhechko/skills-bto/package.json').replace('package.json', 'templates/'))"
68
+
69
+ # Шаг 3: скопируйте нужный файл из templates/ в .claude/
70
+ ```
71
+
72
+ ### 1.4. Добавление пользовательских расширений
73
+
74
+ Для добавления собственных ссылочных материалов без изменения базовых файлов пакета создайте файлы с префиксом, отличным от стандартных имён:
75
+
76
+ ```
77
+ .claude/skills/bto/references/
78
+ ├── judge-rubrics.md ← базовый (не изменять)
79
+ ├── eval-patterns.md ← базовый
80
+ ├── optimization-methods.md ← базовый
81
+ ├── quality-checklist.md ← базовый
82
+ └── custom-domain-rubrics.md ← ваш пользовательский файл (не перезапишется при update)
83
+ ```
84
+
85
+ Ссылайтесь на пользовательские файлы явно в командах или при ручном запуске BTO-фаз.
86
+
87
+ ### 1.5. Структура скилл-директории
88
+
89
+ Полная структура скилла BTO:
90
+
91
+ ```
92
+ .claude/skills/bto/
93
+ ├── SKILL.md ← Документирует модули, зависимости, quick start
94
+ ├── modules/
95
+ │ ├── build.md ← Протокол BUILD: type detection, templates, self-review
96
+ │ ├── test.md ← Протокол TEST: Layer 0-2, judge prompts, aggregation
97
+ │ └── optimize.md ← Протокол OPTIMIZE: mutation strategies, convergence
98
+ └── references/
99
+ ├── judge-rubrics.md ← Anchoring для judge scores (1-10 шкала)
100
+ ├── eval-patterns.md ← Паттерны эффективной мульти-агентной оценки
101
+ ├── optimization-methods.md ← Эволюционные стратегии, crossover паттерны
102
+ └── quality-checklist.md ← 71 детерминистическая проверка Layer 0
103
+ ```
104
+
105
+ ---
106
+
107
+ ## 2. Конфигурация quality gates (Layer 0–3)
108
+
109
+ ### 2.1. Архитектура слоёв
110
+
111
+ BTO использует четырёхуровневую систему quality gates. Каждый слой является шлюзом для следующего:
112
+
113
+ ```
114
+ Layer 0 → Layer 1 → Layer 2 → Layer 3
115
+ (haiku) (haiku) (sonnet) (opus)
116
+ Структура Семантика Глубина Синтез
117
+ Бесплатно Дёшево Умеренно Дорого
118
+ Мгновенно ~10 сек ~30 сек ~60 сек
119
+ ```
120
+
121
+ **Ключевое правило:** Артефакт продвигается в следующий слой только при прохождении текущего. Провал Layer 0 немедленно останавливает оценку — LLM-вызовы не делаются.
122
+
123
+ ### 2.2. Layer 0: Детерминистические проверки
124
+
125
+ Layer 0 выполняется для всех типов артефактов. Проверки бесплатны и мгновенны.
126
+
127
+ **Универсальные проверки (все типы, CHECK-U1–U5):**
128
+
129
+ | Проверка | Описание |
130
+ |---------|---------|
131
+ | CHECK-U1 | Файл существует и не пуст |
132
+ | CHECK-U2 | Файл является валидным UTF-8 |
133
+ | CHECK-U3 | Содержит хотя бы один markdown-заголовок (`#`) |
134
+ | CHECK-U4 | Не более 2 последовательных пустых строк |
135
+ | CHECK-U5 | Размер файла в допустимых пределах (тип-зависимо) |
136
+
137
+ **Проверки для скиллов (CHECK-S1–S10):**
138
+
139
+ | Проверка | Описание |
140
+ |---------|---------|
141
+ | CHECK-S1 | `SKILL.md` существует в директории скилла |
142
+ | CHECK-S2 | `# Title` — первый заголовок файла |
143
+ | CHECK-S3 | Есть секция `## Overview` или `## Purpose` |
144
+ | CHECK-S4 | Есть секция `## Anti-Patterns` |
145
+ | CHECK-S5 | Все файлы в `modules/` упомянуты в `SKILL.md` |
146
+ | CHECK-S6 | Все файлы в `references/` упомянуты в `SKILL.md` |
147
+ | CHECK-S7 | Нет пустых секций (заголовок сразу за заголовком без контента) |
148
+ | CHECK-S8 | Размер `SKILL.md`: 1KB < размер < 50KB |
149
+ | CHECK-S9 | Общий размер директории скилла < 200KB |
150
+ | CHECK-S10 | Есть хотя бы один файл в `references/` или `examples/` |
151
+
152
+ **Проверки для команд (CHECK-C1–C5):**
153
+
154
+ | Проверка | Описание |
155
+ |---------|---------|
156
+ | CHECK-C1 | Файл содержит `$ARGUMENTS` или явную ссылку на параметр |
157
+ | CHECK-C2 | Есть checkpoint-баннер или checkpoint-протокол |
158
+ | CHECK-C3 | Есть инструкция загрузки скилла (`Read .claude/skills/...`) |
159
+ | CHECK-C4 | Размер: 500B < файл < 20KB |
160
+ | CHECK-C5 | Есть секция `## Usage` или `## Protocol` |
161
+
162
+ **Проверки для правил (CHECK-R1–R4):**
163
+
164
+ | Проверка | Описание |
165
+ |---------|---------|
166
+ | CHECK-R1 | Есть таблица или структурированный список паттернов |
167
+ | CHECK-R2 | Каждый паттерн имеет сигнал обнаружения и предписанное исправление |
168
+ | CHECK-R3 | Размер: 200B < файл < 10KB |
169
+ | CHECK-R4 | Есть секция `Auto-Detection` или аналогичная |
170
+
171
+ **Проверки для агент-шаблонов (CHECK-A1–A4):**
172
+
173
+ | Проверка | Описание |
174
+ |---------|---------|
175
+ | CHECK-A1 | Явно указана модель (haiku / sonnet / opus) |
176
+ | CHECK-A2 | Указана область изоляции (что читает и что пишет) |
177
+ | CHECK-A3 | Есть шаблон промпта или инструкции |
178
+ | CHECK-A4 | Размер: 200B < файл < 10KB |
179
+
180
+ ### 2.3. Порог прохождения Layer 0
181
+
182
+ ```
183
+ score = passed_checks / total_checks
184
+ Gate: score ≥ 0.80 (80%)
185
+ ```
186
+
187
+ При `score < 0.80` Layer 0 FAIL: выводится отчёт с конкретными провалившимися проверками, LLM-слои не запускаются.
188
+
189
+ **Исключение:** Layer 0 может автоматически повторить генерацию до 3 раз при незначительных структурных нарушениях (в контексте BUILD), прежде чем эскалировать к человеку.
190
+
191
+ ### 2.4. Layer 1: Быстрая LLM-оценка
192
+
193
+ **Модель по умолчанию:** claude-haiku (cost-optimized)
194
+
195
+ **5 измерений (шкала 1–10):**
196
+
197
+ | Измерение | Что оценивается |
198
+ |-----------|----------------|
199
+ | CLARITY | Насколько инструкции однозначны? Может ли LLM точно им следовать? |
200
+ | COMPLETENESS | Все ли необходимые секции присутствуют? |
201
+ | ACTIONABILITY | Может ли Claude произвести конкретный вывод на основе этих инструкций? |
202
+ | QUALITY | Структурированность, профессионализм, форматирование |
203
+ | ANTI-PATTERNS | Избегает ли артефакт известных проблемных паттернов? |
204
+
205
+ **Пороги Layer 1:**
206
+
207
+ | Средний балл | Решение |
208
+ |-------------|---------|
209
+ | ≥ 7.0 | PASS — предложить Layer 2 по желанию |
210
+ | 5.0–6.9 | NEEDS WORK — автоматически предложить Layer 2 |
211
+ | < 5.0 | FAIL — рекомендовать исправление перед продолжением |
212
+
213
+ ### 2.5. Layer 2: Полная панель судей
214
+
215
+ **Архитектура:** 3 параллельных агента, каждый с уникальным углом зрения. Изоляция: агенты не видят оценки друг друга до сдачи своей.
216
+
217
+ **5 измерений (шкала 1–10, другие, чем в Layer 1):**
218
+
219
+ | Измерение | Что оценивается |
220
+ |-----------|----------------|
221
+ | METHODOLOGY | Качество подхода, структура, обоснованность |
222
+ | DEPTH | Достаточная детализация для задачи |
223
+ | CORRECTNESS | Точность утверждений и инструкций |
224
+ | USABILITY | Эффективность использования пользователем/агентом |
225
+ | ROBUSTNESS | Обработка граничных случаев и режимов отказа |
226
+
227
+ **Агрегация баллов:**
228
+
229
+ ```
230
+ dim_score = expert[dim] * 0.40 + critic[dim] * 0.30 + auditor[dim] * 0.30
231
+ overall = mean(all dimension_scores)
232
+ ```
233
+
234
+ **Обнаружение разногласий:**
235
+
236
+ Если по любому измерению `max(scores) - min(scores) > 3` → флаг для мета-судьи.
237
+
238
+ ### 2.6. Layer 3 / Мета-судья
239
+
240
+ Layer 3 (opus) запускается только в двух сценариях:
241
+
242
+ 1. **Разрешение разногласий:** Любое измерение с разбросом > 3 баллов между судьями Layer 2
243
+ 2. **Кроссовер при оптимизации:** Генерация новых вариантов при эволюционной оптимизации (opus используется для kreativной работы)
244
+
245
+ **Мета-судья никогда не запускается автоматически для рутинных оценок.** Только при флагированных разногласиях.
246
+
247
+ ---
248
+
249
+ ## 3. Настройка панели судей
250
+
251
+ ### 3.1. Три роли судей
252
+
253
+ | Судья | Роль | Установка калибровки | Ожидаемый средний балл |
254
+ |-------|------|---------------------|----------------------|
255
+ | Domain Expert | Оценивает техническое качество и методологическую корректность | Нейтральная, фокус на сильных сторонах | 7–8 |
256
+ | Critic | Ищет проблемы, пробелы, анти-паттерны | Строгая — "err on the side of strict" | 5–6 |
257
+ | Completeness Auditor | Проверяет структурную полноту и перекрёстные ссылки | Нейтральная, фокус на покрытии | 6–7 |
258
+
259
+ ### 3.2. Файлы конфигурации агентов
260
+
261
+ Каждый судья имеет свой конфигурационный файл в `.claude/agents/`:
262
+
263
+ **`.claude/agents/bto-judge-expert.md`** — Domain Expert
264
+
265
+ ```markdown
266
+ # BTO Judge — Domain Expert
267
+
268
+ ## Purpose
269
+ Evaluate Claude Code artifacts for technical quality, methodology soundness,
270
+ and domain appropriateness.
271
+
272
+ ## Configuration
273
+ - Model: sonnet
274
+ - Isolation: reads artifact + judge-rubrics.md, writes to evaluation output
275
+ - Role: constructive, domain-focused, strengths and improvements
276
+
277
+ ## Scoring Calibration
278
+ - Score 8-10: Exemplary artifact, production-ready
279
+ - Score 6-7: Good quality, minor improvements needed
280
+ - Score 4-5: Mediocre, significant gaps present
281
+ - Score 1-3: Poor, major structural or content issues
282
+ ```
283
+
284
+ **`.claude/agents/bto-judge-critic.md`** — Critic
285
+
286
+ ```markdown
287
+ # BTO Judge — Critic
288
+
289
+ ## Purpose
290
+ Find weaknesses, gaps, anti-patterns, and failure modes in Claude Code artifacts.
291
+
292
+ ## Configuration
293
+ - Model: sonnet
294
+ - Isolation: reads artifact + judge-rubrics.md, writes to evaluation output
295
+ - Role: adversarial, strict — err on the side of low scores
296
+
297
+ ## Scoring Calibration
298
+ - Score 8-10: Exceptionally robust, genuinely hard to criticize
299
+ - Score 5-7: Average with notable weaknesses
300
+ - Score 2-4: Multiple problems, unclear instructions, missing edge cases
301
+ - Score 1: Fundamentally broken or misleading
302
+ ```
303
+
304
+ **`.claude/agents/bto-judge-auditor.md`** — Completeness Auditor
305
+
306
+ ```markdown
307
+ # BTO Judge — Completeness Auditor
308
+
309
+ ## Purpose
310
+ Audit structural completeness: all required sections, working cross-references,
311
+ no coverage gaps.
312
+
313
+ ## Configuration
314
+ - Model: sonnet
315
+ - Isolation: reads artifact + quality-checklist.md, writes to evaluation output
316
+ - Role: systematic, coverage-focused, structural integrity
317
+
318
+ ## Scoring Calibration
319
+ - 10/10: All sections present, all references resolve, no gaps
320
+ - 7-9: Minor missing elements, non-critical
321
+ - 4-6: Several sections missing or incomplete
322
+ - 1-3: Fundamental structural problems
323
+ ```
324
+
325
+ ### 3.3. Изменение весов судей
326
+
327
+ Стандартные веса: Domain Expert 0.40 / Critic 0.30 / Auditor 0.30
328
+
329
+ Для изменения весов под конкретные нужды отредактируйте секцию агрегации в `.claude/skills/bto/modules/test.md`:
330
+
331
+ ```markdown
332
+ ### Score Aggregation
333
+
334
+ **Weights:**
335
+ - Domain Expert: 0.40 ← изменить здесь
336
+ - Critic: 0.30 ← изменить здесь
337
+ - Completeness Auditor: 0.30 ← изменить здесь
338
+ ```
339
+
340
+ **Требования к весам:**
341
+ - Сумма весов должна быть равна 1.0
342
+ - Количество судей должно быть нечётным (3 или 5) — для отсутствия ничьей
343
+ - Не рекомендуется устанавливать вес Critic < 0.20 — это снизит чувствительность к проблемам
344
+
345
+ **Пример для проектов с высоким требованием к надёжности** (сдвиг в сторону Critic и Auditor):
346
+
347
+ ```markdown
348
+ **Weights:**
349
+ - Domain Expert: 0.30
350
+ - Critic: 0.40
351
+ - Completeness Auditor: 0.30
352
+ ```
353
+
354
+ **Пример для быстрой оценки качества контента** (приоритет Domain Expert):
355
+
356
+ ```markdown
357
+ **Weights:**
358
+ - Domain Expert: 0.50
359
+ - Critic: 0.25
360
+ - Completeness Auditor: 0.25
361
+ ```
362
+
363
+ ### 3.4. Расширенная панель 5 судей (high-stakes)
364
+
365
+ Для критических артефактов (например, скиллы, используемые в продакшн-пайплайнах) используйте панель из 5 судей. Добавьте два дополнительных агента:
366
+
367
+ **Судья 4: Consistency Checker** — проверяет внутреннюю согласованность артефакта. Убеждается, что секции не противоречат друг другу.
368
+
369
+ **Судья 5: Practical Validator** — моделирует реальное использование артефакта. Проверяет, что инструкции работоспособны на конкретных примерах.
370
+
371
+ Создайте конфиги агентов:
372
+
373
+ ```
374
+ .claude/agents/bto-judge-consistency.md
375
+ .claude/agents/bto-judge-practical.md
376
+ ```
377
+
378
+ Обновите секцию агрегации в `test.md`:
379
+
380
+ ```markdown
381
+ **Weights (5-judge panel):**
382
+ - Domain Expert: 0.30
383
+ - Critic: 0.25
384
+ - Completeness Auditor: 0.20
385
+ - Consistency Checker: 0.15
386
+ - Practical Validator: 0.10
387
+ ```
388
+
389
+ ### 3.5. Порог эскалации к мета-судье
390
+
391
+ Стандартный порог: если `max - min > 3` по любому измерению.
392
+
393
+ Для более строгой эскалации (уменьшить порог до 2):
394
+
395
+ В `.claude/skills/bto/modules/test.md` найдите:
396
+
397
+ ```markdown
398
+ **Disagreement Detection:**
399
+ For each dimension, if `max(scores) - min(scores) > 3` → FLAG for meta-judge.
400
+ ```
401
+
402
+ И измените `> 3` на `> 2`.
403
+
404
+ Для более мягкой эскалации (только при критическом расхождении):
405
+
406
+ Измените `> 3` на `> 4`.
407
+
408
+ ---
409
+
410
+ ## 4. Параметры оптимизации
411
+
412
+ ### 4.1. Стратегии мутации
413
+
414
+ OPTIMIZE Module использует 5 стратегий мутации. Каждая целенаправленно улучшает определённые измерения:
415
+
416
+ | Стратегия | Применять когда | Целевые измерения |
417
+ |-----------|----------------|-------------------|
418
+ | **Rephrase** | Инструкции расплывчаты или допускают двусмысленность | CLARITY, USABILITY |
419
+ | **Restructure** | Плохой поток, неудачная организация секций | METHODOLOGY, USABILITY |
420
+ | **Add Constraints** | Слабая обработка граничных случаев | ROBUSTNESS, CORRECTNESS |
421
+ | **Simplify** | Артефакт слишком многословен или перенасыщен | USABILITY, CLARITY |
422
+ | **Specialize** | Мало доменного контекста и примеров | DEPTH, CORRECTNESS |
423
+
424
+ Соответствие слабых измерений стратегиям:
425
+
426
+ ```
427
+ Слабое измерение Первичная стратегия Вторичная стратегия
428
+ ───────────────────────────────────────────────────────────────
429
+ METHODOLOGY → Restructure Add Constraints
430
+ DEPTH → Specialize Add Constraints
431
+ CORRECTNESS → Add Constraints Rephrase
432
+ USABILITY → Rephrase Restructure
433
+ ROBUSTNESS → Add Constraints Specialize
434
+ ```
435
+
436
+ ### 4.2. Структура раундов
437
+
438
+ Стандартный пайплайн оптимизации (3 раунда):
439
+
440
+ ```
441
+ Round 1: 5 вариантов × Layer 1 eval (haiku) → выбор топ-2
442
+ Round 2: crossover топ-2 → 3 новых варианта × Layer 1 eval → выбор топ-2
443
+ Round 3: crossover → 3 финальных варианта × Layer 2 eval (sonnet×3) → победитель
444
+ ```
445
+
446
+ Итого: до 15 оценок + 1 baseline.
447
+
448
+ ### 4.3. Delta Gate (условие принятия улучшения)
449
+
450
+ ```
451
+ delta_gate = new_score - prev_score > 0.5
452
+ ```
453
+
454
+ Итерация принимается только если улучшение превышает 0.5 балла.
455
+
456
+ | Сценарий | Действие |
457
+ |---------|---------|
458
+ | delta > 0.5 | Принять улучшение, продолжить |
459
+ | delta 0–0.5 | Отклонить (слишком мало), продолжить с другими стратегиями |
460
+ | delta ≤ 0 и регрессия > 1.0 | Откат к лучшей предыдущей версии, логировать регрессию |
461
+ | 3 последовательных итерации с delta ≤ 0.5 | Объявить сходимость, остановиться |
462
+
463
+ ### 4.4. Условия раннего выхода
464
+
465
+ **OPTIMIZE не запускается** если baseline score ≥ 8.0. Вместо этого выводятся конкретные предложения по незначительным улучшениям без полного эволюционного цикла. Для принудительной оптимизации всё равно требуется явное подтверждение пользователя.
466
+
467
+ **OPTIMIZE прерывается** досрочно при:
468
+ - Регрессии > 0.5 от baseline в любом раунде
469
+ - Критическом провале Layer 0 на любом из вариантов
470
+ - Семантическом дрейфе — если оптимизированная версия принципиально меняет назначение
471
+ - Явной команде пользователя остановить процесс
472
+
473
+ ### 4.5. Изменение числа раундов
474
+
475
+ По умолчанию: 3 раунда. Диапазон: 1–5 раундов.
476
+
477
+ Через аргументы команды (без изменения конфигурации):
478
+
479
+ ```
480
+ /bto-optimize .claude/skills/my-skill/ rounds 5
481
+ ```
482
+
483
+ Для изменения числа раундов по умолчанию отредактируйте `.claude/skills/bto/modules/optimize.md`:
484
+
485
+ ```markdown
486
+ ## Input
487
+ - **Rounds:** Number of optimization rounds (default: 3, max: 5)
488
+ ```
489
+
490
+ Измените значение `default: 3` на нужное.
491
+
492
+ ### 4.6. Фокусировка на конкретном измерении
493
+
494
+ При явном указании целевого измерения три из пяти вариантов Round 1 нацелены на соответствующие стратегии:
495
+
496
+ ```
497
+ /bto-optimize .claude/skills/my-skill/ ROBUSTNESS
498
+ ```
499
+
500
+ Распределение вариантов при фокусе на ROBUSTNESS:
501
+ - Variant 1: Add Constraints (primary strategy)
502
+ - Variant 2: Specialize (secondary strategy)
503
+ - Variant 3: Add Constraints (repeat with different approach)
504
+ - Variant 4: Rephrase (general improvement)
505
+ - Variant 5: Restructure (general improvement)
506
+
507
+ ### 4.7. Бэкап перед оптимизацией
508
+
509
+ OPTIMIZE автоматически создаёт резервную копию перед перезаписью:
510
+
511
+ ```
512
+ .claude/skills/my-skill/SKILL.md ← обновлённая версия
513
+ .claude/skills/my-skill/SKILL.md.pre-optimize.bak ← резервная копия
514
+ ```
515
+
516
+ Для отката используйте команду `откат` в checkpoint или восстановите вручную:
517
+
518
+ ```bash
519
+ cp .claude/skills/my-skill/SKILL.md.pre-optimize.bak .claude/skills/my-skill/SKILL.md
520
+ ```
521
+
522
+ ---
523
+
524
+ ## 5. Управление модельным бюджетом
525
+
526
+ ### 5.1. Стандартное распределение моделей
527
+
528
+ BTO использует три модели с чёткой иерархией применения:
529
+
530
+ | Модель | Использование | Обоснование |
531
+ |--------|--------------|-------------|
532
+ | **haiku** | Layer 0 pre-checks, Layer 1 quick eval, Round 1-2 variant evaluation | Высокочастотные операции; достаточная точность для ранжирования |
533
+ | **sonnet** | Layer 2 judge panel (все 3 судьи), mutation workers, meta-judge (escalation) | Требует рассуждений и доменной экспертизы |
534
+ | **opus** | Crossover/creative synthesis, variant generation, DEEP mode clarification | Creативная работа; используется только на топ-N кандидатах |
535
+
536
+ **Правило эскалации:** Никогда не использовать более дорогую модель там, где менее дорогая справляется достаточно хорошо. Haiku не подходит для судейства Layer 2 — требует nuanced reasoning. Opus не нужен для strukturных проверок.
537
+
538
+ ### 5.2. Бюджет токенов по операциям
539
+
540
+ | Операция | Модель | Est. токены | Количество вызовов |
541
+ |----------|--------|-------------|-------------------|
542
+ | Baseline Layer 2 eval | sonnet | ~5K/судья | 3 |
543
+ | Variant generation (Round 1) | opus | ~5K/вариант | 5 |
544
+ | Round 1 evaluation | haiku | ~2K/вариант | 5 |
545
+ | Crossover generation | opus | ~5K/вариант | 3 |
546
+ | Round 2 evaluation | haiku | ~2K/вариант | 3 |
547
+ | Crossover generation | opus | ~5K/вариант | 3 |
548
+ | Round 3 evaluation | sonnet | ~5K/вариант | 9 |
549
+ | **Итого полный OPTIMIZE** | | **~131K** | |
550
+
551
+ Для отдельного `/bto-test` Layer 2: ~15–20K токенов (3 вызова sonnet).
552
+
553
+ ### 5.3. Стратегии снижения затрат
554
+
555
+ **Стратегия 1: Layer 1 вместо Layer 2 для итерационной разработки**
556
+
557
+ При активной разработке скилла запускайте только Layer 1 (haiku) для быстрой обратной связи. Layer 2 используйте только при финальной оценке перед деплоем.
558
+
559
+ ```
560
+ /bto-test .claude/skills/my-skill/ ← Layer 0 + Layer 1, предложит Layer 2
561
+ /bto-test .claude/skills/my-skill/ full ← принудительно Layer 0 + Layer 1 + Layer 2
562
+ ```
563
+
564
+ **Стратегия 2: Оптимизация только при необходимости**
565
+
566
+ OPTIMIZE запускается автоматически только если baseline < 8.0. Если ваши артефакты стабильно получают 7.5+, рассмотрите повышение порога до 7.5 в `bto-optimize.md`:
567
+
568
+ ```markdown
569
+ **Early exit condition:**
570
+ If `BASELINE_SCORE` ≥ 8.0 → report "Artifact already high quality"
571
+ ```
572
+
573
+ Измените `≥ 8.0` на `≥ 7.5`.
574
+
575
+ **Стратегия 3: Сокращение числа раундов оптимизации**
576
+
577
+ Для большинства артефактов 2 раунда дают 80% от прироста качества 3 раундов:
578
+
579
+ ```
580
+ /bto-optimize .claude/skills/my-skill/ rounds 2
581
+ ```
582
+
583
+ **Стратегия 4: Batch-оценка через Layer 1**
584
+
585
+ При оценке большого числа артефактов (например, все скиллы проекта) используйте только Layer 1 для ранжирования, затем проводите Layer 2 только для топ-3:
586
+
587
+ ```
588
+ # Оценить все скиллы через Layer 1
589
+ /bto-test .claude/skills/skill-a/
590
+ /bto-test .claude/skills/skill-b/
591
+ /bto-test .claude/skills/skill-c/
592
+
593
+ # Layer 2 только для самого важного
594
+ /bto-test .claude/skills/skill-a/ full
595
+ ```
596
+
597
+ ### 5.4. Мониторинг потребления токенов
598
+
599
+ Claude Code не предоставляет прямой API для просмотра потребления токенов в сессии. Для оценки:
600
+
601
+ 1. Используйте [console.anthropic.com](https://console.anthropic.com) → Usage
602
+ 2. Фильтруйте по дате и сравнивайте с запусками BTO
603
+ 3. Для детального трекинга введите соглашение по именованию сессий в вашем workflow
604
+
605
+ ---
606
+
607
+ ## 6. Создание пользовательских рубрик
608
+
609
+ ### 6.1. Зачем нужны пользовательские рубрики
610
+
611
+ Стандартные рубрики BTO (`judge-rubrics.md`) универсальны и работают для любых артефактов. Пользовательские рубрики добавляют доменную специфику: например, для банковского домена важна соответствие ФЗ-152 и ЦБ, для ритейла — latency-требования и A/B тестирование.
612
+
613
+ ### 6.2. Создание рубрики
614
+
615
+ Создайте файл в `.claude/skills/bto/references/`:
616
+
617
+ ```
618
+ .claude/skills/bto/references/custom-banking-rubrics.md
619
+ ```
620
+
621
+ Структура рубрики:
622
+
623
+ ```markdown
624
+ # Рубрика оценки: Банковский домен
625
+
626
+ ## Назначение
627
+
628
+ Дополнительные критерии оценки для артефактов банковского и финтех домена.
629
+ Используется судьями Layer 2 совместно с базовыми рубриками.
630
+
631
+ ## Дополнительные критерии по измерению CORRECTNESS
632
+
633
+ При оценке CORRECTNESS для банковских артефактов снижайте балл если:
634
+ - Нет упоминания ФЗ-152 (персональные данные)
635
+ - Нет требования on-premise развёртывания LLM
636
+ - Нет HITL для решений, влияющих на клиента
637
+ - Нет упоминания ФСТЭК при работе с критической инфраструктурой
638
+
639
+ ## Дополнительные критерии по измерению ROBUSTNESS
640
+
641
+ Снижайте балл ROBUSTNESS если:
642
+ - Нет описания fallback при недоступности LLM
643
+ - Нет SLA-требований
644
+ - Нет упоминания аудит-лога для регуляторной отчётности
645
+
646
+ ## Якорные точки (anchor points) для банковского домена
647
+
648
+ - 9-10: Полное соответствие регуляторным требованиям, HITL, on-premise, аудит-лог
649
+ - 7-8: Базовое соответствие, указание на ключевые требования
650
+ - 5-6: Упоминает регулирование, но без конкретики
651
+ - 3-4: Игнорирует регуляторный контекст
652
+ - 1-2: Предлагает облачные решения без обоснования для критических данных
653
+ ```
654
+
655
+ ### 6.3. Подключение рубрики к судьям
656
+
657
+ Для применения пользовательской рубрики в конкретной оценке добавьте ссылку в агент-конфиг или явно укажите в промпте команды:
658
+
659
+ **Временно (в конкретном вызове):**
660
+
661
+ ```
662
+ /bto-test .claude/skills/my-banking-skill/ full
663
+ ```
664
+
665
+ Добавьте в свой запрос контекст: "Используй рубрики из .claude/skills/bto/references/custom-banking-rubrics.md при оценке."
666
+
667
+ **Постоянно (для всех оценок скиллов банковского домена):**
668
+
669
+ Создайте специализированный агент-конфиг:
670
+
671
+ ```
672
+ .claude/agents/bto-judge-banking-expert.md
673
+ ```
674
+
675
+ ```markdown
676
+ # BTO Judge — Banking Domain Expert
677
+
678
+ ## Purpose
679
+ Evaluate Claude Code artifacts for banking/fintech domain quality,
680
+ including regulatory compliance (ФЗ-152, ЦБ, ФСТЭК) and security requirements.
681
+
682
+ ## Configuration
683
+ - Model: sonnet
684
+ - Isolation: reads artifact + judge-rubrics.md + custom-banking-rubrics.md
685
+ - Role: domain expert with regulatory focus
686
+
687
+ ## Additional References
688
+ Read .claude/skills/bto/references/custom-banking-rubrics.md
689
+ Apply banking-specific criteria in addition to standard rubrics.
690
+ ```
691
+
692
+ ### 6.4. Рубрики по домену: шаблоны
693
+
694
+ **Шаблон для ритейл/e-commerce:**
695
+
696
+ ```markdown
697
+ # Рубрика оценки: Ритейл / E-commerce домен
698
+
699
+ ## CORRECTNESS (снижать если):
700
+ - Latency не упомянута для real-time операций (< 200ms)
701
+ - Нет механизма A/B тестирования для рекомендаций
702
+ - Персонализация без адресации privacy/GDPR
703
+
704
+ ## ROBUSTNESS (снижать если):
705
+ - Нет обработки cold-start проблемы
706
+ - Нет сезонного контекста (пиковые нагрузки)
707
+ - Нет деградированного режима при отказе рекомендательной системы
708
+ ```
709
+
710
+ **Шаблон для enterprise/B2B:**
711
+
712
+ ```markdown
713
+ # Рубрика оценки: Enterprise / B2B домен
714
+
715
+ ## CORRECTNESS (снижать если):
716
+ - Нет плана Change Management (люди сопротивляются AI)
717
+ - ROI выражен в процентах, а не в FTE/часах
718
+ - Нет стратегии интеграции с legacy-системами
719
+
720
+ ## METHODOLOGY (снижать если):
721
+ - Нет SLA и fault tolerance требований
722
+ - Нет плана поэтапного rollout
723
+ ```
724
+
725
+ ---
726
+
727
+ ## 7. Мониторинг качества оценки
728
+
729
+ ### 7.1. Признаки здоровой оценки
730
+
731
+ Здоровый BTO-процесс характеризуется:
732
+
733
+ | Метрика | Здоровое значение | Тревожный сигнал |
734
+ |---------|------------------|------------------|
735
+ | Layer 0 pass rate | > 90% для зрелых артефактов | < 70% — системная проблема с генерацией |
736
+ | Layer 1 средний балл | 6.5–8.5 | > 9.0 — score inflation; < 5.0 — generation failure |
737
+ | Разброс судей Layer 2 | max-min < 2 для большинства | > 3 на > 2 измерениях — калибровка нужна |
738
+ | OPTIMIZE delta per round | 0.5–1.5 | > 2.0 — подозрительный скачок; < 0.3 — преждевременная сходимость |
739
+ | Частота активации мета-судьи | < 20% оценок | > 40% — системное расхождение судей |
740
+
741
+ ### 7.2. Ведение журнала оценок
742
+
743
+ Для отслеживания качества оценок во времени рекомендуется сохранять результаты оценок:
744
+
745
+ ```bash
746
+ # Создайте директорию для логов оценок
747
+ mkdir -p .bto-logs/
748
+
749
+ # После каждого /bto-test сохраняйте вывод
750
+ # (Можно делать вручную или через Claude Code в конце сессии)
751
+ ```
752
+
753
+ Структура лога оценки:
754
+
755
+ ```markdown
756
+ ## Evaluation Log Entry
757
+
758
+ Date: 2026-03-01
759
+ Artifact: .claude/skills/my-skill/SKILL.md
760
+ Layer: 2
761
+ Overall: 7.4
762
+
763
+ Dimension Scores:
764
+ Expert: METHODOLOGY 7, DEPTH 6, CORRECTNESS 8, USABILITY 7, ROBUSTNESS 6
765
+ Critic: METHODOLOGY 6, DEPTH 5, CORRECTNESS 7, USABILITY 6, ROBUSTNESS 5
766
+ Auditor: METHODOLOGY 8, DEPTH 7, CORRECTNESS 8, USABILITY 7, ROBUSTNESS 6
767
+
768
+ Disagreements: DEPTH (range: 2), ROBUSTNESS (range: 1)
769
+ Meta-judge triggered: No
770
+
771
+ Action taken: Ran /bto-optimize with focus DEPTH
772
+ Post-optimize score: 8.1
773
+ ```
774
+
775
+ ### 7.3. Паттерны деградации оценки
776
+
777
+ **Score inflation (раздувание баллов):**
778
+
779
+ Все судьи стабильно выдают > 8.5 с первой попытки. Особенно характерно при оценке haiku (Layer 1) артефактов, содержащих знакомые паттерны.
780
+
781
+ Диагностика:
782
+ - Запустите Layer 2 на заведомо среднем артефакте — ожидаемый балл Critic: 5-6
783
+ - Если Critic выдаёт 8-9 — нужна перекалибровка
784
+
785
+ Исправление:
786
+ - Добавьте в промпт Critic явную инструкцию: "Your average score across all dimensions should be in the 5-6 range. Score 8+ only for genuinely exceptional quality."
787
+ - Отредактируйте `.claude/agents/bto-judge-critic.md`, усилив секцию Scoring Calibration
788
+
789
+ **Конформизм (conformity collapse):**
790
+
791
+ Судьи сходятся к идентичным баллам уже после 1 раунда. Теряется ценность разнообразных перспектив.
792
+
793
+ Диагностика:
794
+ - Standard deviation баллов судей < 0.5 на всех измерениях
795
+
796
+ Исправление:
797
+ - Убедитесь, что агенты запущены в полной изоляции (никакого контекста других судей)
798
+ - Рандомизируйте порядок запуска агентов
799
+ - Добавьте в промпт каждого судьи: "Do not converge to a consensus — your independent perspective is the entire point."
800
+
801
+ ### 7.4. Калибровочный тест
802
+
803
+ Для проверки корректности работы панели судей используйте эталонный артефакт — заведомо хороший и заведомо плохой:
804
+
805
+ **Эталон "хорошего" артефакта** — это сам BTO SKILL.md. Ожидаемые баллы Layer 2:
806
+ - Domain Expert: 8.0–9.0
807
+ - Critic: 7.0–8.0
808
+ - Auditor: 8.5–9.5
809
+
810
+ **Эталон "плохого" артефакта** — создайте специальный тест-файл:
811
+
812
+ ```bash
813
+ cat > /tmp/bad-artifact-test.md << 'EOF'
814
+ # Skill
815
+
816
+ ## Overview
817
+ This skill does things.
818
+
819
+ ## Protocol
820
+ Do the thing.
821
+ EOF
822
+ ```
823
+
824
+ Ожидаемые баллы Layer 2 для этого артефакта:
825
+ - Domain Expert: 2.0–3.0
826
+ - Critic: 1.0–2.0
827
+ - Auditor: 2.0–3.0
828
+
829
+ Если реальные баллы значительно отклоняются от ожидаемых — калибровка судей нужна.
830
+
831
+ ---
832
+
833
+ ## 8. Обнаружение и устранение анти-паттернов
834
+
835
+ ### 8.1. Полный реестр BTO анти-паттернов
836
+
837
+ | Анти-паттерн | Сигнал обнаружения | Требуемое исправление |
838
+ |-------------|-------------------|-----------------------|
839
+ | **Score inflation** | Все судьи выставляют > 8.5 при первой попытке | Добавить калибровочный промпт в критиков |
840
+ | **Overfitting to rubric** | Артефакт содержит почти дословные фразы из рубрики | Blind evaluation: скрыть рубрику от генератора |
841
+ | **Conformity collapse** | Судьи сходятся к идентичным баллам | Принудить изоляцию, рандомизировать порядок |
842
+ | **Runaway optimization** | > 10 итераций без сходимости | Прервать, залогировать, human review |
843
+ | **Phantom improvement** | Delta > 0.5, но содержательных изменений нет | Diff-проверка контента, не только баллов |
844
+ | **Judge-generator collusion** | Одна модель используется для генерации и для оценки | BLOCK — модели генератора и судьи должны отличаться |
845
+ | **Missing rejection log** | Провалившиеся артефакты молча отбрасываются | Каждый rejection логировать с причиной |
846
+
847
+ ### 8.2. Judge-generator collusion (наиболее критичный)
848
+
849
+ Этот анти-паттерн возникает, когда одна и та же модель генерирует артефакт и оценивает его. Модель будет систематически завышать оценки своих собственных генераций.
850
+
851
+ **Стандартное разделение BTO:**
852
+
853
+ | Операция | Модель |
854
+ |---------|--------|
855
+ | BUILD generation | opus |
856
+ | Layer 1 judge | haiku |
857
+ | Layer 2 judges | sonnet |
858
+ | OPTIMIZE variant generation | opus |
859
+ | OPTIMIZE Layer 1 eval | haiku |
860
+ | OPTIMIZE Layer 2 final eval | sonnet |
861
+
862
+ Генератор (opus) никогда не является судьёй. Судьи (haiku, sonnet) никогда не генерируют артефакты.
863
+
864
+ Если вы изменяете модели для экономии токенов — убедитесь, что это разделение сохраняется.
865
+
866
+ ### 8.3. Overfitting to rubric
867
+
868
+ **Симптом:** Артефакт высоко оценивается судьями, но не работает как задумано в реальном использовании. Контент выглядит "написанным для оценщика", а не для реального потребителя.
869
+
870
+ **Выявление:**
871
+ - Сравните артефакт с реальным user journey — помогает ли он на каждом шаге?
872
+ - Проведите "слепую" оценку: уберите рубрику из контекста судьи при одном из раундов
873
+
874
+ **Исправление:**
875
+
876
+ Добавьте в промпт судьи секцию:
877
+
878
+ ```
879
+ IMPORTANT: Do not score based on whether the artifact MENTIONS concepts from
880
+ evaluation rubrics. Score based on whether a real user could successfully
881
+ accomplish their goal using this artifact as their sole guide.
882
+ ```
883
+
884
+ ### 8.4. Phantom improvement
885
+
886
+ **Симптом:** Раунд оптимизации показывает delta > 0.5, но при ручном сравнении артефактов изменения косметические (перефразирование без добавления смысла).
887
+
888
+ **Выявление через diff:**
889
+
890
+ ```bash
891
+ diff .claude/skills/my-skill/SKILL.md .claude/skills/my-skill/SKILL.md.pre-optimize.bak
892
+ ```
893
+
894
+ Если diff показывает только пересловение без новых секций, примеров или ограничений — это phantom improvement.
895
+
896
+ **Исправление:**
897
+
898
+ Добавьте в промпт мутации:
899
+
900
+ ```
901
+ Changes MUST be substantive — add new content, examples, constraints, or restructure
902
+ meaningfully. Do not merely rephrase existing sentences.
903
+ Minimum: add at least one concrete example or one new edge case.
904
+ ```
905
+
906
+ ### 8.5. Автоматическое обнаружение (self-check)
907
+
908
+ Правило `bto-quality-gates.md` загружается Claude Code автоматически из `.claude/rules/`. Это означает, что Claude Code будет применять BTO anti-pattern checks ко ВСЕМ генерируемым артефактам — не только при явном вызове BTO команд.
909
+
910
+ Для проверки, что правило загружено:
911
+
912
+ Файл `.claude/rules/bto-quality-gates.md` должен существовать (проверяется через `doctor`). При обнаружении анти-паттерна Claude Code автоматически флагирует его и останавливает процесс.
913
+
914
+ ---
915
+
916
+ ## 9. Бэкап и восстановление
917
+
918
+ ### 9.1. Автоматические бэкапы OPTIMIZE
919
+
920
+ Каждый запуск `/bto-optimize` автоматически создаёт резервную копию перед перезаписью:
921
+
922
+ ```
923
+ Оригинал: .claude/skills/my-skill/SKILL.md
924
+ Резервная: .claude/skills/my-skill/SKILL.md.pre-optimize.bak
925
+ ```
926
+
927
+ Для восстановления вручную:
928
+
929
+ ```bash
930
+ cp .claude/skills/my-skill/SKILL.md.pre-optimize.bak .claude/skills/my-skill/SKILL.md
931
+ ```
932
+
933
+ Или через Claude Code:
934
+
935
+ ```
936
+ откат
937
+ ```
938
+
939
+ (эта команда доступна в checkpoint после OPTIMIZE)
940
+
941
+ ### 9.2. Ручной бэкап перед массовыми изменениями
942
+
943
+ Перед операциями, которые изменяют несколько файлов (update, force-init, массовая оптимизация):
944
+
945
+ ```bash
946
+ # Зафиксировать текущее состояние в git
947
+ git add .claude/ .bto-skills.json
948
+ git commit -m "snapshot before bto update $(date +%Y-%m-%d)"
949
+
950
+ # Или создать архив
951
+ tar -czf bto-backup-$(date +%Y%m%d).tar.gz .claude/skills/bto/ .claude/commands/bto*.md .claude/rules/bto-*.md .claude/agents/bto-*.md .bto-skills.json
952
+ ```
953
+
954
+ ### 9.3. Восстановление через update
955
+
956
+ Если какие-либо файлы BTO были случайно изменены или удалены:
957
+
958
+ ```bash
959
+ # Вариант 1: обновление вернёт файлы из последней версии пакета
960
+ npx @dzhechko/skills-bto update
961
+
962
+ # Вариант 2: принудительная переустановка
963
+ npx @dzhechko/skills-bto init --force
964
+ ```
965
+
966
+ `update` обновляет только файлы BTO, не затрагивая Keysarium-файлы в тех же директориях.
967
+
968
+ ### 9.4. Восстановление из git
969
+
970
+ При наличии git-репозитория:
971
+
972
+ ```bash
973
+ # Проверить историю изменений конкретного файла
974
+ git log --oneline -- .claude/skills/bto/SKILL.md
975
+
976
+ # Восстановить версию на конкретную дату
977
+ git checkout "2026-02-15" -- .claude/skills/bto/SKILL.md
978
+
979
+ # Или из конкретного коммита
980
+ git checkout abc1234 -- .claude/skills/bto/
981
+
982
+ # Проверить, что восстановлено корректно
983
+ npx @dzhechko/skills-bto doctor
984
+ ```
985
+
986
+ ### 9.5. Манифест как инвентаризация
987
+
988
+ Файл `.bto-skills.json` является полным списком файлов BTO. Используйте его для аудита:
989
+
990
+ ```bash
991
+ # Просмотр манифеста
992
+ cat .bto-skills.json
993
+
994
+ # Проверить наличие всех файлов из манифеста
995
+ npx @dzhechko/skills-bto doctor
996
+ ```
997
+
998
+ Структура манифеста:
999
+
1000
+ ```json
1001
+ {
1002
+ "version": "1.0.0",
1003
+ "installedAt": "2026-03-01T12:00:00.000Z",
1004
+ "components": ["skill", "commands", "rules", "agents"],
1005
+ "files": [
1006
+ ".claude/skills/bto/SKILL.md",
1007
+ ".claude/skills/bto/modules/build.md",
1008
+ ".claude/skills/bto/modules/test.md",
1009
+ ".claude/skills/bto/modules/optimize.md",
1010
+ ".claude/skills/bto/references/judge-rubrics.md",
1011
+ ".claude/commands/bto.md",
1012
+ ".claude/commands/bto-build.md",
1013
+ ".claude/commands/bto-test.md",
1014
+ ".claude/commands/bto-optimize.md",
1015
+ ".claude/rules/bto-quality-gates.md",
1016
+ ".claude/agents/bto-judge-expert.md",
1017
+ ".claude/agents/bto-judge-critic.md",
1018
+ ".claude/agents/bto-judge-auditor.md"
1019
+ ]
1020
+ }
1021
+ ```
1022
+
1023
+ ### 9.6. Многопользовательская среда
1024
+
1025
+ При работе нескольких разработчиков с одним репозиторием:
1026
+
1027
+ **Рекомендуемый подход:** Зафиксируйте все файлы `.claude/` в git, включая BTO-компоненты. Это гарантирует, что все разработчики работают с одинаковыми версиями скиллов и правил.
1028
+
1029
+ ```bash
1030
+ # Добавьте .claude/ в отслеживаемые файлы
1031
+ echo "!.claude/" >> .gitignore # убрать из исключений, если он там
1032
+
1033
+ # Зафиксировать базовую установку
1034
+ git add .claude/ .bto-skills.json
1035
+ git commit -m "add @dzhechko/skills-bto v1.0.0"
1036
+ ```
1037
+
1038
+ **Обновление в команде:**
1039
+
1040
+ При обновлении пакета один разработчик запускает `update`, фиксирует изменения и пушит. Остальные делают `git pull`:
1041
+
1042
+ ```bash
1043
+ # Администратор:
1044
+ npx @dzhechko/skills-bto update
1045
+ git add .claude/ .bto-skills.json
1046
+ git commit -m "update @dzhechko/skills-bto to v1.x.x"
1047
+ git push
1048
+
1049
+ # Остальные разработчики:
1050
+ git pull
1051
+ npx @dzhechko/skills-bto doctor # проверить здоровье после pull
1052
+ ```