The project in one page

What we are building, the six phases, how they connect, what exists today and what the user wants.

TL;DR

The goal is a repeatable way to make YouTube explainers about the collapse of well-known Indian companies, from choosing the niche to a timed voice-over. The user has run it end to end once on Moser Baer (five script versions and a Hinglish voice-over) and once up to a finished English script on Cafe Coffee Day. The research and script parts are written down and mostly automated. The voice-over and video parts are partly built and untested on an audience.

  • The channel: Indian business, series The fall of X / Why X died, language English with a Hinglish version.
  • What the user cares about: research before prose, plain statements of what is unproven, a human story (a person with a want, a number that lands on someone), a voice that sounds spoken, and lessons that carry into the next script by themselves.
  • Where the work lives: .claude/skills/ (the pipeline), research/<topic>/ (one folder per video), src/ (the data and research code), series/ (series specs), reports/ and data/ (local, gitignored).
  • Big risk right now: about 76 changed or new paths are uncommitted on one branch.

The goal

The user is building a production pipeline for a YouTube channel. Phase 1 is a channel in the Indian business ecosystem. Its first series is "Why X died / How X died" (renamed in later work to The fall of X), inspired by the HinExp channel. The user wants to know, for the series and for each topic, what the evidence says before anything is written, and wants the writing process to enforce the lessons from their own reviews mechanically, so that "other videos can be produced with similar consistency easily without needing manual intervention" (the user's words, 2026-10-25), stopping at the quality of Moser Baer v6.

The six phases

PhaseQuestion it answersMain outputPage
A. Ecosystem intelligenceWhich channels and niches exist, which are worth entering?Six niche databases, five channel queues, a niche scorecard02
B. Series researchFor "Why X died": which videos exist, which are worth learning from, what do winners do?series-analysis.db, a ranked learn-from set, two cohorts, a blind script study, a 20-video teardown03
C. Topic selectionWhich subjects draw views? Is this topic worth a script?A scored list of 103 subjects; per-topic gates04
D. Sources and independent researchWhat does YouTube already say, where is it weak, what is actually true?Rival brief, teardown synthesis, FACTS.md05
E. ScriptHow do we turn verified facts into a script that holds attention?SCRIPT-vN.md, chain-vN.json, gate report, hand-off06 to 09
F. Language, voice, videoHow does the script become an audio track and a video?Hinglish script, TTS prompts, beat WAVs, word timing, a video plan11

How the phases connect

A to B

The ecosystem databases give the series study its candidate videos: series/why-x-died.json names researchDb: data/indian-business-ecosystem.db, and the mine command adds on-series videos already stored there.

B to C

The series store is reused by the topic study (topic-study.js --series=fall-of-x), which attributes each on-topic video to the subject its title names first.

B to E

The 20-video teardown gives the genre baseline (what winners do, the title formula, the thumbnail formula). It sets the "table stakes" the script must match and the thresholds in rules.json were calibrated on 8 English winner transcripts from the same cohorts.

C to D

A chosen topic goes to src/topic-research/cli.js (S1), which searches YouTube again, but now for that one subject.

D to E

FACTS.md from stage S3 is the only source of facts for the script. The script's ledger is derived from it.

E to F

The English script is the source of truth. The Hinglish version, the TTS prompts and the timing are all derived from it and checked against it.

What exists

ThingStateWhere
Six niche databases (art, cricket, crochet, geopolitics, Indian business, science)built snapshots 2026-10-11 to 2026-10-20data/*.db (gitignored)
Niche scorecardbuilt Indian business composite 2.38 of 5ecosystem-ratings/scorecard.md
Series study for "Why X died"builtdata/series-analysis.db, reports/series-analysis/
Topic study "The fall of X"built 103 subjects scoredreports/series-analysis/fall-of-x-topics.md
Script pipeline (skill, 70 lint rules, 56 damage tests)built tested on Moser Baer and one run on Cafe Coffee Day.claude/skills/video-script-production/
Moser Baer scriptv7 BAR MET v6 approved by the userresearch/the-fall-of-moser-baer/script/
Cafe Coffee Day scriptv1 BAR MET when written (2026-10-25 morning). Under the later K, L, M rules STATUS-v1.md reads hard gates pass, bar not yet met (K warnings)research/the-fall-of-cafe-coffee-day/script/
Moser Baer Hinglish v7 and Gemini TTS audiogenerated, not listened to by Claude 14 beat WAVsscript/audio/gemini-v7-hinglish/beats/
Word timingpartial beats B1 and B2 aligned; others not runresearch/the-fall-of-moser-baer/video/
Video plan (music, sound, visuals)plan only contains two unfilled placeholdersvideo/PRODUCTION-PLAN.md

Timeline

Dates are the user's local day (IST). The session transcripts store UTC, which is 5 h 30 min earlier. Git dates are from the commit log; the others are file dates.

DateWhat happened
2026-10-17 to 10-20Channel qualification, queue and catalogue-mining reports for the niche databases are generated (reports/).
10-19Initial commit.
10-20Series analysis run for "Why X died" (13:40 UTC report). Two cohorts of 10 winners rated blind; script study written. The 20-video teardown and its synthesis written the same evening.
10-21"Why X died" shortlisted transcripts, cohorts and teardowns committed. List of young channels (under 2 years, 10K+) built.
10-22Google AI Mode proof of concept. Moser Baer research brief, source-channel CSV, all-videos export, transcripts and the 7-video teardown committed.
10-24 (evening)The user reviews Moser Baer v3 and sets lessons A to D. The video-script-production skill is built; v4 written and committed (8257801). Niche scorecard written 22:35.
10-25 (after midnight)Two blind readers run on v4; fixes committed (156897f). This is the last commit.
10-25 (early)Lessons E and F; v5. Topic study finished 04:35. Cafe Coffee Day run starts about 06:52 (01:22 UTC).
10-25 (morning)Lessons G, H, I; v6 approved ("i like v6"). Runbook, quality bar, gate runner and tools written. S1 and S2 documented in full. Cafe Coffee Day v1 reaches BAR MET (07:43 script file).
10-25 (evening)Line-by-line review of the Hinglish v6 becomes lessons K, L, M and v7. Hinglish v7 written. Gemini TTS research and prompts. Gemini audio generated for all 14 beats (16:05). Word-timing pipeline built and run on B1 and B2. Video plan written.
10-27These docs.
Reading the topic order

The repository does not say why Indian business was the niche, or why Moser Baer and Cafe Coffee Day were the first two topics. Moser Baer was researched on 10-22, before the topic study existed. Cafe Coffee Day ranks 10th in the topic study, which finished about two hours before its script run began, but no file says the study drove that choice. Page 04 covers this.

The user, as observed

These come from the user's messages across sessions, recorded in the memory notes and history.md. They are observations, not guesses.

Environment

Machine
Windows 11, Git Bash and PowerShell. About 6 GB of RAM, which limits Whisper to one job at a time.
Runtime
Node 22 or later, no dependencies in the skill; better-sqlite3, express, youtubei.js, youtube-transcript-plus, ytsearch.js for the repo; playwright-core as a dev dependency.
Language models
src/llm.js calls Gemma 4 on the Google Gemini API by default and falls back to an Ollama model. The key is GEMINI_API_KEY in .env (gitignored). Teardown analysts are Sonnet subagents; cohort raters are Haiku.
Python
Only for the video stage: a Python 3.8 virtual environment at C:/Users/nnjha/.venvs/whisper38 with torch 2.4.1 and transformers 4.46.3. Bash's python is Python 2.7 under Cygwin; use py -3.8 or the venv.
Git
Branch research/moser-baer; main branch is main. transcripts/, reports/, data/, .env and node_modules/ are gitignored; research/ is tracked.

Written 2026-10-27 from the repository files and the project memory notes. If a page and a file disagree, the file is right: fix the page.