logo
  • Environments
  • Enterprise
  • Pricing
DeveloperOct 13, 2026

Gemini 4: Turn Video Tutorials into Production RL Engineering Skills

EigentEigent
Turn RL Videos into Skills You Can Reuse for Production RL Engineering with Gemini 4 and Eigent
Automate Everything with
AI Workforce on Desktop
Download Eigent

From RL Video Tutorials to Production RL Engineering Skills

The people building Terminal-Bench and Harbor have shared a lot of hard-won RL engineering knowledge - how they package tasks, how they catch agents cheating, how they turn rollouts into training data. Most of it lives in long conference talks.

Three of those talks add up to about an hour and a half of video. They're worth every minute - and hard to reuse. The next time you build an environment, you're back to scrubbing timelines for the one slide you remember.

So we handed the watching to a team of agents. With Gemini 4 in Eigent, one brief turned three Terminal-Bench talks into four file-based skills for production RL environment engineering, plus a source-linked report that shows where every idea came from.

The Full Workflow at a Glance

You choose the talks. One brief takes it from there to skills your agents can reuse. Every stage leaves a file behind, so you can check the work at each step.

StageWhat happensWhat you get
PickChoose the YouTube talks you want to learn fromA short list of video links in the brief
WatchDownload transcripts and frames, and watch each talk in fullA timestamped outline of every talk
AnalysePull out methods, insights, reported results, and warningsLearning points labelled OBSERVED, INFERRED, or UPDATED
CompareLine the talks up against each otherWhere they agree, where they differ, and how each fills the others' gaps
DistillGroup methods and insights by practical capabilityA SKILL.md and an evidence.md per skill
ValidateCheck structure, run scripts, and try a skill on a new taskEach skill marked STRUCTURALLY CHECKED, EXECUTED, or UNTESTED
ReportBuild and serve an HTML report on 127.0.0.1Embedded talks, clickable timestamps, and a coverage matrix that shows gaps
ReusePoint a coworker at a SKILL.mdProduction RL environment engineering on your own project

Here's how to do it yourself, step by step - including one lesson we learned about writing the brief.


What You'll End Up With

  • Reusable skills - each a SKILL.md with an evidence.md, written so another agent can apply it without watching the talks.
  • A source-linked HTML report - served locally, with every talk embedded, a timestamped outline, and learning points you can click to jump straight to the moment.
  • A coverage matrix - which skill covers which part of the RL workflow, and which areas none of the talks address.
  • An honest paper trail - every claim labelled OBSERVED, INFERRED, or UPDATED, and every skill marked as executed, structurally checked, or untested.

Before You Start

  • Eigent installed on your machine.
  • A Gemini API key.
  • The YouTube links you want your agents to learn from. We used these three:
TalkChannelLength
Introducing Terminal-Bench: Evaluating LLM Agents in Realistic Terminal SettingsAnyscale (Ray Summit 2025)31:23
Everything Is a Rollout - Alex Shaw + Ryan MartenAI Engineer21:11
Terminal-Bench 2.0: Launch + Q&A with the foundersLatent Space35:00

1Add Your Gemini API Key

  1. Open Settings → Models.
  2. Find Gemini and open its settings.
  3. Paste your API key.
  4. Set the model type to gemini-4.
  5. Click Save.

2Select Gemini 4

  1. On the home screen, open the model picker under the input box.
  2. Choose Gemini → gemini-4.
  3. Set the thinking effort if you want - the default works.

3Paste the Brief

Copy the brief below into the Cowork with input box. Swap in your own video links, and set the Docker line to allowed or not allowed.

Watch the YouTube videos listed below and turn their methods and insights into reusable,
file-based agent skills. Then publish the results as a well-designed HTML report served from a
local web server.

Videos:
- https://www.youtube.com/watch?v=zt-U4lDdenY&t=1559s
- https://www.youtube.com/watch?v=jRCpXUjz4CI
- https://www.youtube.com/watch?v=5wo0mLlG0fk&t=1815s

Use only these videos as primary sources. Do not search for, substitute, or add other videos.
You may consult official documentation and the code repositories the videos link to or name,
but only to check or update details shown in the videos.

## Focus
Extract practical, repeatable methods. Where the videos cover them, include:
- Defining tasks, observations, actions, and termination conditions.
- Creating reproducible environments and reset behaviour.
- Building verifiers and reward functions.
- Detecting reward hacking and invalid successes.
- Collecting, scoring, and reviewing agent trajectories.
- Preparing data for agent training and evaluation.
Do not invent coverage for areas the videos don't address. List those areas as gaps instead.

Capture insights, not only procedures. For every method, record why the speakers use it, what
went wrong before they did, any results or numbers they reported, and the warnings they gave.
Treat named tools and frameworks (for example Harbor or Terminal-Bench) as one implementation
of a method. Record the underlying principle first and the tool-specific steps second.

## Permissions and limits
- Allowed: reading the video pages; downloading subtitles, transcripts, and the video files
  for analysis; extracting frames; reading official docs and repositories named in the
  videos; creating a local virtual environment and installing open-source packages into it;
  running a local static web server bound to 127.0.0.1.
- Docker: [allowed / not allowed].
- Not allowed: model training, GPU jobs, paid hosted services, calls to paid LLM APIs, or
  publishing anything to a public host. For trajectory collection tests, use a scripted,
  rule-based, or random policy.
- Keep all files inside ./rl-env-skills/ in the current working directory. Delete downloaded
  video files when finished.
- Do not ask for confirmation for the actions allowed above. Stop and report only if a required
  action falls outside them.
- If a video is private, removed, region-locked, or has no usable audio or transcript, say so in
  the report. Continue with the remaining videos, and do not replace it.

## Capability honesty
Before starting, record which relevant capabilities you have: video viewing, frame
extraction, transcript access, code execution, browser preview. If you cannot inspect video
visuals, work from transcripts and mark every visual claim as "not observed".
Never describe on-screen content you did not actually see.

## Analysis
For each video:
- Record title, channel, published date, duration, and view count with the date checked.
- Watch it in full. Inspect visual demonstrations, code, diagrams, and narration where your
  capabilities allow.
- Build a timestamped outline of the main sections.
- Preserve timestamps for every important procedure, decision, and warning.
- List the key insights and takeaways: design decisions and the reasons behind them, lessons
  learned, failure stories, reported results, and warnings. Give each one a timestamp.
- Label each claim OBSERVED (seen or heard in the video), INFERRED (your interpretation), or
  UPDATED (adapted to current official docs; cite the doc URL and the date checked).
- Re-inspect unclear moments. Record unresolved details instead of guessing.
- Paraphrase. Quotes must be under 15 words and carry a timestamp. Do not reproduce transcripts.
Then note where the videos agree, where they differ, and where one fills a gap in another.

## Skills
Create 2–4 skills grouped by practical capability. A skill may draw from several videos.
Layout:

rl-env-skills/
  <skill-name>/
    SKILL.md          # required
    evidence.md       # timestamps, OBSERVED/INFERRED/UPDATED labels, source per point
    scripts/ templates/   # only if they materially help; scripts must be tested
  report/
    index.html        # the HTML report (see below)
    assets/           # extracted frames or screenshots used in the report, if any
  REPORT.md
  manifest.json

SKILL.md must begin with YAML frontmatter:
---
name: <kebab-case, matches folder name>
description: <1–2 sentences: what it does and when to use it, including trigger phrases>
---
The body must cover: prerequisites, required inputs, key insights (the principles and lessons
behind the procedure, each with its source and timestamp), procedure (numbered steps), expected
outputs, decision rules, failure recovery, observable success checks, and a tool-agnostic path
for projects that don't use the tools shown in the videos. Another agent should be able to
apply it to a new project without watching the videos.

A skill must not be only a wrapper around one tool's features. If you removed every
tool-specific command, the insights and decision rules should still stand on their own.

Keep these four things distinct throughout: task datasets, recorded trajectories, supervised
training examples, and RL policy optimisation. Never imply that exporting trajectories is RL
training.

## Validation
- Structural: frontmatter is present and valid, the name matches the folder, every referenced
  file exists, every evidence timestamp falls within the source video's duration, and every
  skill has a key insights section with at least three sourced insights.
- Execution: run every script you created. Where feasible, apply at least one skill end to end on
  a small example the videos don't use (e.g. a text grid-world, or a "make this failing unit
  test pass" task).
- Report each item as STRUCTURALLY CHECKED, EXECUTED (with command and result), or UNTESTED
  (with reason).

## HTML report (report/index.html)

### Content, in this order
1. Header: report title, date checked, the agent's capability summary (had / lacked).
2. Summary: 3–5 sentences on what was produced and the main limitations. No marketing language.
3. Sources: one row per video (title, channel, published date, duration, views with date
   checked, linked code or repository, access status).
4. One section per video:
   - The original video embedded with a privacy-enhanced YouTube embed
     (https://www.youtube-nocookie.com/embed/<VIDEO_ID>), with a 16:9 responsive frame.
   - Link to the original.
   - Timestamped outline of the video.
   - Key insights and takeaways, each with a clickable timestamp and a label.
   - Learning points: numbered, each with a clickable timestamp that seeks the embedded player
     (YouTube IFrame Player API) and an OBSERVED / INFERRED / UPDATED label.
   - Unresolved details.
   - If embedding is blocked, show the video thumbnail linked to youtube.com/watch?v=<ID>
     and state that embedding was unavailable.
5. How the videos compare: agreements, differences, and how each fills the others' gaps.
6. One section per skill:
   - Name, absolute path to SKILL.md, one-sentence purpose, and when to use it.
   - Key insights the skill carries, with their sources.
   - Procedure summary (the key steps, not the whole file).
   - Evidence: every supporting source point as a row — video, timestamp (clickable), label,
     and what the skill took from it. Include doc URLs for UPDATED items.
   - Validation status with the command and result if executed.
7. Coverage matrix: skills × the videos, showing which video supports which skill, plus
   the focus areas no video covered.
8. Data distinctions: a short table defining task dataset, trajectory, supervised example, and
   RL policy optimisation, and which of them the skills actually produce.
9. Limitations and untested items.
10. Three copy-paste reuse requests, each in a code block with a copy button.

### Visual design: light mode, in Google's design language
- Style only: do not use Google logos or wordmarks, or suggest the report is a Google product.
- Colours: page #FFFFFF; secondary surfaces #F8F9FA; borders #DADCE0; primary text #202124;
  secondary text #5F6368; links and primary actions #1A73E8. Use the Google accent set
  (blue #4285F4, red #EA4335, yellow #FBBC04, green #34A853) only for status and labels,
  e.g. OBSERVED blue, INFERRED yellow tint with dark text, UPDATED green, UNTESTED red.
  Text must meet WCAG AA contrast.
- Type: Google Sans / Google Sans Text if available from Google Fonts, otherwise Roboto; Roboto
  Mono or Google Sans Code for code and timestamps. Clear scale: one H1, H2 per section, 16px
  body, 1.5 line height, comfortable line length (about 70–80 characters).
- Layout: 8px spacing grid, max content width about 1100px, sticky left table of contents on
  desktop that collapses on mobile, flat cards with 1px borders or a subtle Material elevation
  shadow, 8–12px corner radius, plain tables with hairline row dividers.
- Avoid the generic "AI-generated" look: no gradients, purple/indigo themes, glassmorphism,
  glowing effects, emoji used as icons, sparkle icons, oversized hero banners, decorative
  blobs, or hype copy ("unlock", "supercharge", "seamless"). Prefer real content, tables, and
  data over decoration.
- Technical: one self-contained HTML file with inline CSS and JS. Only external requests allowed:
  Google Fonts and YouTube embed/API. Responsive down to 360px width with no horizontal
  page scroll. Semantic HTML, keyboard-accessible controls, alt text on images.

### Serve and verify
1. Start a static server from rl-env-skills/report/ bound to 127.0.0.1, e.g.
   `python3 -m http.server 8000 --bind 127.0.0.1`. If port 8000 is busy, use the next free port.
   Keep the server running when you finish.
2. Do not rely on opening the file from disk: YouTube embeds often fail without an http origin.
3. Verify: the page returns HTTP 200; every embed loads or shows the fallback; timestamp links
   seek the player; all anchors and file links resolve; no console errors. If you have a browser
   tool, take a desktop and a 375px-wide screenshot and save them to report/assets/.
4. Report how you verified each item, and which checks you could not run.

## Deliverables
- REPORT.md: a plain-text version of the report's findings.
- manifest.json:
  { "date_checked": "...",
    "videos": [{"url","title","channel","published","duration","views","access_status"}],
    "skills": [{"name","path","sources":["<video id>", "..."],
                "insights": <number of sourced insights>,
                "validation":"executed|structural|untested"}],
    "capabilities": {"video": bool, "frames": bool, "transcripts": bool, "code_exec": bool,
                     "browser_preview": bool},
    "report": {"path": "<absolute path to index.html>", "preview_url": "http://127.0.0.1:<port>/",
               "server_command": "...", "verified": [...], "not_verified": [...]} }
- Final reply: the preview link on its own line first
  (http://127.0.0.1:<port>/), then the command to restart the server if it stops, then a short
  summary of the videos, skills with absolute paths, validation results, and limitations.

A few parts of this brief do the heavy lifting:

  • Use only these videos keeps your agents on the sources you chose - no swaps, no extras.
  • Capture insights, not only procedures makes sure the why travels with the how. More on this below.
  • Capability honesty stops anyone from describing a video frame nobody actually saw.
  • OBSERVED / INFERRED / UPDATED labels keep facts, interpretation, and doc-checked updates apart.
  • Data distinctions keep task datasets, trajectories, supervised examples, and RL policy optimisation separate - so exporting trajectories never gets mistaken for training.

What We Changed in the Brief - and Why

The run in our video used an earlier version of this brief. It did a lot right. Gemini 4 watched all three talks, cross-checked details against the Harbor docs and repository, and built four skills. Every skill script ran end to end on a task none of the talks use - repairing a Python config parser called fix-ini-interpolator.

But when we read the skills, we noticed something. They leaned hard on Harbor's features - task folder layouts, trajectory formats, and CLI commands. The insights behind them mostly stayed in the report.

And the talks are full of insights. The report itself captured these:

  • Scaffolds matter as much as models. Cancelling stuck commands early was worth about 5–10%, and mixing models in one run was worth about 5–6% (Ray Summit talk, 18:05–19:23).
  • Plan for scale early. A laptop tops out around six concurrent containers, which is why the teams moved to cloud sandboxes (all three talks).
  • Reward hacking is RL's overfitting. Treat a suspiciously high score the way you'd treat a suspiciously low validation loss (AI Engineer talk, 06:35).

A skill that only knows how to run a tool can't tell you when the approach breaks, or what to do on a stack without that tool. So we made four changes:

  1. Insights are a first-class output. Every video section and every skill now records the speakers' reasoning, lessons, results, and warnings - each with a timestamp.
  2. Principle first, tool second. Harbor and Terminal-Bench count as one way to apply a method, not the method itself.
  3. No tool wrappers. Every skill needs a key insights section and a tool-agnostic path. Strip out the commands, and the skill should still teach something.
  4. Validation checks for it. Each skill must carry at least three sourced insights, or it fails the structural check.

We also fixed a small mismatch. The earlier brief said "the two videos" but listed three links. Gemini 4 caught it, noted it in the report, and analysed all three - but the new wording works for any number of videos.

4Let Your Agents Work

Send the brief. Gemini 4 plans the work and spins up the agents. From there, the run follows the brief:

  1. Watch each talk - transcript, frames, slides, and live demos - and keep the timestamps.
  2. Distill the methods and insights into skills, each with its own evidence file.
  3. Validate the skills and record what was checked, executed, or left untested.
  4. Generate the report and serve it on 127.0.0.1.

In our run, the agents downloaded all three talks, extracted 25+ keyframes, pulled full timestamped transcripts, and cross-checked Harbor details against the official docs - then cleaned up the downloaded video files, as the brief asks.

5Open the Report

The report opens on a local server - in our run, http://127.0.0.1:8000. Here's what you'll find:

  • Capabilities - what the agents had and lacked, from video viewing to browser preview.
  • Summary and sources - each talk with its channel, publish date, duration, views, and linked repositories.
  • One section per talk - the video embedded with a privacy-enhanced player, a timestamped outline, and labelled learning points.
  • How the talks compare - where they agree, where they differ, and how each fills the others' gaps.
  • One section per skill - purpose, key steps, evidence, and the exact validation command.
  • Limitations - what stayed untested and why, like cloud sandboxes and paid model APIs.

6Read the Coverage Matrix

The matrix shows which skill covers which part of the RL workflow - and where the talks leave gaps.

Focus areaTask ScaffolderVerifier & Anti-CheatRollout CollectorSFT Dataset Preparer
Defining tasks, observations, actions & terminationPrimarySecondaryPrimary-
Reproducible environments & resetPrimarySecondarySecondary-
Building verifiers & reward functionsSecondaryPrimary--
Detecting reward hacking & invalid successes-PrimarySecondary-
Collecting, scoring & reviewing trajectories--PrimarySecondary
Preparing data for SFT training & evaluation---Primary
Gap: RL policy-gradient math & trainer internalsNot coveredNot coveredNot coveredKept separate
Gap: Step-level dense process reward shapingNot coveredOutcome reward onlyNot coveredNot covered

The two gap rows matter. The talks name trainers like SkyRL and Tinker but never show the training loop - so the skills don't pretend to cover it.

7Put the Skills to Work

Each skill lives in its own folder inside rl-env-skills/:

  • sandboxed-task-environment-scaffolder - scaffold and validate reproducible, containerized tasks.
  • verifier-and-anti-cheat-auditor - build outcome verifiers and audit them for reward hacking.
  • rollout-trajectory-collector-and-debugger - run sandboxed rollouts, record trajectories, and classify failures.
  • trajectory-to-sft-dataset-preparer - filter verified trajectories into clean SFT data, kept strictly apart from RL training.

Point a coworker at one and give it a real job, for example:

Use rl-env-skills/verifier-and-anti-cheat-auditor/SKILL.md to design a verifier
for my "make this failing unit test pass" task. Flag any way an agent could
pass without fixing the bug.

The skill carries the procedure, the decision rules, and the success checks. The evidence file carries the receipts - and with the new brief, the insights come along too.


Make It Your Own

The brief works for any set of technical talks. Swap the video links and the focus list, and keep the rest:

  • Keep the insight rules. They're what turn a tool manual into hard-won judgment.
  • Keep the honesty rules. Capability checks and claim labels are what make the output trustworthy.
  • Keep the validation step. A skill that was never run is a note, not a skill.

An hour and a half of talks doesn't have to stay an hour and a half of talks. Give them to your agents - and keep what they learn.


Credits: built with Gemini 4 and Eigent. Talks by Mike Merrill (Ray Summit 2025), Alex Shaw and Ryan Marten (AI Engineer), and the Terminal-Bench founders on Latent Space - watch the originals on YouTube. Music: "Wallpaper" Kevin MacLeod (incompetech.com), licensed under Creative Commons: By Attribution 4.0.

Other use cases

Build a CAD Model from Video: Gemini 3.7 Flash vs. 3.6 Flash

Build a CAD Model from Video: Gemini 3.7 Flash vs. 3.6 Flash

Analyze the transformers character in the uploaded reference video and generate a production-ready, highly detailed 3D CAD/mesh model exported as a .glb file. Analyze the character identity and style, joints and articulation, and surface details. Create ultra-high-precision hard-surface mechanical geometry with distinct body and armor pieces separated around logical joint pivot points. Use metallic PBR materials, including anodized metals, brushed steel, dark titanium, high-gloss painted armor, and emissive channels for the eyes, chest core, and joint glow effects. Pack the diffuse, normal, roughness, metallic, and emissive textures directly into the GLB. Ensure clean topology, manifold geometry, and real-time optimization without losing mechanical sharpness.

Automated VAT Return from Receipts and Invoices

Automated VAT Return from Receipts and Invoices

Please process all receipts and invoices in the "VAT" folder, including photos, scanned PDFs, and digital invoices. The final output should include only two files: (1) vat_return.xlsx — the Excel file should include one row per receipt or invoice, list all extracted fields, show whether each item is eligible for VAT recovery, show the recoverable VAT amount for each eligible item, include the exclusion reason for non-recoverable items, clearly flag items that require manual review, and include a summary sheet showing the total recoverable VAT amount. (2) vat_return.html — create a self-contained HTML file that can be opened directly and shared with the accounting team. The HTML file should show all VAT recovery items, the recoverable VAT amount for each item, excluded items and the reasons for exclusion, items requiring manual review, and the total recoverable VAT amount. Do not guess any uncertain information.

Long-Horizon Task: GLM-5.1 vs GLM-5.2 on Eigent

Long-Horizon Task: GLM-5.1 vs GLM-5.2 on Eigent

Do a deep-dive research on 26 companies in the AI infrastructure ecosystem — the most certain main thread of the entire AI value chain. Cover these 6 sub-sectors (pick representative companies in each, from large-cap leaders down to smaller players): AI Data Center (compute infrastructure / build-out); GPU / AI Chips (training & inference silicon, ASICs, IP); Servers, Networking & Optical Modules (switches, NICs, optical interconnect); Power, Liquid Cooling & Energy Storage (power supply, thermal, energy management); AI Cloud / Compute Platform (hyperscalers, GPU clouds, compute-rental platforms); Supporting Ecosystem (HBM / advanced packaging, foundry, connectors & other critical components). For each company, research: company name, sub-sector, HQ / country; core products and its specific role in the AI chain; public or private (ticker + exchange if listed; if private, note latest valuation / funding round); market cap or valuation size (used for ranking); positioning and moat in the ecosystem (1–2 sentences); key customers / competitors. Ordering: within each sub-sector, rank from largest to smallest (by market cap / valuation). Structure the whole thing top-down: from the full hardware-ecosystem landscape → down to each individual company. Output requirements: First, generate a structured data file ai_infra_data.json — containing all 26 companies with the fields above, the 6 sub-sector classifications, a public/private flag, and a cross-company comparison matrix (sub-sector × key dimensions). Then generate a polished HTML report from that JSON: include an ecosystem landscape / layered diagram, sector sections, company cards, a clear visual indicator for public vs. private (tags or color coding), a market-cap ranking chart, and a sortable/filterable comparison table. Make the design professional, information-dense, and interactive. Verify the research data for accuracy first (listing status, tickers, valuations — use the latest figures and cite sources), then generate the report. Send the task in single-agent mode.

Automate everything with AI workforce on desktop
Download Eigent

Try Eigent today

Download the open-source desktop app. Your AI workforce, running on your machine.

Download Eigent
Eigent

Get the latest updates, tutorials, and releases on AI workforce automation.

Thank you for subscribing!

ProductEigentEnvironmentsPricingEnterprise
ExploreSolutionsUse CasesSkillsPluginsBlogs
DevelopersDocsGitHubCAMEL-AIOpen Source FundPartner
DownloadFor open source
CompanyAbout UsBrandCareersSupportTerms of UsePrivacy PolicySecurity & TrustCookie PolicyRefund & Trial Policy

All rights reserved © 2026 EIGENT UK LTD