@dzhechkov/keysarium 1.4.0 → 1.5.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 (79) hide show
  1. package/README.md +50 -3
  2. package/bin/cli.js +0 -0
  3. package/package.json +5 -3
  4. package/templates/.claude/commands/analyst-manual.md +38 -0
  5. package/templates/.claude/commands/casarium.md +55 -4
  6. package/templates/.claude/commands/feature-adr.md +8 -0
  7. package/templates/.claude/rules/trust-tiers.md +5 -0
  8. package/templates/.claude/shards/feature-adr.shard.md +64 -10
  9. package/templates/.claude/shards/phase-ai-factory.shard.md +109 -0
  10. package/templates/.claude/skills/ai-factory-mapper/README.md +90 -0
  11. package/templates/.claude/skills/ai-factory-mapper/SKILL.md +309 -0
  12. package/templates/.claude/skills/ai-factory-mapper/assets/report-template.md +123 -0
  13. package/templates/.claude/skills/ai-factory-mapper/references/catalog.md +230 -0
  14. package/templates/.claude/skills/ai-factory-mapper/references/coverage-formula.md +219 -0
  15. package/templates/.claude/skills/ai-factory-mapper/references/decomposition-checklist.md +183 -0
  16. package/templates/.claude/skills/ai-factory-mapper/references/pattern-library.md +312 -0
  17. package/templates/.claude/skills/ai-factory-mapper/scripts/build_docx_report.js +423 -0
  18. package/templates/.claude/skills/analyst-manual-full/SKILL.md +286 -0
  19. package/templates/.claude/skills/edu-site-generator/SKILL.md +254 -0
  20. package/templates/.claude/skills/edu-site-generator/examples/sample-course-structure.md +116 -0
  21. package/templates/.claude/skills/edu-site-generator/modules/00-content-analysis.md +84 -0
  22. package/templates/.claude/skills/edu-site-generator/modules/01-course-structure.md +75 -0
  23. package/templates/.claude/skills/edu-site-generator/modules/02-data-generation.md +186 -0
  24. package/templates/.claude/skills/edu-site-generator/modules/03-scaffold.md +249 -0
  25. package/templates/.claude/skills/edu-site-generator/modules/04-components.md +130 -0
  26. package/templates/.claude/skills/edu-site-generator/modules/05-gamification.md +163 -0
  27. package/templates/.claude/skills/edu-site-generator/modules/06-deploy.md +88 -0
  28. package/templates/.claude/skills/edu-site-generator/modules/07-verification.md +97 -0
  29. package/templates/.claude/skills/edu-site-generator/references/component-templates.md +436 -0
  30. package/templates/.claude/skills/edu-site-generator/references/data-schemas.md +164 -0
  31. package/templates/.claude/skills/edu-site-generator/references/exercise-catalog.md +110 -0
  32. package/templates/.claude/skills/edu-site-generator/references/tech-stack.md +69 -0
  33. package/templates/.claude/skills/feature-adr/SKILL.md +245 -59
  34. package/templates/.claude/skills/feature-adr/modules/03-adr.md +43 -0
  35. package/templates/.claude/skills/feature-adr/modules/03.5-ideation-swarm.md +180 -0
  36. package/templates/.claude/skills/feature-adr/modules/06-implementation-plan.md +56 -7
  37. package/templates/.claude/skills/feature-adr/modules/08-qe.md +87 -23
  38. package/templates/.claude/skills/feature-adr/modules/09-fleet-qe.md +305 -0
  39. package/templates/.claude/skills/feature-adr/references/agentic-qe/README.md +143 -0
  40. package/templates/.claude/skills/feature-adr/references/agentic-qe/brutal-honesty-review.md +240 -0
  41. package/templates/.claude/skills/feature-adr/references/agentic-qe/chaos-engineering-resilience.md +163 -0
  42. package/templates/.claude/skills/feature-adr/references/agentic-qe/code-goal-planner.md +446 -0
  43. package/templates/.claude/skills/feature-adr/references/agentic-qe/enterprise-integration-testing.md +111 -0
  44. package/templates/.claude/skills/feature-adr/references/agentic-qe/mutation-testing.md +236 -0
  45. package/templates/.claude/skills/feature-adr/references/agentic-qe/performance-testing.md +315 -0
  46. package/templates/.claude/skills/feature-adr/references/agentic-qe/qcsd-ideation-swarm.md +126 -0
  47. package/templates/.claude/skills/feature-adr/references/agentic-qe/qcsd-production-swarm.md +108 -0
  48. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-coverage-analysis.md +193 -0
  49. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-requirements-validation.md +254 -0
  50. package/templates/.claude/skills/feature-adr/references/agentic-qe/regression-testing.md +233 -0
  51. package/templates/.claude/skills/feature-adr/references/agentic-qe/risk-based-testing.md +212 -0
  52. package/templates/.claude/skills/feature-adr/references/agentic-qe/security-testing.md +311 -0
  53. package/templates/.claude/skills/feature-adr/references/agentic-qe/shift-left-testing.md +231 -0
  54. package/templates/.claude/skills/feature-adr/references/agentic-qe/tdd-london-chicago.md +249 -0
  55. package/templates/.claude/skills/transcript-site-generator/SKILL.md +287 -0
  56. package/templates/.claude/skills/transcript-site-generator/examples/sample-text-only-site.md +123 -0
  57. package/templates/.claude/skills/transcript-site-generator/examples/sample-transcript-site.md +134 -0
  58. package/templates/.claude/skills/transcript-site-generator/modules/00-input-analysis.md +132 -0
  59. package/templates/.claude/skills/transcript-site-generator/modules/01-content-parsing.md +117 -0
  60. package/templates/.claude/skills/transcript-site-generator/modules/02-site-generation.md +293 -0
  61. package/templates/.claude/skills/transcript-site-generator/modules/03-interactivity.md +406 -0
  62. package/templates/.claude/skills/transcript-site-generator/modules/04-deploy.md +130 -0
  63. package/templates/.claude/skills/transcript-site-generator/modules/05-verification.md +155 -0
  64. package/templates/.claude/skills/transcript-site-generator/references/component-catalog.md +86 -0
  65. package/templates/.claude/skills/transcript-site-generator/references/data-schemas.md +123 -0
  66. package/templates/.claude/skills/transcript-site-generator/references/tech-stack.md +132 -0
  67. package/templates/CLAUDE.md +9 -2
  68. package/templates/docs/edu-site-generator/01-deployment-guide.md +911 -0
  69. package/templates/docs/edu-site-generator/02-admin-guide.md +901 -0
  70. package/templates/docs/edu-site-generator/03-user-guide.md +1008 -0
  71. package/templates/docs/edu-site-generator/04-infrastructure-requirements.md +489 -0
  72. package/templates/docs/edu-site-generator/05-architecture.md +902 -0
  73. package/templates/docs/edu-site-generator/06-user-flows.md +759 -0
  74. package/templates/docs/transcript-site-generator/01-deployment-guide.md +1042 -0
  75. package/templates/docs/transcript-site-generator/02-admin-guide.md +918 -0
  76. package/templates/docs/transcript-site-generator/03-user-guide.md +925 -0
  77. package/templates/docs/transcript-site-generator/04-infrastructure-requirements.md +482 -0
  78. package/templates/docs/transcript-site-generator/05-architecture.md +1068 -0
  79. package/templates/docs/transcript-site-generator/06-user-flows.md +855 -0
@@ -0,0 +1,482 @@
1
+ # Infrastructure Requirements -- @dzhechkov/skills-transcript-site
2
+
3
+ ## Contents
4
+
5
+ 1. [Overview](#1-overview)
6
+ 2. [Minimal Requirements](#2-minimal-requirements)
7
+ 3. [Optional Dependencies](#3-optional-dependencies)
8
+ 4. [CDN Dependencies](#4-cdn-dependencies)
9
+ 5. [Network Requirements](#5-network-requirements)
10
+ 6. [Storage Requirements](#6-storage-requirements)
11
+ 7. [Hosting Options](#7-hosting-options)
12
+ 8. [Scaling Considerations](#8-scaling-considerations)
13
+ 9. [Cost Analysis](#9-cost-analysis)
14
+ 10. [Readiness Checklist](#10-readiness-checklist)
15
+
16
+ ---
17
+
18
+ ## 1. Overview
19
+
20
+ @dzhechkov/skills-transcript-site is a zero-infrastructure tool. It generates pure static HTML files that require no server, no database, no build step, and no persistent process. The generated site is a single HTML file (or a few HTML files for chunked transcripts) that can be opened directly in a browser or hosted on any static file server.
21
+
22
+ ### Architecture
23
+
24
+ ```
25
+ +--------------------------------------------------+
26
+ | Developer Machine |
27
+ | |
28
+ | +-------------------------------------------+ |
29
+ | | Claude Code CLI | |
30
+ | | +-- .claude/skills/transcript-site/ | |
31
+ | | | +-- SKILL.md | |
32
+ | | | +-- modules/ (6 pipeline steps) | |
33
+ | | | +-- references/ (templates, SEO) | |
34
+ | | +-- .claude/commands/ | |
35
+ | | +-- transcript-site.md | |
36
+ | | +-- transcript-site-generate.md | |
37
+ | | +-- transcript-site-deploy.md | |
38
+ | +---------------+---------------------------+ |
39
+ | | HTTPS (port 443) |
40
+ +------------------+-------------------------------+
41
+ |
42
+ +-------v--------+
43
+ | Anthropic API |
44
+ | (content gen) |
45
+ +----------------+
46
+
47
+ +--------------------------------------------------+
48
+ | Generated Output |
49
+ | |
50
+ | docs/ |
51
+ | +-- index.html (~50-100 KB, self-contained) |
52
+ | +-- robots.txt (~50 bytes) |
53
+ | +-- sitemap.xml (~300 bytes) |
54
+ | |
55
+ | Runtime CDN dependencies: |
56
+ | +-- cdn.tailwindcss.com (CSS framework) |
57
+ | +-- cdnjs.cloudflare.com (Font Awesome icons) |
58
+ | +-- www.youtube.com (iframe embed, optional) |
59
+ +--------------------------------------------------+
60
+ ```
61
+
62
+ There are no backend services to operate. No Redis, no databases, no queues. The Anthropic API is used only during generation -- the resulting site is fully static and independent.
63
+
64
+ ---
65
+
66
+ ## 2. Minimal Requirements
67
+
68
+ ### 2.1. For generation (creating the site)
69
+
70
+ | Component | Requirement | Check |
71
+ |-----------|------------|-------|
72
+ | Node.js | 16+ (20+ recommended) | `node --version` |
73
+ | npm | 8+ | `npm --version` |
74
+ | Claude Code CLI | Latest | `claude --version` |
75
+ | Anthropic API key | Valid key with API access | Environment variable `ANTHROPIC_API_KEY` set |
76
+ | Internet connection | Required during generation | For Anthropic API calls |
77
+
78
+ ### 2.2. For viewing (opening the generated site)
79
+
80
+ | Component | Requirement |
81
+ |-----------|------------|
82
+ | Web browser | Chrome 90+, Firefox 90+, Safari 15+, Edge 90+ |
83
+ | Internet connection | Required for Tailwind CDN (unless `--tailwind inline` was used) |
84
+
85
+ ### 2.3. For deployment (hosting the site)
86
+
87
+ | Component | Requirement |
88
+ |-----------|------------|
89
+ | git | 2.20+ (for GitHub Pages) |
90
+ | GitHub account | Free tier sufficient |
91
+
92
+ No build tools, no bundlers, no package managers are needed for the generated output. The output is plain HTML.
93
+
94
+ ### 2.4. Hardware requirements
95
+
96
+ The generator itself runs within Claude Code and delegates all compute-intensive work to the Anthropic API. Local hardware requirements are minimal:
97
+
98
+ | Component | Minimum | Notes |
99
+ |-----------|---------|-------|
100
+ | CPU | 1 core | Not compute-intensive locally |
101
+ | RAM | 2 GB | Node.js + Claude Code process |
102
+ | Disk | 10 MB free | Generated sites are tiny |
103
+ | Terminal | 80 columns | Wider terminals display pipeline output better |
104
+
105
+ A five-year-old laptop with a stable internet connection is sufficient.
106
+
107
+ ---
108
+
109
+ ## 3. Optional Dependencies
110
+
111
+ ### 3.1. yt-dlp (YouTube extraction)
112
+
113
+ Required only if you want to generate sites from YouTube URLs. Not needed for text input.
114
+
115
+ | Property | Value |
116
+ |----------|-------|
117
+ | Purpose | Extract subtitles and metadata from YouTube |
118
+ | Installation | `pip install yt-dlp` or `brew install yt-dlp` |
119
+ | Check | `yt-dlp --version` |
120
+ | Without it | YouTube URLs not supported; text input still works |
121
+
122
+ ### 3.2. git (deployment)
123
+
124
+ Required only for GitHub Pages deployment. Not needed for local preview.
125
+
126
+ | Property | Value |
127
+ |----------|-------|
128
+ | Purpose | Push generated files to GitHub for hosting |
129
+ | Installation | `apt install git` or `brew install git` |
130
+ | Check | `git --version` |
131
+ | Without it | Local preview works; manual upload to other hosts works |
132
+
133
+ ### 3.3. No other optional dependencies
134
+
135
+ The generator does not use:
136
+ - Python (except for yt-dlp installation via pip)
137
+ - Docker
138
+ - Any database
139
+ - Any build tool (webpack, vite, etc.)
140
+ - Any CSS preprocessor (sass, less, etc.)
141
+ - Any JavaScript framework (React, Vue, etc.)
142
+
143
+ ---
144
+
145
+ ## 4. CDN Dependencies
146
+
147
+ The generated site relies on two CDN resources at runtime (when the user views the page):
148
+
149
+ ### 4.1. Tailwind CSS Play CDN
150
+
151
+ ```
152
+ https://cdn.tailwindcss.com
153
+ ```
154
+
155
+ | Property | Value |
156
+ |----------|-------|
157
+ | Purpose | CSS framework (utility classes) |
158
+ | Size | ~300 KB (cached after first load) |
159
+ | Fallback | Use `--tailwind inline` to eliminate this dependency |
160
+ | SRI | Subresource Integrity hash included in the script tag |
161
+
162
+ ### 4.2. Font Awesome CDN (optional)
163
+
164
+ ```
165
+ https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css
166
+ ```
167
+
168
+ | Property | Value |
169
+ |----------|-------|
170
+ | Purpose | Icons (search, dark mode, copy, etc.) |
171
+ | Size | ~90 KB (cached after first load) |
172
+ | Fallback | Can be replaced with inline SVG icons using `--icons inline` |
173
+ | SRI | Subresource Integrity hash included in the link tag |
174
+
175
+ ### 4.3. YouTube iframe API (conditional)
176
+
177
+ ```
178
+ https://www.youtube.com/embed/VIDEO_ID?enablejsapi=1
179
+ ```
180
+
181
+ | Property | Value |
182
+ |----------|-------|
183
+ | Purpose | Embedded video player with seekTo() support |
184
+ | Loaded when | Source was a YouTube URL and `--no-embed` was not specified |
185
+ | Size | Varies (loaded by YouTube) |
186
+ | Fallback | Use `--no-embed` to generate text-only site |
187
+
188
+ ### 4.4. Fully offline mode
189
+
190
+ To generate a site with zero CDN dependencies:
191
+
192
+ ```
193
+ /transcript-site [source] --tailwind inline --icons inline --no-embed
194
+ ```
195
+
196
+ This produces a single HTML file that works entirely offline. Estimated size increase: +15-25 KB for inlined CSS and SVG icons.
197
+
198
+ ---
199
+
200
+ ## 5. Network Requirements
201
+
202
+ ### 5.1. During generation
203
+
204
+ The generator communicates only with the Anthropic API over HTTPS (port 443). If using YouTube URLs, `yt-dlp` also connects to YouTube.
205
+
206
+ | Destination | Port | Purpose | When |
207
+ |-------------|------|---------|------|
208
+ | `api.anthropic.com` | 443 | AI content generation | Always |
209
+ | `www.youtube.com` | 443 | Subtitle and metadata extraction | YouTube URLs only |
210
+ | `i.ytimg.com` | 443 | Thumbnail download | YouTube URLs only |
211
+
212
+ Total data transferred during generation: under 500 KB (API request/response payloads are text).
213
+
214
+ ### 5.2. During viewing (user opens the site)
215
+
216
+ | Destination | Port | Purpose | When |
217
+ |-------------|------|---------|------|
218
+ | `cdn.tailwindcss.com` | 443 | CSS framework | Default mode (not inline) |
219
+ | `cdnjs.cloudflare.com` | 443 | Icons | Default mode (not inline) |
220
+ | `www.youtube.com` | 443 | Video embed | YouTube source with embed |
221
+
222
+ Total data on first view: ~400-500 KB (mostly cached after first visit).
223
+
224
+ ### 5.3. Bandwidth
225
+
226
+ Generation requires minimal bandwidth. A 3G connection is sufficient. Viewing requires CDN access on first load -- after that, browser cache handles it.
227
+
228
+ ### 5.4. Proxy and firewall
229
+
230
+ If your network uses a proxy or firewall, ensure outbound HTTPS to these domains is permitted:
231
+
232
+ ```
233
+ Required for generation:
234
+ api.anthropic.com:443
235
+
236
+ Required for YouTube extraction:
237
+ www.youtube.com:443
238
+ i.ytimg.com:443
239
+
240
+ Required for viewing (default mode):
241
+ cdn.tailwindcss.com:443
242
+ cdnjs.cloudflare.com:443
243
+ ```
244
+
245
+ ---
246
+
247
+ ## 6. Storage Requirements
248
+
249
+ ### 6.1. Installation footprint
250
+
251
+ | Component | Size |
252
+ |-----------|------|
253
+ | Skill files (SKILL.md, modules/, references/, examples/) | ~70 KB |
254
+ | Commands (3 files) | ~10 KB |
255
+ | Rules (1 file) | ~5 KB |
256
+ | Manifest | ~1 KB |
257
+ | **Total installation** | **~86 KB** |
258
+
259
+ ### 6.2. Generated site size
260
+
261
+ | Transcript length | Output size (CDN mode) | Output size (inline mode) |
262
+ |-------------------|----------------------|--------------------------|
263
+ | 1,000 words | ~20 KB | ~40 KB |
264
+ | 5,000 words | ~40 KB | ~60 KB |
265
+ | 10,000 words | ~65 KB | ~85 KB |
266
+ | 20,000 words | ~110 KB | ~130 KB |
267
+ | 50,000 words (multi-page) | ~50 KB per page | ~70 KB per page |
268
+
269
+ Additional files per site:
270
+ - `robots.txt`: ~50 bytes
271
+ - `sitemap.xml`: ~300 bytes
272
+
273
+ ### 6.3. Long-term storage
274
+
275
+ Each generated site occupies 50-150 KB. A repository with 100 transcript sites uses approximately 10-15 MB. This is negligible for any modern storage system or git repository.
276
+
277
+ ---
278
+
279
+ ## 7. Hosting Options
280
+
281
+ ### 7.1. GitHub Pages (recommended, free)
282
+
283
+ The default deployment target. GitHub Pages serves static files from the `docs/` folder.
284
+
285
+ | Property | Value |
286
+ |----------|-------|
287
+ | Cost | Free (for public repositories) |
288
+ | HTTPS | Automatic (via GitHub) |
289
+ | Custom domain | Supported (via CNAME file) |
290
+ | CDN | GitHub's global CDN |
291
+ | Bandwidth limit | 100 GB/month (soft limit) |
292
+ | Storage limit | 1 GB per repository (soft limit) |
293
+
294
+ Setup:
295
+ 1. Push `docs/` to your repository
296
+ 2. Go to Settings > Pages
297
+ 3. Source: "Deploy from a branch", Branch: main, Folder: `/docs`
298
+
299
+ ### 7.2. Netlify (free tier)
300
+
301
+ Drag and drop the `docs/` folder to Netlify's deploy interface, or connect your git repository.
302
+
303
+ | Property | Value |
304
+ |----------|-------|
305
+ | Cost | Free tier: 100 GB bandwidth/month |
306
+ | HTTPS | Automatic |
307
+ | Custom domain | Supported |
308
+ | Build step | None needed (static files) |
309
+
310
+ ### 7.3. Vercel (free tier)
311
+
312
+ Point Vercel to the `docs/` directory in your repository settings.
313
+
314
+ | Property | Value |
315
+ |----------|-------|
316
+ | Cost | Free tier: 100 GB bandwidth/month |
317
+ | HTTPS | Automatic |
318
+ | Custom domain | Supported |
319
+
320
+ ### 7.4. Any static file server
321
+
322
+ The generated site is a plain HTML file. Serve it from any web server:
323
+
324
+ ```bash
325
+ # Python (quick local server)
326
+ cd docs && python -m http.server 8000
327
+
328
+ # nginx
329
+ cp docs/* /var/www/html/
330
+
331
+ # Apache
332
+ cp docs/* /var/www/html/
333
+
334
+ # AWS S3
335
+ aws s3 sync docs/ s3://my-bucket/ --acl public-read
336
+
337
+ # Cloudflare Pages
338
+ # Connect your git repo and point to docs/
339
+ ```
340
+
341
+ ### 7.5. Local file (no hosting)
342
+
343
+ For personal use or sharing via file transfer, just open `docs/index.html` directly in a browser:
344
+
345
+ ```bash
346
+ open docs/index.html # macOS
347
+ xdg-open docs/index.html # Linux
348
+ start docs\index.html # Windows
349
+ ```
350
+
351
+ No server needed. The file protocol (`file:///`) works for all features except YouTube embed (which requires HTTPS origin for the iframe API).
352
+
353
+ ---
354
+
355
+ ## 8. Scaling Considerations
356
+
357
+ ### 8.1. One site at a time
358
+
359
+ The generator produces one site per invocation. There is no batching or concurrent generation mode. For multiple sites, run the pipeline sequentially:
360
+
361
+ ```
362
+ /transcript-site source1 --output docs/site1/
363
+ /transcript-site source2 --output docs/site2/
364
+ ```
365
+
366
+ ### 8.2. No server-side scaling needed
367
+
368
+ The generated sites are static. They can handle any traffic level without server-side changes. GitHub Pages, Netlify, and similar CDN-backed hosts handle scaling automatically.
369
+
370
+ ### 8.3. Repository size management
371
+
372
+ If you generate many sites in one repository, keep an eye on the total repository size:
373
+
374
+ | Number of sites | Estimated total size | Git-friendly? |
375
+ |----------------|---------------------|---------------|
376
+ | 1-10 | 0.5-1.5 MB | No issues |
377
+ | 10-50 | 1.5-7 MB | No issues |
378
+ | 50-100 | 7-15 MB | Acceptable |
379
+ | 100+ | 15+ MB | Consider separate repos |
380
+
381
+ For large collections, consider a monorepo with separate `docs/` subdirectories or a dedicated repository per site.
382
+
383
+ ---
384
+
385
+ ## 9. Cost Analysis
386
+
387
+ ### 9.1. Generation cost (Anthropic API)
388
+
389
+ The generation pipeline uses the Anthropic API. Token consumption scales with transcript length:
390
+
391
+ | Transcript length | Estimated tokens | Estimated cost |
392
+ |-------------------|-----------------|----------------|
393
+ | 1,000 words | ~15,000 | < $0.10 |
394
+ | 5,000 words | ~30,000 | ~$0.20 |
395
+ | 10,000 words | ~50,000 | ~$0.35 |
396
+ | 25,000 words | ~80,000 | ~$0.55 |
397
+
398
+ These estimates include all 6 pipeline steps.
399
+
400
+ ### 9.2. Hosting cost
401
+
402
+ | Platform | Cost |
403
+ |----------|------|
404
+ | GitHub Pages | Free (public repos) |
405
+ | Netlify free tier | Free (100 GB/month) |
406
+ | Vercel free tier | Free (100 GB/month) |
407
+ | Local file | Free |
408
+ | AWS S3 | ~$0.02/month for a single site |
409
+
410
+ ### 9.3. CDN cost
411
+
412
+ Tailwind CDN and Font Awesome CDN are free. YouTube iframe is free. There are no CDN costs.
413
+
414
+ ### 9.4. Total cost of ownership
415
+
416
+ ```
417
+ Generation: $0.10-$0.55 per site (one-time, Anthropic API)
418
+ Hosting: $0.00 per month (GitHub Pages / Netlify / Vercel free tier)
419
+ CDN: $0.00 per month (Tailwind CDN + Font Awesome CDN are free)
420
+ Infrastructure: $0.00 per month (no server, no database)
421
+ Maintenance: $0.00 per month (static files, no updates needed)
422
+
423
+ Total: $0.10-$0.55 per site, once.
424
+ ```
425
+
426
+ ---
427
+
428
+ ## 10. Readiness Checklist
429
+
430
+ Use this checklist before your first run to confirm the environment is properly configured.
431
+
432
+ ### Software
433
+
434
+ - [ ] Node.js 16+ installed (`node --version` returns v16.x.x or higher)
435
+ - [ ] npm 8+ installed (`npm --version` returns 8.x.x or higher)
436
+ - [ ] Claude Code CLI installed (`claude --version` succeeds)
437
+ - [ ] @dzhechkov/skills-transcript-site initialized (`npx @dzhechkov/skills-transcript-site init` completed)
438
+
439
+ ### Optional
440
+
441
+ - [ ] yt-dlp installed (`yt-dlp --version` succeeds) -- needed for YouTube URLs
442
+ - [ ] git installed (`git --version` succeeds) -- needed for GitHub Pages deployment
443
+
444
+ ### Files
445
+
446
+ - [ ] `.claude/skills/transcript-site-generator/SKILL.md` exists and is non-empty
447
+ - [ ] `.claude/skills/transcript-site-generator/modules/` contains 6 module files
448
+ - [ ] `.claude/skills/transcript-site-generator/references/` contains 4 reference files
449
+ - [ ] `.claude/commands/transcript-site.md` exists
450
+ - [ ] `.claude/commands/transcript-site-generate.md` exists
451
+ - [ ] `.claude/commands/transcript-site-deploy.md` exists
452
+
453
+ ### API access
454
+
455
+ - [ ] `ANTHROPIC_API_KEY` environment variable set, or `claude auth login` completed
456
+ - [ ] Outbound HTTPS to `api.anthropic.com:443` is permitted
457
+
458
+ ### Verification
459
+
460
+ ```bash
461
+ npx @dzhechkov/skills-transcript-site doctor
462
+ ```
463
+
464
+ Expected output when everything is in order:
465
+
466
+ ```
467
+ Transcript Site Doctor -- Health Check
468
+ ---------------------------------------
469
+ Node.js: v20.11.0 OK
470
+ npm: 10.2.4 OK
471
+ Claude Code: 1.x.x OK
472
+ SKILL.md: 12.4 KB OK
473
+ modules/: 6 files OK
474
+ references/: 4 files OK
475
+ commands/: 3 files OK
476
+ yt-dlp: 2024.12 OK (optional)
477
+ API key: present OK (not validated)
478
+ ---------------------------------------
479
+ Status: READY
480
+ Run /transcript-site [source] to generate your first site.
481
+ ---------------------------------------
482
+ ```