@dzhechkov/keysarium 1.4.0 → 1.5.1
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 +52 -5
- package/README.ru.md +541 -0
- package/bin/cli.js +0 -0
- package/package.json +11 -9
- package/templates/.claude/commands/analyst-manual.md +38 -0
- package/templates/.claude/commands/casarium.md +55 -4
- package/templates/.claude/commands/feature-adr.md +8 -0
- package/templates/.claude/rules/trust-tiers.md +5 -0
- package/templates/.claude/shards/feature-adr.shard.md +64 -10
- package/templates/.claude/shards/phase-ai-factory.shard.md +109 -0
- package/templates/.claude/skills/ai-factory-mapper/README.md +90 -0
- package/templates/.claude/skills/ai-factory-mapper/SKILL.md +309 -0
- package/templates/.claude/skills/ai-factory-mapper/assets/report-template.md +123 -0
- package/templates/.claude/skills/ai-factory-mapper/references/catalog.md +230 -0
- package/templates/.claude/skills/ai-factory-mapper/references/coverage-formula.md +219 -0
- package/templates/.claude/skills/ai-factory-mapper/references/decomposition-checklist.md +183 -0
- package/templates/.claude/skills/ai-factory-mapper/references/pattern-library.md +312 -0
- package/templates/.claude/skills/ai-factory-mapper/scripts/build_docx_report.js +423 -0
- package/templates/.claude/skills/analyst-manual-full/SKILL.md +286 -0
- package/templates/.claude/skills/edu-site-generator/SKILL.md +254 -0
- package/templates/.claude/skills/edu-site-generator/examples/sample-course-structure.md +116 -0
- package/templates/.claude/skills/edu-site-generator/modules/00-content-analysis.md +84 -0
- package/templates/.claude/skills/edu-site-generator/modules/01-course-structure.md +75 -0
- package/templates/.claude/skills/edu-site-generator/modules/02-data-generation.md +186 -0
- package/templates/.claude/skills/edu-site-generator/modules/03-scaffold.md +249 -0
- package/templates/.claude/skills/edu-site-generator/modules/04-components.md +130 -0
- package/templates/.claude/skills/edu-site-generator/modules/05-gamification.md +163 -0
- package/templates/.claude/skills/edu-site-generator/modules/06-deploy.md +88 -0
- package/templates/.claude/skills/edu-site-generator/modules/07-verification.md +97 -0
- package/templates/.claude/skills/edu-site-generator/references/component-templates.md +436 -0
- package/templates/.claude/skills/edu-site-generator/references/data-schemas.md +164 -0
- package/templates/.claude/skills/edu-site-generator/references/exercise-catalog.md +110 -0
- package/templates/.claude/skills/edu-site-generator/references/tech-stack.md +69 -0
- package/templates/.claude/skills/feature-adr/SKILL.md +245 -59
- package/templates/.claude/skills/feature-adr/modules/03-adr.md +43 -0
- package/templates/.claude/skills/feature-adr/modules/03.5-ideation-swarm.md +180 -0
- package/templates/.claude/skills/feature-adr/modules/06-implementation-plan.md +56 -7
- package/templates/.claude/skills/feature-adr/modules/08-qe.md +87 -23
- package/templates/.claude/skills/feature-adr/modules/09-fleet-qe.md +305 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/README.md +143 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/brutal-honesty-review.md +240 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/chaos-engineering-resilience.md +163 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/code-goal-planner.md +446 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/enterprise-integration-testing.md +111 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/mutation-testing.md +236 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/performance-testing.md +315 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qcsd-ideation-swarm.md +126 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qcsd-production-swarm.md +108 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-coverage-analysis.md +193 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-requirements-validation.md +254 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/regression-testing.md +233 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/risk-based-testing.md +212 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/security-testing.md +311 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/shift-left-testing.md +231 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/tdd-london-chicago.md +249 -0
- package/templates/.claude/skills/transcript-site-generator/SKILL.md +287 -0
- package/templates/.claude/skills/transcript-site-generator/examples/sample-text-only-site.md +123 -0
- package/templates/.claude/skills/transcript-site-generator/examples/sample-transcript-site.md +134 -0
- package/templates/.claude/skills/transcript-site-generator/modules/00-input-analysis.md +132 -0
- package/templates/.claude/skills/transcript-site-generator/modules/01-content-parsing.md +117 -0
- package/templates/.claude/skills/transcript-site-generator/modules/02-site-generation.md +293 -0
- package/templates/.claude/skills/transcript-site-generator/modules/03-interactivity.md +406 -0
- package/templates/.claude/skills/transcript-site-generator/modules/04-deploy.md +130 -0
- package/templates/.claude/skills/transcript-site-generator/modules/05-verification.md +155 -0
- package/templates/.claude/skills/transcript-site-generator/references/component-catalog.md +86 -0
- package/templates/.claude/skills/transcript-site-generator/references/data-schemas.md +123 -0
- package/templates/.claude/skills/transcript-site-generator/references/tech-stack.md +132 -0
- package/templates/CLAUDE.md +9 -2
- package/templates/docs/edu-site-generator/01-deployment-guide.md +911 -0
- package/templates/docs/edu-site-generator/02-admin-guide.md +901 -0
- package/templates/docs/edu-site-generator/03-user-guide.md +1008 -0
- package/templates/docs/edu-site-generator/04-infrastructure-requirements.md +489 -0
- package/templates/docs/edu-site-generator/05-architecture.md +902 -0
- package/templates/docs/edu-site-generator/06-user-flows.md +759 -0
- package/templates/docs/transcript-site-generator/01-deployment-guide.md +1042 -0
- package/templates/docs/transcript-site-generator/02-admin-guide.md +918 -0
- package/templates/docs/transcript-site-generator/03-user-guide.md +925 -0
- package/templates/docs/transcript-site-generator/04-infrastructure-requirements.md +482 -0
- package/templates/docs/transcript-site-generator/05-architecture.md +1068 -0
- package/templates/docs/transcript-site-generator/06-user-flows.md +855 -0
|
@@ -0,0 +1,1042 @@
|
|
|
1
|
+
# Руководство по развёртыванию @dzhechkov/skills-transcript-site
|
|
2
|
+
|
|
3
|
+
## Содержание
|
|
4
|
+
|
|
5
|
+
1. [Предварительные требования](#1-предварительные-требования)
|
|
6
|
+
2. [Методы установки](#2-методы-установки)
|
|
7
|
+
3. [Установка с помощью npx](#3-установка-с-помощью-npx)
|
|
8
|
+
4. [Автономная установка (standalone)](#4-автономная-установка-standalone)
|
|
9
|
+
5. [Установка рядом с Keysarium](#5-установка-рядом-с-keysarium)
|
|
10
|
+
6. [Проверка установки](#6-проверка-установки)
|
|
11
|
+
7. [Первый запуск — пошаговое руководство](#7-первый-запуск--пошаговое-руководство)
|
|
12
|
+
8. [Интеграция с @dzhechkov/keysarium](#8-интеграция-с-dzhechkokeysarium)
|
|
13
|
+
9. [Обновление и удаление](#9-обновление-и-удаление)
|
|
14
|
+
10. [Устранение неполадок](#10-устранение-неполадок)
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 1. Предварительные требования
|
|
19
|
+
|
|
20
|
+
Перед установкой убедитесь, что на вашей машине установлено следующее программное обеспечение.
|
|
21
|
+
|
|
22
|
+
### 1.1. Node.js 16+
|
|
23
|
+
|
|
24
|
+
`@dzhechkov/skills-transcript-site` требует Node.js версии 16 или выше. Рекомендуется использовать Node.js 20 LTS.
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Проверка установленной версии
|
|
28
|
+
node --version
|
|
29
|
+
# Ожидаемый вывод: v16.x.x или выше (рекомендуется v20+)
|
|
30
|
+
|
|
31
|
+
npm --version
|
|
32
|
+
# Ожидаемый вывод: 8.x.x или выше
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Если Node.js не установлен или версия ниже требуемой:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Установка через nvm (рекомендуемый способ, все платформы)
|
|
39
|
+
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
|
|
40
|
+
source ~/.bashrc
|
|
41
|
+
nvm install 20
|
|
42
|
+
nvm use 20
|
|
43
|
+
nvm alias default 20
|
|
44
|
+
|
|
45
|
+
# Установка на Ubuntu/Debian (через NodeSource)
|
|
46
|
+
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
|
|
47
|
+
sudo apt install -y nodejs
|
|
48
|
+
|
|
49
|
+
# Установка на macOS (через Homebrew)
|
|
50
|
+
brew install node@20
|
|
51
|
+
echo 'export PATH="/opt/homebrew/opt/node@20/bin:$PATH"' >> ~/.zshrc
|
|
52
|
+
source ~/.zshrc
|
|
53
|
+
|
|
54
|
+
# Установка на Windows (через winget)
|
|
55
|
+
winget install OpenJS.NodeJS.LTS
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 1.2. Claude Code CLI
|
|
59
|
+
|
|
60
|
+
`@dzhechkov/skills-transcript-site` устанавливает скиллы и команды в проект Claude Code. Сам Claude Code CLI должен быть установлен и настроен.
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Установка Claude Code CLI глобально
|
|
64
|
+
npm install -g @anthropic-ai/claude-code
|
|
65
|
+
|
|
66
|
+
# Проверка установки
|
|
67
|
+
claude --version
|
|
68
|
+
# Ожидаемый вывод: claude/x.x.x
|
|
69
|
+
|
|
70
|
+
# Если возникает ошибка прав доступа при глобальной установке:
|
|
71
|
+
# Способ 1: использование sudo (только для Linux/macOS)
|
|
72
|
+
sudo npm install -g @anthropic-ai/claude-code
|
|
73
|
+
|
|
74
|
+
# Способ 2: настройка npm prefix (рекомендуется, без sudo)
|
|
75
|
+
mkdir -p ~/.npm-global
|
|
76
|
+
npm config set prefix '~/.npm-global'
|
|
77
|
+
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
|
|
78
|
+
source ~/.bashrc
|
|
79
|
+
npm install -g @anthropic-ai/claude-code
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### 1.3. API-ключ Anthropic
|
|
83
|
+
|
|
84
|
+
Для работы Claude Code и генерации transcript-сайтов необходим API-ключ Anthropic.
|
|
85
|
+
|
|
86
|
+
1. Перейдите на [console.anthropic.com](https://console.anthropic.com)
|
|
87
|
+
2. Зарегистрируйте аккаунт или войдите в существующий
|
|
88
|
+
3. В разделе **API Keys** нажмите **Create Key**
|
|
89
|
+
4. Скопируйте ключ (он начинается с `sk-ant-`) — он показывается только один раз
|
|
90
|
+
5. Установите переменную окружения:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# Временно (для текущей сессии терминала)
|
|
94
|
+
export ANTHROPIC_API_KEY="sk-ant-..."
|
|
95
|
+
|
|
96
|
+
# Постоянно (добавьте в ~/.bashrc или ~/.zshrc)
|
|
97
|
+
echo 'export ANTHROPIC_API_KEY="sk-ant-..."' >> ~/.bashrc
|
|
98
|
+
source ~/.bashrc
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
> **Токены и стоимость:** Полный 6-шаговый пайплайн генерации transcript-сайта потребляет примерно 30-60K токенов. Основной расход: Input Analysis (~5K), Content Parsing (~8K), Site Generation (~15K), Interactivity (~10K), Deploy (~3K), Verification (~5K). Стоимость зависит от длины транскрипта: короткий подкаст (~15 мин) ~30K токенов, длинная конференция (~2 часа) ~80K токенов.
|
|
102
|
+
|
|
103
|
+
### 1.4. yt-dlp (опционально, для YouTube)
|
|
104
|
+
|
|
105
|
+
Для извлечения транскриптов из YouTube-видео используется `yt-dlp`. Если вы планируете работать только с текстовыми транскриптами — этот шаг не обязателен.
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# Проверка установки
|
|
109
|
+
yt-dlp --version
|
|
110
|
+
|
|
111
|
+
# Установка на Ubuntu/Debian
|
|
112
|
+
sudo apt install -y yt-dlp
|
|
113
|
+
|
|
114
|
+
# Установка на macOS (через Homebrew)
|
|
115
|
+
brew install yt-dlp
|
|
116
|
+
|
|
117
|
+
# Установка через pip (кроссплатформенный способ)
|
|
118
|
+
pip install yt-dlp
|
|
119
|
+
|
|
120
|
+
# Установка через pipx (изолированное окружение, рекомендуется)
|
|
121
|
+
pipx install yt-dlp
|
|
122
|
+
|
|
123
|
+
# Обновление до последней версии (yt-dlp обновляется часто)
|
|
124
|
+
yt-dlp -U
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
`yt-dlp` поддерживает автоматическое извлечение субтитров, метаданных и thumbnail-ов из YouTube. Если `yt-dlp` не установлен, скилл предложит вставить текст транскрипта вручную.
|
|
128
|
+
|
|
129
|
+
### 1.5. Git (опционально, но рекомендуется)
|
|
130
|
+
|
|
131
|
+
Git необходим для GitHub Pages деплоя и версионирования сгенерированных сайтов.
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
# Проверка установки
|
|
135
|
+
git --version
|
|
136
|
+
|
|
137
|
+
# Установка на Ubuntu/Debian
|
|
138
|
+
sudo apt install -y git
|
|
139
|
+
|
|
140
|
+
# Установка на macOS
|
|
141
|
+
brew install git
|
|
142
|
+
|
|
143
|
+
# Базовая настройка (если git установлен впервые)
|
|
144
|
+
git config --global user.name "Your Name"
|
|
145
|
+
git config --global user.email "your@email.com"
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### 1.6. Современный браузер
|
|
149
|
+
|
|
150
|
+
Для просмотра и тестирования сгенерированных сайтов. Сайт использует Tailwind CSS Play CDN и современные JS-фичи (IntersectionObserver, Clipboard API, CSS custom properties).
|
|
151
|
+
|
|
152
|
+
Поддерживаемые браузеры:
|
|
153
|
+
- Chrome / Chromium 90+
|
|
154
|
+
- Firefox 90+
|
|
155
|
+
- Safari 15+
|
|
156
|
+
- Edge 90+
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## 2. Методы установки
|
|
161
|
+
|
|
162
|
+
Пакет `@dzhechkov/skills-transcript-site` можно установить тремя способами в зависимости от вашего сценария использования:
|
|
163
|
+
|
|
164
|
+
| Метод | Когда использовать | Команда |
|
|
165
|
+
|-------|-------------------|---------|
|
|
166
|
+
| **npx (разовая установка)** | Быстрый старт без глобальной установки | `npx @dzhechkov/skills-transcript-site init` |
|
|
167
|
+
| **Глобальная установка** | Частое использование в нескольких проектах | `npm install -g @dzhechkov/skills-transcript-site` |
|
|
168
|
+
| **Рядом с Keysarium** | Уже установлен `@dzhechkov/keysarium` | `npx @dzhechkov/skills-transcript-site init` (определяет keysarium автоматически) |
|
|
169
|
+
|
|
170
|
+
Во всех случаях команда `init` копирует одни и те же файлы в проект. Разница только в том, как запускается CLI.
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## 3. Установка с помощью npx
|
|
175
|
+
|
|
176
|
+
`npx` позволяет запустить пакет без предварительной установки. Это рекомендуемый способ для первого знакомства с пакетом.
|
|
177
|
+
|
|
178
|
+
### 3.1. Перейдите в директорию проекта
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
# Перейдите в корень проекта, куда нужно установить transcript-site
|
|
182
|
+
cd /path/to/your-project
|
|
183
|
+
|
|
184
|
+
# Убедитесь, что вы в правильной директории
|
|
185
|
+
pwd
|
|
186
|
+
ls
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Директория проекта должна содержать файлы вашего проекта Claude Code (или быть пустой, если создаёте новый проект).
|
|
190
|
+
|
|
191
|
+
### 3.2. Запустите установку
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
npx @dzhechkov/skills-transcript-site init
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
CLI отобразит баннер и план установки:
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
+=====================================================+
|
|
201
|
+
| TRANSCRIPT-SITE-GENERATOR |
|
|
202
|
+
| Interactive transcript websites from text/YouTube |
|
|
203
|
+
| Pure static HTML + Tailwind CDN + vanilla JS |
|
|
204
|
+
+=====================================================+
|
|
205
|
+
|
|
206
|
+
Installation plan:
|
|
207
|
+
|
|
208
|
+
+ Transcript Site Skill (.claude/skills/transcript-site-generator/)
|
|
209
|
+
+ Transcript Site Commands (.claude/commands/transcript-site*.md)
|
|
210
|
+
+ Transcript Site Rules (.claude/rules/transcript-site-*.md)
|
|
211
|
+
|
|
212
|
+
[1/3] Installing Transcript Site Skill...
|
|
213
|
+
[2/3] Installing Transcript Site Commands...
|
|
214
|
+
[3/3] Installing Transcript Site Rules...
|
|
215
|
+
|
|
216
|
+
Created .transcript-site-skills.json manifest
|
|
217
|
+
|
|
218
|
+
Transcript Site skill pack installed!
|
|
219
|
+
|
|
220
|
+
Installed components:
|
|
221
|
+
+ Transcript Site Skill (.claude/skills/transcript-site-generator/)
|
|
222
|
+
+ Transcript Site Commands (.claude/commands/transcript-site*.md)
|
|
223
|
+
+ Transcript Site Rules (.claude/rules/transcript-site-*.md)
|
|
224
|
+
|
|
225
|
+
Next steps:
|
|
226
|
+
1. Open Claude Code in this directory
|
|
227
|
+
2. Run /transcript-site [YouTube URL or text] for the full pipeline
|
|
228
|
+
3. Generated site will be in docs/ (ready for GitHub Pages)
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### 3.3. Предпросмотр без записи (dry-run)
|
|
232
|
+
|
|
233
|
+
Если хотите узнать, что именно будет установлено, не записывая файлы:
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
npx @dzhechkov/skills-transcript-site init --dry-run
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
Команда покажет план установки и завершится без изменений.
|
|
240
|
+
|
|
241
|
+
### 3.4. Принудительная перезапись (force)
|
|
242
|
+
|
|
243
|
+
Если скилл уже установлен и вы хотите заменить файлы свежими из пакета:
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
npx @dzhechkov/skills-transcript-site init --force
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
> **Внимание:** `--force` перезапишет существующие файлы скилла. Ваши пользовательские модификации будут утеряны. Сначала сделайте бэкап или зафиксируйте изменения в git.
|
|
250
|
+
|
|
251
|
+
### 3.5. Указание выходной директории
|
|
252
|
+
|
|
253
|
+
По умолчанию сгенерированные сайты записываются в `docs/` (стандартная директория для GitHub Pages). Для изменения:
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
npx @dzhechkov/skills-transcript-site init --output-dir public/
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
Это изменит значение по умолчанию в конфигурации скилла.
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## 4. Автономная установка (standalone)
|
|
264
|
+
|
|
265
|
+
Если вы планируете использовать transcript-site-generator регулярно и не хотите каждый раз запускать `npx`, установите пакет глобально.
|
|
266
|
+
|
|
267
|
+
### 4.1. Глобальная установка
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
npm install -g @dzhechkov/skills-transcript-site
|
|
271
|
+
|
|
272
|
+
# Проверка установки
|
|
273
|
+
skills-transcript-site --version
|
|
274
|
+
# или
|
|
275
|
+
npx @dzhechkov/skills-transcript-site --version
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### 4.2. Инициализация в проекте
|
|
279
|
+
|
|
280
|
+
После глобальной установки перейдите в проект и запустите:
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
cd /path/to/your-project
|
|
284
|
+
skills-transcript-site init
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
Или по-прежнему через npx (будет использована кешированная локальная версия):
|
|
288
|
+
|
|
289
|
+
```bash
|
|
290
|
+
npx @dzhechkov/skills-transcript-site init
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### 4.3. Структура установленных файлов
|
|
294
|
+
|
|
295
|
+
После `init` в корне проекта появятся следующие файлы и директории:
|
|
296
|
+
|
|
297
|
+
```
|
|
298
|
+
your-project/
|
|
299
|
+
+-- .transcript-site-skills.json <-- Манифест установки
|
|
300
|
+
+-- .claude/
|
|
301
|
+
+-- skills/
|
|
302
|
+
| +-- transcript-site-generator/
|
|
303
|
+
| +-- SKILL.md <-- Основной оркестратор 6-шагового пайплайна
|
|
304
|
+
| +-- modules/
|
|
305
|
+
| | +-- input-analysis.md <-- Шаг 1: анализ входных данных
|
|
306
|
+
| | +-- content-parsing.md <-- Шаг 2: парсинг контента
|
|
307
|
+
| | +-- site-generation.md <-- Шаг 3: генерация HTML
|
|
308
|
+
| | +-- interactivity.md <-- Шаг 4: интерактивность (JS)
|
|
309
|
+
| | +-- deploy.md <-- Шаг 5: деплой конфигурация
|
|
310
|
+
| | +-- verification.md <-- Шаг 6: верификация
|
|
311
|
+
| +-- references/
|
|
312
|
+
| | +-- html-template.md <-- Базовый HTML шаблон
|
|
313
|
+
| | +-- tailwind-config.md <-- Конфигурация Tailwind CDN
|
|
314
|
+
| | +-- seo-checklist.md <-- SEO чеклист (OG, JSON-LD, Twitter)
|
|
315
|
+
| | +-- accessibility-guide.md <-- A11y руководство
|
|
316
|
+
| +-- examples/
|
|
317
|
+
| +-- sample-podcast.md <-- Пример: подкаст-транскрипт
|
|
318
|
+
| +-- sample-youtube.md <-- Пример: YouTube-видео
|
|
319
|
+
+-- commands/
|
|
320
|
+
| +-- transcript-site.md <-- /transcript-site -- полный пайплайн
|
|
321
|
+
| +-- transcript-site-generate.md <-- /transcript-site-generate -- только HTML
|
|
322
|
+
| +-- transcript-site-deploy.md <-- /transcript-site-deploy -- только деплой
|
|
323
|
+
+-- rules/
|
|
324
|
+
+-- transcript-site-quality.md <-- Правила качества для генерируемых сайтов
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
Манифест `.transcript-site-skills.json` записывает версию, список компонентов и все установленные файлы. Он используется командами `update`, `remove`, `list` и `doctor`.
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## 5. Установка рядом с Keysarium
|
|
332
|
+
|
|
333
|
+
`@dzhechkov/skills-transcript-site` разработан для совместной работы с `@dzhechkov/keysarium`. При установке в проект, где уже есть Keysarium, скилл автоматически определяет это и интегрируется.
|
|
334
|
+
|
|
335
|
+
### 5.1. Определение Keysarium
|
|
336
|
+
|
|
337
|
+
Команда `init` ищет файл `.keysarium.json` в корне проекта. Если он найден — выводится сообщение об интеграции:
|
|
338
|
+
|
|
339
|
+
```
|
|
340
|
+
+--------------------------------------------------+
|
|
341
|
+
| @dzhechkov/keysarium detected! |
|
|
342
|
+
| Version: 1.0.0 |
|
|
343
|
+
| Transcript Site will integrate with Keysarium. |
|
|
344
|
+
| Shared directories: .claude/commands, rules |
|
|
345
|
+
+--------------------------------------------------+
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
### 5.2. Порядок установки с Keysarium
|
|
349
|
+
|
|
350
|
+
Рекомендуемый порядок установки (если оба пакета устанавливаются с нуля):
|
|
351
|
+
|
|
352
|
+
```bash
|
|
353
|
+
# Шаг 1: Установите Keysarium первым
|
|
354
|
+
npx @dzhechkov/keysarium init
|
|
355
|
+
|
|
356
|
+
# Шаг 2: Установите Transcript Site поверх
|
|
357
|
+
npx @dzhechkov/skills-transcript-site init
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
Transcript Site добавит свои файлы в уже существующие директории `.claude/commands/` и `.claude/rules/`, не затрагивая файлы Keysarium.
|
|
361
|
+
|
|
362
|
+
### 5.3. Разделение файлов (изоляция)
|
|
363
|
+
|
|
364
|
+
Оба пакета используют соглашение об именовании, чтобы не конфликтовать:
|
|
365
|
+
|
|
366
|
+
| Пакет | Команды | Правила | Скиллы |
|
|
367
|
+
|-------|---------|---------|--------|
|
|
368
|
+
| Keysarium | `casarium.md`, `discovery.md`, ... | `agent-swarm.md`, `checkpoint-protocol.md`, ... | `explore/`, `goap-research-ed25519/`, ... |
|
|
369
|
+
| Transcript Site | `transcript-site.md`, `transcript-site-generate.md`, `transcript-site-deploy.md` | `transcript-site-quality.md` | `transcript-site-generator/` |
|
|
370
|
+
|
|
371
|
+
Все файлы Transcript Site начинаются с префикса `transcript-site`. Пересечений нет.
|
|
372
|
+
|
|
373
|
+
### 5.4. Использование после установки Keysarium
|
|
374
|
+
|
|
375
|
+
После установки обоих пакетов в Claude Code доступны команды обоих пайплайнов одновременно:
|
|
376
|
+
|
|
377
|
+
```
|
|
378
|
+
# Keysarium команды
|
|
379
|
+
/casarium /discovery /explore-case /research
|
|
380
|
+
/cjm-prototype /solve /architecture-phase /presentation
|
|
381
|
+
|
|
382
|
+
# Transcript Site команды
|
|
383
|
+
/transcript-site /transcript-site-generate /transcript-site-deploy
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
Конфликтов между командами нет. Можно, например, использовать `/transcript-site` для создания интерактивного сайта из транскрипта подкаста, а `/casarium` — для полного исследования AI-кейса.
|
|
387
|
+
|
|
388
|
+
### 5.5. Генерация сайтов для исследований Keysarium
|
|
389
|
+
|
|
390
|
+
Типичный сценарий совместного использования — превращение артефактов Keysarium в интерактивные веб-сайты:
|
|
391
|
+
|
|
392
|
+
```
|
|
393
|
+
# Создать сайт из executive summary исследования
|
|
394
|
+
/transcript-site researches/my-case/08_executive_summary.md
|
|
395
|
+
|
|
396
|
+
# Создать сайт из презентации
|
|
397
|
+
/transcript-site researches/my-case/05_presentation_content.md
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
---
|
|
401
|
+
|
|
402
|
+
## 6. Проверка установки
|
|
403
|
+
|
|
404
|
+
### 6.1. Команда doctor
|
|
405
|
+
|
|
406
|
+
Запустите `doctor` для проверки здоровья установки сразу после `init`:
|
|
407
|
+
|
|
408
|
+
```bash
|
|
409
|
+
npx @dzhechkov/skills-transcript-site doctor
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
Пример вывода при здоровой установке:
|
|
413
|
+
|
|
414
|
+
```
|
|
415
|
+
Running health checks for @dzhechkov/skills-transcript-site v1.0.0...
|
|
416
|
+
|
|
417
|
+
+ Files exist -- All 15 manifest files present
|
|
418
|
+
+ Skill pack -- SKILL.md present, 6 modules, 4 references, 2 examples
|
|
419
|
+
+ Commands -- 3 command(s): transcript-site.md, transcript-site-generate.md, transcript-site-deploy.md
|
|
420
|
+
+ Rules -- 1 rule(s): transcript-site-quality.md
|
|
421
|
+
+ yt-dlp -- Found (v2024.12.06)
|
|
422
|
+
+ Keysarium integration -- Active (Keysarium v1.0.0)
|
|
423
|
+
|
|
424
|
+
6/6 checks passed -- Transcript Site installation is healthy!
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
Если `yt-dlp` не найден, doctor покажет предупреждение (не ошибку):
|
|
428
|
+
|
|
429
|
+
```
|
|
430
|
+
! yt-dlp -- Not found (YouTube extraction unavailable)
|
|
431
|
+
Install: pip install yt-dlp
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
### 6.2. Команда list
|
|
435
|
+
|
|
436
|
+
Для просмотра установленных компонентов с детальным перечнем файлов:
|
|
437
|
+
|
|
438
|
+
```bash
|
|
439
|
+
npx @dzhechkov/skills-transcript-site list
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
Вывод:
|
|
443
|
+
|
|
444
|
+
```
|
|
445
|
+
@dzhechkov/skills-transcript-site v1.0.0
|
|
446
|
+
|
|
447
|
+
Skill:
|
|
448
|
+
.claude/skills/transcript-site-generator/SKILL.md (12.4 KB)
|
|
449
|
+
.claude/skills/transcript-site-generator/modules/input-analysis.md (4.2 KB)
|
|
450
|
+
.claude/skills/transcript-site-generator/modules/content-parsing.md (5.1 KB)
|
|
451
|
+
.claude/skills/transcript-site-generator/modules/site-generation.md (8.3 KB)
|
|
452
|
+
.claude/skills/transcript-site-generator/modules/interactivity.md (6.7 KB)
|
|
453
|
+
.claude/skills/transcript-site-generator/modules/deploy.md (3.2 KB)
|
|
454
|
+
.claude/skills/transcript-site-generator/modules/verification.md (3.8 KB)
|
|
455
|
+
|
|
456
|
+
References:
|
|
457
|
+
.claude/skills/transcript-site-generator/references/html-template.md (5.5 KB)
|
|
458
|
+
.claude/skills/transcript-site-generator/references/tailwind-config.md (2.1 KB)
|
|
459
|
+
.claude/skills/transcript-site-generator/references/seo-checklist.md (3.4 KB)
|
|
460
|
+
.claude/skills/transcript-site-generator/references/accessibility-guide.md (2.8 KB)
|
|
461
|
+
|
|
462
|
+
Examples:
|
|
463
|
+
.claude/skills/transcript-site-generator/examples/sample-podcast.md (4.0 KB)
|
|
464
|
+
.claude/skills/transcript-site-generator/examples/sample-youtube.md (5.2 KB)
|
|
465
|
+
|
|
466
|
+
Commands:
|
|
467
|
+
.claude/commands/transcript-site.md (3.5 KB)
|
|
468
|
+
.claude/commands/transcript-site-generate.md (2.8 KB)
|
|
469
|
+
.claude/commands/transcript-site-deploy.md (2.0 KB)
|
|
470
|
+
|
|
471
|
+
Rules:
|
|
472
|
+
.claude/rules/transcript-site-quality.md (4.1 KB)
|
|
473
|
+
|
|
474
|
+
Total: 15 files, 81.1 KB
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
### 6.3. Проверка в Claude Code
|
|
478
|
+
|
|
479
|
+
Откройте Claude Code в директории проекта и убедитесь, что команды доступны:
|
|
480
|
+
|
|
481
|
+
```bash
|
|
482
|
+
# Откройте Claude Code в директории проекта
|
|
483
|
+
claude
|
|
484
|
+
|
|
485
|
+
# Внутри Claude Code проверьте доступность команд
|
|
486
|
+
# (просто введите в чате)
|
|
487
|
+
/transcript-site --help
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
---
|
|
491
|
+
|
|
492
|
+
## 7. Первый запуск -- пошаговое руководство
|
|
493
|
+
|
|
494
|
+
Этот раздел проводит вас через полный 6-шаговый пайплайн: от YouTube URL до готового сайта на GitHub Pages.
|
|
495
|
+
|
|
496
|
+
### 7.1. Сценарий A: YouTube URL
|
|
497
|
+
|
|
498
|
+
Мы создадим интерактивный сайт из транскрипта YouTube-видео.
|
|
499
|
+
|
|
500
|
+
#### Шаг 0: Подготовка
|
|
501
|
+
|
|
502
|
+
Убедитесь, что `yt-dlp` установлен:
|
|
503
|
+
|
|
504
|
+
```bash
|
|
505
|
+
yt-dlp --version
|
|
506
|
+
```
|
|
507
|
+
|
|
508
|
+
Выберите YouTube-видео с субтитрами (авто-сгенерированные тоже подходят).
|
|
509
|
+
|
|
510
|
+
#### Шаг 1: Запуск пайплайна
|
|
511
|
+
|
|
512
|
+
В Claude Code введите:
|
|
513
|
+
|
|
514
|
+
```
|
|
515
|
+
/transcript-site https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
Claude Code выполнит 6-шаговый пайплайн автоматически.
|
|
519
|
+
|
|
520
|
+
#### Шаг 2: Input Analysis (Анализ входных данных)
|
|
521
|
+
|
|
522
|
+
```
|
|
523
|
+
====================================================
|
|
524
|
+
Step 1/6: INPUT ANALYSIS
|
|
525
|
+
Source type: YouTube URL
|
|
526
|
+
Video ID: dQw4w9WgXcQ
|
|
527
|
+
|
|
528
|
+
Extracting metadata via yt-dlp...
|
|
529
|
+
Title: "Example Video Title"
|
|
530
|
+
Duration: 15:42
|
|
531
|
+
Channel: Example Channel
|
|
532
|
+
Upload date: 2025-06-15
|
|
533
|
+
Language detected: en
|
|
534
|
+
Subtitles: auto-generated (en)
|
|
535
|
+
|
|
536
|
+
Extracting transcript...
|
|
537
|
+
Transcript length: 2,847 words
|
|
538
|
+
Estimated sections: 8-12
|
|
539
|
+
|
|
540
|
+
Checkpoint 1/6: Input Analysis Complete
|
|
541
|
+
+ "ok" -- next step
|
|
542
|
+
+ "[feedback]" -- adjust
|
|
543
|
+
====================================================
|
|
544
|
+
```
|
|
545
|
+
|
|
546
|
+
Ответьте `ok` для продолжения.
|
|
547
|
+
|
|
548
|
+
#### Шаг 3: Content Parsing (Парсинг контента)
|
|
549
|
+
|
|
550
|
+
```
|
|
551
|
+
====================================================
|
|
552
|
+
Step 2/6: CONTENT PARSING
|
|
553
|
+
Input: 2,847 words transcript
|
|
554
|
+
|
|
555
|
+
Detected speakers: 2 (Speaker A, Speaker B)
|
|
556
|
+
Sections identified: 10
|
|
557
|
+
1. Introduction (0:00-1:23)
|
|
558
|
+
2. Topic Overview (1:23-3:45)
|
|
559
|
+
3. Main Discussion Part 1 (3:45-6:12)
|
|
560
|
+
...
|
|
561
|
+
|
|
562
|
+
Timestamps mapped: 42 anchor points
|
|
563
|
+
Key quotes extracted: 8
|
|
564
|
+
|
|
565
|
+
Checkpoint 2/6: Content Parsing Complete
|
|
566
|
+
+ "ok" -- next step
|
|
567
|
+
+ "split [section]" -- split a section
|
|
568
|
+
+ "merge [sections]" -- merge sections
|
|
569
|
+
====================================================
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
#### Шаг 4: Site Generation (Генерация HTML)
|
|
573
|
+
|
|
574
|
+
```
|
|
575
|
+
====================================================
|
|
576
|
+
Step 3/6: SITE GENERATION
|
|
577
|
+
Template: YouTube transcript (with embed)
|
|
578
|
+
Theme: default (indigo)
|
|
579
|
+
Language: en
|
|
580
|
+
|
|
581
|
+
Generating HTML structure...
|
|
582
|
+
index.html (48 KB)
|
|
583
|
+
- Tailwind CSS CDN loaded
|
|
584
|
+
- YouTube iframe embed with enablejsapi=1
|
|
585
|
+
- Table of contents with 10 sections
|
|
586
|
+
- 42 timestamp links with data-seek attributes
|
|
587
|
+
- Speaker labels with color coding
|
|
588
|
+
- SEO meta tags (OG, Twitter Card, JSON-LD VideoObject)
|
|
589
|
+
|
|
590
|
+
Checkpoint 3/6: Site Generation Complete
|
|
591
|
+
Files created: docs/index.html
|
|
592
|
+
+ "ok" -- next step
|
|
593
|
+
+ "change theme [color]" -- adjust color scheme
|
|
594
|
+
+ "add [feature]" -- add feature
|
|
595
|
+
====================================================
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
#### Шаг 5: Interactivity (Интерактивность)
|
|
599
|
+
|
|
600
|
+
```
|
|
601
|
+
====================================================
|
|
602
|
+
Step 4/6: INTERACTIVITY
|
|
603
|
+
Adding interactive features...
|
|
604
|
+
|
|
605
|
+
+ Search (Ctrl+K): debounced input, highlighted results
|
|
606
|
+
+ Dark mode toggle: localStorage persistence
|
|
607
|
+
+ Table of Contents: IntersectionObserver scroll-spy
|
|
608
|
+
+ Back-to-top button: appears on scroll > 300px
|
|
609
|
+
+ Copy quote buttons: Clipboard API with feedback
|
|
610
|
+
+ YouTube sync: timestamp clicks trigger seekTo()
|
|
611
|
+
+ Progress bar: reading progress indicator
|
|
612
|
+
+ Stats: word count, reading time, section count
|
|
613
|
+
+ Print stylesheet: clean print layout
|
|
614
|
+
|
|
615
|
+
All features: vanilla JS, no build step, event delegation
|
|
616
|
+
|
|
617
|
+
Checkpoint 4/6: Interactivity Complete
|
|
618
|
+
Files created: docs/index.html (updated, 62 KB)
|
|
619
|
+
+ "ok" -- next step
|
|
620
|
+
+ "remove [feature]" -- disable a feature
|
|
621
|
+
====================================================
|
|
622
|
+
```
|
|
623
|
+
|
|
624
|
+
#### Шаг 6: Deploy (Деплой)
|
|
625
|
+
|
|
626
|
+
```
|
|
627
|
+
====================================================
|
|
628
|
+
Step 5/6: DEPLOY CONFIGURATION
|
|
629
|
+
Target: GitHub Pages (docs/ folder)
|
|
630
|
+
|
|
631
|
+
Generated:
|
|
632
|
+
docs/index.html -- Main transcript page
|
|
633
|
+
docs/robots.txt -- Search engine configuration
|
|
634
|
+
docs/sitemap.xml -- Sitemap for SEO
|
|
635
|
+
|
|
636
|
+
GitHub Pages setup:
|
|
637
|
+
1. Push docs/ to your repository
|
|
638
|
+
2. Go to Settings > Pages
|
|
639
|
+
3. Source: "Deploy from a branch"
|
|
640
|
+
4. Branch: main, folder: /docs
|
|
641
|
+
5. Site will be live at https://<user>.github.io/<repo>/
|
|
642
|
+
|
|
643
|
+
Checkpoint 5/6: Deploy Configuration Complete
|
|
644
|
+
+ "ok" -- next step
|
|
645
|
+
+ "custom domain [domain]" -- configure custom domain
|
|
646
|
+
====================================================
|
|
647
|
+
```
|
|
648
|
+
|
|
649
|
+
#### Шаг 7: Verification (Верификация)
|
|
650
|
+
|
|
651
|
+
```
|
|
652
|
+
====================================================
|
|
653
|
+
Step 6/6: VERIFICATION
|
|
654
|
+
|
|
655
|
+
HTML validation:
|
|
656
|
+
+ Valid HTML5 structure
|
|
657
|
+
+ All tags properly closed
|
|
658
|
+
+ No deprecated attributes
|
|
659
|
+
|
|
660
|
+
JS validation:
|
|
661
|
+
+ No syntax errors
|
|
662
|
+
+ Event delegation verified (no inline handlers)
|
|
663
|
+
+ escapeHtml/escapeRegex functions present
|
|
664
|
+
|
|
665
|
+
CSS validation:
|
|
666
|
+
+ Tailwind CDN loaded correctly
|
|
667
|
+
+ Dark mode classes present
|
|
668
|
+
+ Print stylesheet included
|
|
669
|
+
|
|
670
|
+
SEO validation:
|
|
671
|
+
+ Open Graph tags present (og:title, og:description, og:image)
|
|
672
|
+
+ Twitter Card tags present
|
|
673
|
+
+ JSON-LD structured data present
|
|
674
|
+
+ Canonical URL set
|
|
675
|
+
|
|
676
|
+
Accessibility validation:
|
|
677
|
+
+ Skip-nav link present
|
|
678
|
+
+ ARIA roles on navigation and main content
|
|
679
|
+
+ Keyboard navigation for search (Escape to close)
|
|
680
|
+
+ Alt text on images
|
|
681
|
+
|
|
682
|
+
Performance:
|
|
683
|
+
+ Total HTML size: 62 KB (under 100 KB target)
|
|
684
|
+
+ No external JS dependencies (except Tailwind CDN)
|
|
685
|
+
+ No render-blocking resources
|
|
686
|
+
|
|
687
|
+
All checks passed!
|
|
688
|
+
|
|
689
|
+
====================================================
|
|
690
|
+
PIPELINE COMPLETE
|
|
691
|
+
|
|
692
|
+
Transcript site generated successfully!
|
|
693
|
+
|
|
694
|
+
Output: docs/index.html (62 KB)
|
|
695
|
+
- 10 sections, 42 timestamps, 8 key quotes
|
|
696
|
+
- YouTube embed with sync
|
|
697
|
+
- Search, dark mode, TOC, copy quotes
|
|
698
|
+
- SEO: OG + Twitter Cards + JSON-LD
|
|
699
|
+
- Ready for GitHub Pages deployment
|
|
700
|
+
|
|
701
|
+
To preview locally:
|
|
702
|
+
open docs/index.html
|
|
703
|
+
|
|
704
|
+
To deploy:
|
|
705
|
+
git add docs/
|
|
706
|
+
git commit -m "add transcript site"
|
|
707
|
+
git push
|
|
708
|
+
====================================================
|
|
709
|
+
```
|
|
710
|
+
|
|
711
|
+
### 7.2. Сценарий B: Текстовый транскрипт
|
|
712
|
+
|
|
713
|
+
Если у вас нет YouTube URL, вставьте текст транскрипта напрямую:
|
|
714
|
+
|
|
715
|
+
```
|
|
716
|
+
/transcript-site
|
|
717
|
+
|
|
718
|
+
Вставьте текст транскрипта:
|
|
719
|
+
---
|
|
720
|
+
[00:00] Host: Welcome to the podcast...
|
|
721
|
+
[00:15] Guest: Thank you for having me...
|
|
722
|
+
...
|
|
723
|
+
---
|
|
724
|
+
```
|
|
725
|
+
|
|
726
|
+
Или укажите путь к файлу:
|
|
727
|
+
|
|
728
|
+
```
|
|
729
|
+
/transcript-site /path/to/transcript.txt
|
|
730
|
+
```
|
|
731
|
+
|
|
732
|
+
Пайплайн идентичен, за исключением YouTube-специфичных шагов:
|
|
733
|
+
- Шаг 1 определит source type как `text` или `file`
|
|
734
|
+
- Шаг 3 не добавит YouTube embed
|
|
735
|
+
- Шаг 4 не добавит timestamp-sync с видео
|
|
736
|
+
- Всё остальное (search, dark mode, TOC, copy, SEO) работает так же
|
|
737
|
+
|
|
738
|
+
### 7.3. Сценарий C: Комбинированный (текст + YouTube)
|
|
739
|
+
|
|
740
|
+
Можно указать и URL, и текст (если авто-извлечённые субтитры неточны):
|
|
741
|
+
|
|
742
|
+
```
|
|
743
|
+
/transcript-site https://youtube.com/watch?v=... --text /path/to/corrected-transcript.txt
|
|
744
|
+
```
|
|
745
|
+
|
|
746
|
+
Скилл использует предоставленный текст для контента, а YouTube URL — для embed и метаданных.
|
|
747
|
+
|
|
748
|
+
---
|
|
749
|
+
|
|
750
|
+
## 8. Интеграция с @dzhechkov/keysarium
|
|
751
|
+
|
|
752
|
+
### 8.1. Автоматическое определение
|
|
753
|
+
|
|
754
|
+
При запуске `npx @dzhechkov/skills-transcript-site init` в директории, где уже установлен Keysarium (есть файл `.keysarium.json`), скилл автоматически выводит сообщение об интеграции и настраивается соответствующим образом.
|
|
755
|
+
|
|
756
|
+
Проверить интеграцию можно через `doctor`:
|
|
757
|
+
|
|
758
|
+
```bash
|
|
759
|
+
npx @dzhechkov/skills-transcript-site doctor
|
|
760
|
+
```
|
|
761
|
+
|
|
762
|
+
Строка `Keysarium integration` в выводе покажет статус:
|
|
763
|
+
- `Active (Keysarium v1.0.0)` — интеграция активна
|
|
764
|
+
- `Not installed (standalone mode)` — скилл работает автономно
|
|
765
|
+
|
|
766
|
+
### 8.2. Совместные сценарии
|
|
767
|
+
|
|
768
|
+
| Сценарий | Команда |
|
|
769
|
+
|---------|---------|
|
|
770
|
+
| Сайт из executive summary | `/transcript-site researches/<slug>/08_executive_summary.md` |
|
|
771
|
+
| Сайт из транскрипта конференции | `/transcript-site https://youtube.com/watch?v=...` |
|
|
772
|
+
| Сайт из speaker script | `/transcript-site researches/<slug>/06_speaker_script.md` |
|
|
773
|
+
| Оценка сгенерированного сайта | `/bto-test docs/index.html` |
|
|
774
|
+
|
|
775
|
+
### 8.3. Параллельное использование
|
|
776
|
+
|
|
777
|
+
Все команды доступны одновременно в одной сессии Claude Code. Пример workflow:
|
|
778
|
+
|
|
779
|
+
```
|
|
780
|
+
# Шаг 1: Исследование кейса
|
|
781
|
+
/casarium [описание кейса]
|
|
782
|
+
|
|
783
|
+
# Шаг 2: После завершения исследования — создать сайт из результатов
|
|
784
|
+
/transcript-site researches/my-case/05_presentation_content.md
|
|
785
|
+
|
|
786
|
+
# Шаг 3: Оценить сайт через BTO
|
|
787
|
+
/bto-test docs/index.html
|
|
788
|
+
```
|
|
789
|
+
|
|
790
|
+
---
|
|
791
|
+
|
|
792
|
+
## 9. Обновление и удаление
|
|
793
|
+
|
|
794
|
+
### 9.1. Обновление установки
|
|
795
|
+
|
|
796
|
+
Для обновления Transcript Site до последней версии:
|
|
797
|
+
|
|
798
|
+
```bash
|
|
799
|
+
npx @dzhechkov/skills-transcript-site update
|
|
800
|
+
```
|
|
801
|
+
|
|
802
|
+
Команда `update`:
|
|
803
|
+
1. Читает манифест `.transcript-site-skills.json`, определяет установленные компоненты
|
|
804
|
+
2. Сравнивает текущие файлы с шаблонами нового пакета
|
|
805
|
+
3. Показывает diff по каждому изменённому файлу
|
|
806
|
+
4. Запрашивает подтверждение перед обновлением
|
|
807
|
+
|
|
808
|
+
```bash
|
|
809
|
+
# Предпросмотр изменений без записи
|
|
810
|
+
npx @dzhechkov/skills-transcript-site update --dry-run
|
|
811
|
+
```
|
|
812
|
+
|
|
813
|
+
> **Рекомендация:** Перед обновлением зафиксируйте текущее состояние в git:
|
|
814
|
+
> ```bash
|
|
815
|
+
> git add .claude/ .transcript-site-skills.json
|
|
816
|
+
> git commit -m "snapshot before skills-transcript-site update"
|
|
817
|
+
> ```
|
|
818
|
+
|
|
819
|
+
### 9.2. Удаление установки
|
|
820
|
+
|
|
821
|
+
```bash
|
|
822
|
+
npx @dzhechkov/skills-transcript-site remove
|
|
823
|
+
```
|
|
824
|
+
|
|
825
|
+
Команда `remove` удаляет только файлы, перечисленные в манифесте. Файлы Keysarium (если они есть в тех же директориях) не затрагиваются. Сгенерированные сайты в `docs/` НЕ удаляются — они являются продуктом работы, а не частью установки.
|
|
826
|
+
|
|
827
|
+
После удаления манифест `.transcript-site-skills.json` также удаляется.
|
|
828
|
+
|
|
829
|
+
---
|
|
830
|
+
|
|
831
|
+
## 10. Устранение неполадок
|
|
832
|
+
|
|
833
|
+
### 10.1. Ошибка: "yt-dlp not found"
|
|
834
|
+
|
|
835
|
+
```
|
|
836
|
+
WARN yt-dlp is not installed or not in PATH.
|
|
837
|
+
YouTube URL provided but cannot extract transcript.
|
|
838
|
+
```
|
|
839
|
+
|
|
840
|
+
**Причина:** `yt-dlp` не установлен или не доступен в `PATH`.
|
|
841
|
+
|
|
842
|
+
**Решение:**
|
|
843
|
+
|
|
844
|
+
```bash
|
|
845
|
+
# Вариант 1: установить yt-dlp
|
|
846
|
+
pip install yt-dlp
|
|
847
|
+
|
|
848
|
+
# Вариант 2: установить через brew (macOS)
|
|
849
|
+
brew install yt-dlp
|
|
850
|
+
|
|
851
|
+
# Вариант 3: вставить транскрипт вручную
|
|
852
|
+
# При запуске /transcript-site без yt-dlp скилл предложит
|
|
853
|
+
# вставить текст транскрипта вручную
|
|
854
|
+
|
|
855
|
+
# Проверить, что yt-dlp виден из PATH
|
|
856
|
+
which yt-dlp
|
|
857
|
+
yt-dlp --version
|
|
858
|
+
```
|
|
859
|
+
|
|
860
|
+
Если `yt-dlp` установлен через pip, убедитесь, что Python `bin/` директория в `PATH`:
|
|
861
|
+
|
|
862
|
+
```bash
|
|
863
|
+
# Найти расположение yt-dlp
|
|
864
|
+
python -m site --user-base
|
|
865
|
+
# Добавить bin/ в PATH (Linux/macOS)
|
|
866
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
867
|
+
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
|
|
868
|
+
source ~/.bashrc
|
|
869
|
+
```
|
|
870
|
+
|
|
871
|
+
### 10.2. Ошибка: "node not found" или устаревшая версия
|
|
872
|
+
|
|
873
|
+
```
|
|
874
|
+
ERROR Node.js is required but not found, or version is below 16.
|
|
875
|
+
```
|
|
876
|
+
|
|
877
|
+
**Решение:**
|
|
878
|
+
|
|
879
|
+
```bash
|
|
880
|
+
# Установить через nvm (рекомендуется)
|
|
881
|
+
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
|
|
882
|
+
source ~/.bashrc
|
|
883
|
+
nvm install 20
|
|
884
|
+
nvm use 20
|
|
885
|
+
```
|
|
886
|
+
|
|
887
|
+
### 10.3. Большой транскрипт: chunking
|
|
888
|
+
|
|
889
|
+
```
|
|
890
|
+
WARN Transcript is very large (15,000+ words).
|
|
891
|
+
Consider chunking into multiple pages.
|
|
892
|
+
```
|
|
893
|
+
|
|
894
|
+
**Причина:** Транскрипты длиннее 15,000 слов генерируют HTML файлы больше 200 KB, что замедляет загрузку.
|
|
895
|
+
|
|
896
|
+
**Решение:**
|
|
897
|
+
|
|
898
|
+
Скилл предложит два варианта:
|
|
899
|
+
1. **Single page с lazy loading:** Контент ниже viewport загружается по мере скролла. Работает для транскриптов до 30,000 слов.
|
|
900
|
+
2. **Multi-page:** Транскрипт разбивается по секциям на отдельные HTML-страницы с навигацией. Рекомендуется для транскриптов свыше 30,000 слов.
|
|
901
|
+
|
|
902
|
+
Для принудительного выбора стратегии:
|
|
903
|
+
|
|
904
|
+
```
|
|
905
|
+
/transcript-site [source] --chunking single
|
|
906
|
+
/transcript-site [source] --chunking multi
|
|
907
|
+
```
|
|
908
|
+
|
|
909
|
+
### 10.4. GitHub Pages 404
|
|
910
|
+
|
|
911
|
+
После деплоя сайт показывает 404.
|
|
912
|
+
|
|
913
|
+
**Причина 1:** GitHub Pages не настроен на директорию `docs/`.
|
|
914
|
+
|
|
915
|
+
**Решение:**
|
|
916
|
+
1. Перейдите в Settings > Pages в репозитории
|
|
917
|
+
2. Source: "Deploy from a branch"
|
|
918
|
+
3. Branch: `main` (или ваша ветка), Folder: `/docs`
|
|
919
|
+
4. Нажмите Save
|
|
920
|
+
5. Подождите 1-2 минуты, пока GitHub обработает деплой
|
|
921
|
+
|
|
922
|
+
**Причина 2:** Файл `docs/index.html` не зафиксирован в git.
|
|
923
|
+
|
|
924
|
+
**Решение:**
|
|
925
|
+
```bash
|
|
926
|
+
git add docs/
|
|
927
|
+
git commit -m "add transcript site"
|
|
928
|
+
git push origin main
|
|
929
|
+
```
|
|
930
|
+
|
|
931
|
+
**Причина 3:** Репозиторий приватный (GitHub Pages для приватных репо требует GitHub Pro).
|
|
932
|
+
|
|
933
|
+
**Решение:** Сделайте репозиторий публичным или используйте GitHub Pro/Team/Enterprise.
|
|
934
|
+
|
|
935
|
+
### 10.5. YouTube video не имеет субтитров
|
|
936
|
+
|
|
937
|
+
```
|
|
938
|
+
WARN No subtitles found for video dQw4w9WgXcQ.
|
|
939
|
+
Auto-generated captions not available.
|
|
940
|
+
```
|
|
941
|
+
|
|
942
|
+
**Решение:**
|
|
943
|
+
|
|
944
|
+
```bash
|
|
945
|
+
# Проверить доступность субтитров вручную
|
|
946
|
+
yt-dlp --list-subs https://youtube.com/watch?v=VIDEO_ID
|
|
947
|
+
|
|
948
|
+
# Если субтитров нет — используйте текстовый ввод
|
|
949
|
+
/transcript-site
|
|
950
|
+
# Затем вставьте транскрипт вручную
|
|
951
|
+
```
|
|
952
|
+
|
|
953
|
+
Для видео без субтитров можно использовать сторонние сервисы для транскрипции (Whisper, AssemblyAI, etc.), затем подать результат как текст.
|
|
954
|
+
|
|
955
|
+
### 10.6. Tailwind CDN не загружается (оффлайн)
|
|
956
|
+
|
|
957
|
+
```
|
|
958
|
+
WARN Tailwind CSS Play CDN requires internet connection.
|
|
959
|
+
Site will render without styles if opened offline.
|
|
960
|
+
```
|
|
961
|
+
|
|
962
|
+
**Решение для оффлайн-использования:**
|
|
963
|
+
|
|
964
|
+
Скилл может сгенерировать инлайн-стили вместо CDN:
|
|
965
|
+
|
|
966
|
+
```
|
|
967
|
+
/transcript-site [source] --tailwind inline
|
|
968
|
+
```
|
|
969
|
+
|
|
970
|
+
Это увеличит размер HTML на ~15-20 KB, но сайт будет работать полностью оффлайн.
|
|
971
|
+
|
|
972
|
+
### 10.7. Кодировка текста: кракозябры
|
|
973
|
+
|
|
974
|
+
**Причина:** Входной файл не в UTF-8.
|
|
975
|
+
|
|
976
|
+
**Решение:**
|
|
977
|
+
|
|
978
|
+
```bash
|
|
979
|
+
# Проверить кодировку файла
|
|
980
|
+
file transcript.txt
|
|
981
|
+
|
|
982
|
+
# Конвертировать в UTF-8
|
|
983
|
+
iconv -f WINDOWS-1251 -t UTF-8 transcript.txt > transcript-utf8.txt
|
|
984
|
+
|
|
985
|
+
# Использовать конвертированный файл
|
|
986
|
+
/transcript-site transcript-utf8.txt
|
|
987
|
+
```
|
|
988
|
+
|
|
989
|
+
### 10.8. Команды /transcript-site* не отображаются в Claude Code
|
|
990
|
+
|
|
991
|
+
**Причина 1:** Claude Code запущен не в директории проекта.
|
|
992
|
+
|
|
993
|
+
**Решение:**
|
|
994
|
+
```bash
|
|
995
|
+
ls .transcript-site-skills.json
|
|
996
|
+
# Если файл не найден — перейдите в правильную директорию
|
|
997
|
+
```
|
|
998
|
+
|
|
999
|
+
**Причина 2:** Claude Code был открыт до установки скилла.
|
|
1000
|
+
|
|
1001
|
+
**Решение:** Закройте и снова откройте Claude Code.
|
|
1002
|
+
|
|
1003
|
+
### 10.9. Dark mode не переключается
|
|
1004
|
+
|
|
1005
|
+
**Причина:** JavaScript заблокирован в браузере или CSP заголовки блокируют inline-скрипты.
|
|
1006
|
+
|
|
1007
|
+
**Решение:** Убедитесь, что JavaScript включён. Если используете CSP, добавьте `'unsafe-inline'` для скриптов или используйте nonce (скилл поддерживает конфигурацию CSP).
|
|
1008
|
+
|
|
1009
|
+
### 10.10. Таблица кодов выхода CLI
|
|
1010
|
+
|
|
1011
|
+
| Код | Значение |
|
|
1012
|
+
|-----|---------|
|
|
1013
|
+
| `0` | Успешное выполнение |
|
|
1014
|
+
| `1` | Ошибка (неверные аргументы, файлы не найдены, проверки не пройдены) |
|
|
1015
|
+
|
|
1016
|
+
При коде выхода `1` в `doctor` — прочитайте раздел "Fix suggestions" в выводе. При коде `1` в `init` или `update` — прочитайте сообщение об ошибке и следуйте инструкциям.
|
|
1017
|
+
|
|
1018
|
+
### 10.11. Полезные диагностические команды
|
|
1019
|
+
|
|
1020
|
+
```bash
|
|
1021
|
+
# Полная диагностика
|
|
1022
|
+
npx @dzhechkov/skills-transcript-site doctor
|
|
1023
|
+
|
|
1024
|
+
# Проверка yt-dlp
|
|
1025
|
+
yt-dlp --version
|
|
1026
|
+
yt-dlp --list-subs https://youtube.com/watch?v=VIDEO_ID
|
|
1027
|
+
|
|
1028
|
+
# Проверка Node.js
|
|
1029
|
+
node --version
|
|
1030
|
+
npm --version
|
|
1031
|
+
|
|
1032
|
+
# Проверка Claude Code
|
|
1033
|
+
claude --version
|
|
1034
|
+
|
|
1035
|
+
# Проверка файлов скилла
|
|
1036
|
+
ls -la .claude/skills/transcript-site-generator/
|
|
1037
|
+
ls -la .claude/commands/transcript-site*.md
|
|
1038
|
+
|
|
1039
|
+
# Проверка сгенерированного сайта
|
|
1040
|
+
ls -la docs/
|
|
1041
|
+
wc -c docs/index.html # размер в байтах
|
|
1042
|
+
```
|