The project in one page
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/anddata/(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
| Phase | Question it answers | Main output | Page |
|---|---|---|---|
| A. Ecosystem intelligence | Which channels and niches exist, which are worth entering? | Six niche databases, five channel queues, a niche scorecard | 02 |
| B. Series research | For "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 teardown | 03 |
| C. Topic selection | Which subjects draw views? Is this topic worth a script? | A scored list of 103 subjects; per-topic gates | 04 |
| D. Sources and independent research | What does YouTube already say, where is it weak, what is actually true? | Rival brief, teardown synthesis, FACTS.md | 05 |
| E. Script | How do we turn verified facts into a script that holds attention? | SCRIPT-vN.md, chain-vN.json, gate report, hand-off | 06 to 09 |
| F. Language, voice, video | How does the script become an audio track and a video? | Hinglish script, TTS prompts, beat WAVs, word timing, a video plan | 11 |
How the phases connect
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.
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.
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.
A chosen topic goes to src/topic-research/cli.js (S1), which searches YouTube again, but now for that one subject.
FACTS.md from stage S3 is the only source of facts for the script. The script's ledger is derived from it.
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
| Thing | State | Where |
|---|---|---|
| Six niche databases (art, cricket, crochet, geopolitics, Indian business, science) | built snapshots 2026-10-11 to 2026-10-20 | data/*.db (gitignored) |
| Niche scorecard | built Indian business composite 2.38 of 5 | ecosystem-ratings/scorecard.md |
| Series study for "Why X died" | built | data/series-analysis.db, reports/series-analysis/ |
| Topic study "The fall of X" | built 103 subjects scored | reports/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 script | v7 BAR MET v6 approved by the user | research/the-fall-of-moser-baer/script/ |
| Cafe Coffee Day script | v1 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 audio | generated, not listened to by Claude 14 beat WAVs | script/audio/gemini-v7-hinglish/beats/ |
| Word timing | partial beats B1 and B2 aligned; others not run | research/the-fall-of-moser-baer/video/ |
| Video plan (music, sound, visuals) | plan only contains two unfilled placeholders | video/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.
| Date | What happened |
|---|---|
| 2026-10-17 to 10-20 | Channel qualification, queue and catalogue-mining reports for the niche databases are generated (reports/). |
| 10-19 | Initial commit. |
| 10-20 | Series 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-22 | Google 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-27 | These docs. |
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.
- Wants depth first ("only after deep research and consideration"), assumptions stated, and "ULTRATHINK" on the large asks.
- Likes the current direction and wants new lessons added subtly. Said so for v4 and v6.
- Wants the pipeline to carry the lessons by itself and every tool and lesson recorded.
- Reads a script as a viewer who has not read the research and marks each place that viewer would stall: an unlabelled person ("who is Ratul?"), a phrase nobody says, a turn nobody hears, a dense stretch with no front door. Writes the fix as a short example and expects the reason to be generalised.
- Wants the Hinglish version to sound like the way people talk, using the English word when it is shorter and clearer.
- Wants a human script: a protagonist with a want, a narrator with a voice, a number that lands on someone.
- Decides the title, whether to name a private person, whether to run readers, and when to commit.
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.jsfor the repo;playwright-coreas a dev dependency. - Language models
src/llm.jscalls Gemma 4 on the Google Gemini API by default and falls back to an Ollama model. The key isGEMINI_API_KEYin.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/whisper38with torch 2.4.1 and transformers 4.46.3. Bash'spythonis Python 2.7 under Cygwin; usepy -3.8or the venv. - Git
- Branch
research/moser-baer; main branch ismain.transcripts/,reports/,data/,.envandnode_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.