FORGE. A Synthera fleet practice · Malé
How the fleet learns · a public explainer

We stopped asking the model what it remembers.

Ask a model what it knows about a fast-moving tool and you get a confident average of the internet as of a training cutoff. So the fleet does something else: it curates fifty authority videos, hands them to NotebookLM, and keeps only answers that arrive with citations.[03] The reading happens on Google's machines, not in the agent's context window. The distillate stays forever.

4 corpora shipped 150+ videos read 105+ citation-checked answers
01

The problem with asking

A language model's memory is a polite, plausible average. It is wrong in exactly the places that matter: the flag names, the limits, the current practice.

Every stage of software work now runs through agents, and agents answer from their weights unless you stop them. For settled knowledge that is fine. For a tool that shipped last month it is a confident guess dressed as fact.

Forge exists to remove that failure mode. You choose the sources. The model is only allowed to speak from those sources, and every claim it makes must carry a citation back to one of them.[03] What comes out is not a vibe. It is a cited distillate you can keep, audit, and build on.

Uncited means the model answered from its weights: the exact failure this pipeline exists to prevent.

The distill gate · forge/readme[03]

02

The method, in three moves

Move 01 · Curate

Fifty videos, picked by hand

A sweep of YouTube across 25 to 40 query angles, ranked by authority rather than views. A human reads the candidate list and chooses the fifty. The list is the judgment.

Move 02 · Distill

Answers with receipts

NotebookLM reads all fifty on Google's machines and answers only from them, citing as it goes. Zero cost to the agent's context window. An answer with fewer than two citations is a hard fail.

Move 03 · Keep

Skills, graded by the corpus

The distillate is written into skills the fleet loads on demand. Each skill is then graded against a quiz the corpus itself wrote. Nobody marks their own homework.

03

What exists today

4Corpora shipped
150+Videos read end to end
660k+Words ingested on record
105+Citation-checked answers kept
04

The pipeline, gate by gate

  1. curate.py

    Sweep and rank

    Sweeps YouTube across dozens of query angles and ranks candidates by authority, not views. Output is a candidate list that a human reads and picks from by hand.[03]

  2. ingest.py

    Load, or fail loudly

    Idempotent, resumable load of the fifty into a fresh notebook. Re-run it and it does only the missing work.

    Hard gateExits non-zero unless every source is present, ready, and above a word floor. A video with no transcript is caught as thin, not counted as a win.

  3. distill.py

    One fresh conversation per question

    Runs the question set against the notebook, each question in its own conversation so answers never contaminate each other.

    Hard gateAn answer with fewer than two citations is a fail, not a warning. Uncited means the model answered from its weights.

  4. skills

    Write the skill

    The distilled files are grouped into a few skills with deep references. They carry frontmatter fields, hook event names, and specific numbers that no model produces from memory.[03]

  5. skill-critic

    Grade against the corpus's own quiz

    NotebookLM generates a quiz from the corpus, and the critic grades the skill against it.

    Hard gateThe eval set is written by the corpus, so the skill author can never mark their own homework.

05

Rules that bite

Rule 01

One job at a time

Two corpora running concurrently corrupt each other's answers. Notebooks run serially, and every question is wrapped in a timeout.[02]

Rule 02

Silent screencasts contribute nothing

The best SwiftUI animation channel alive ingested at 5 to 38 words of transcript per video. Beautiful to watch, worthless to a corpus. The word floor caught all four.[02]

Rule 03

Livestream VODs have no transcript

They are rejected deterministically the moment they are added. Replace them with a narrated source. Do not retry.[02]

Rule 04

Auth expires

A keepalive job refreshes the session every two hours, then proves it works with a live check. Verifying the agent is loaded is not verifying the agent works.[02]

06

Four corpora, four crafts

  1. A

    Claude Code and agent engineering

    Forged claude-skill-forge · claude-orchestration · claude-context-discipline

    50 sources
    252k words
  2. B

    Web and product design craft

    Forged interface-craft · motion-craft · web-that-converts

    50 sources
  3. C

    SwiftUI and iOS interface craft

    Forged apple-design-language · swiftui-motion · swiftui-components

    50 sources
    137k words
  4. D

    The sexiest UI/UX

    Forged sexy-ui · quality-bar · expensive-surface[01]

    50 sources
    275k words
07

Sources

  1. Corpus D, the fifty-video list. Linear, Stripe, Vercel, teenage engineering, Awwwards juries, Arc, Raycast, Superhuman, and the anti-sexy tells. notebooklm-corpus/corpus-d.md
  2. Forge, corpus to skill foundry. The build log: notebook IDs, word counts, grading results, and every rule learned the hard way. EmpireBrain vault · Project/Forge · August 2026
  3. The forge readme. The pipeline contract: curate, ingest, distill, skill, grade, with a self-test at every stage that proves the gate fails on bad input. forge/README.md
  4. notebooklm-py by teng-lin. The unofficial client for undocumented Google APIs that the pipeline runs on. It can break when Google changes them. The corpora and distillates survive that; only re-running does not. github.com/teng-lin/notebooklm-py