Agent skill

Record Vhs Demo

by bruin-data in bruin-data/bruin

Create, update, render, and visually verify polished Bruin CLI terminal demos with VHS.

Apache-2.0Auto-check passedDatabases

Install Record Vhs Demo

skills CLI
$ npx skills add bruin-data/bruin --skill record-vhs-demo -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install bruin-data/bruin record-vhs-demo --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/bruin-data/bruin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/record-vhs-demo .claude/skills/record-vhs-demo && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
record-vhs-demo
GitHub stars
1.8k
Token cost
~1.3k tokens
SKILL.md length
618 words
Files
3 (incl. scripts)
Skills in repo
10
Repo updated
First seen
Licence
Apache-2.0

At a glance

Create, update, render, and visually verify polished Bruin CLI terminal demos with VHS.

  • Works in 7 steps: Confirm the short story the recording… → Validate the underlying Bruin behavior… → Build the appropriate binary → …
  • Recording a terminal walkthrough
  • SKILL.md covers Repository layout, Workflow, Visual defaults and Reliable tape setup, plus 1 more section
  • Runs Python scripts from its folder; calls git, make and python3

What it does

Record Vhs Demo is an agent skill from bruin-data/bruin. Create, update, render, and visually verify polished Bruin CLI terminal demos with VHS. Use when recording a terminal walkthrough, adding or editing a .tape file, exporting a demo video or GIF, improving terminal-demo styling or readability, or reproducing a Bruin command sequence for documentation or social media.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `agents/openai.yaml` and `scripts/render_demo.py`).

It sits in Databases, covering Plain language and style rules and Video production. It works with DuckDB. The repository describes itself as: Build data pipelines with SQL and Python, ingest data from different sources, add quality checks, and build end-to-end flows. The licence is Apache-2.0.

When your agent uses it

  • Recording a terminal walkthrough
  • Editing a .tape file
  • Exporting a demo video
  • Improving terminal-demo styling

Example prompts

  • “/record-vhs-demo”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Confirm the short story the recording should tell. Show only commands and output that support it.
  2. Validate the underlying Bruin behavior outside VHS before recording it.
  3. Build the appropriate binary
  4. Create or edit the canonical tape under resources/. Put any reproducible fixtures beside it under a demo-specific directory.
  5. Render from the tape's directory with the bundled script
  6. Inspect the generated contact sheet with an image-viewing tool. Extract and inspect a full-resolution frame when text color, masking…
  7. Iterate until the recording has no command failures, accidental secrets, unreadable ANSI colors, clipped lines, excessive dead time, or…

What it can do on your machine

Read from SKILL.md and the folder at commit 2f429d6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • git
    • make
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Record Vhs Demo loads about 1.3k tokens when it runs. Until then it costs about 83 tokens; SKILL.md has 618 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~83
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from bruin-data/bruin at commit 2f429d6, republished under its Apache-2.0 licence (© bruin-data). 618 words, ~1,281 tokens.

Download SKILL.mdSave it as .claude/skills/record-vhs-demo/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
record-vhs-demo
description
Create, update, render, and visually verify polished Bruin CLI terminal demos with VHS. Use when recording a terminal walkthrough, adding or editing a .tape file, exporting a demo video or GIF, improving terminal-demo styling or readability, or reproducing a Bruin command sequence for documentation or social media.

Record VHS Demo

Create concise, deterministic terminal recordings whose source remains reusable in the repository.

Repository layout

  • Store every canonical .tape file under <repo>/resources/, using a descriptive kebab-case name.
  • Store stable demo fixtures under <repo>/resources/<demo-name>/ when the tape needs them.
  • Store generated videos, GIFs, screenshots, and contact sheets under <repo>/.context/vhs-demos/ unless the user explicitly requests a tracked documentation asset.
  • Confirm .context/ is ignored with git check-ignore. If it is not, add .context/ to the repository's local .git/info/exclude; do not add generated demo artifacts to the tracked .gitignore merely for a recording.
  • Never put real credentials, tokens, personal paths, or production data in a tape or fixture. Use unmistakably fake values.

Workflow

  1. Confirm the short story the recording should tell. Show only commands and output that support it.

  2. Validate the underlying Bruin behavior outside VHS before recording it.

  3. Build the appropriate binary:

    • Prefer make build-no-duckdb and bin/bruin-no-duckdb for demos that do not need DuckDB.
    • Use make build and bin/bruin when the demo needs DuckDB.
  4. Create or edit the canonical tape under resources/. Put any reproducible fixtures beside it under a demo-specific directory.

  5. Render from the tape's directory with the bundled script:

    bash
    python3 .agents/skills/record-vhs-demo/scripts/render_demo.py resources/<demo-name>.tape
  6. Inspect the generated contact sheet with an image-viewing tool. Extract and inspect a full-resolution frame when text color, masking, alignment, or spacing needs closer review.

  7. Iterate until the recording has no command failures, accidental secrets, unreadable ANSI colors, clipped lines, excessive dead time, or irrelevant output.

Visual defaults

Start with these settings unless the user asks for a different format:

text
Set Shell bash
Set FontSize 20
Set Width 1280
Set Height 720
Set Margin 0
Set Padding 28
Set LineHeight 1.15
Set TypingSpeed 30ms
Set Framerate 30
Set CursorBlink false
Set Theme "GitHub Dark"
  • Use a plain dark terminal canvas without a window frame, title bar, or outer margin.

  • Keep internal padding so text does not touch the video edge.

  • Prefer Bash for predictable prompts and hidden setup.

  • Use a leading newline in PS1 to add space between prompt blocks without changing regular output line spacing:

    bash
    export PS1="$(tput setaf 6)\n❯$(tput sgr0) "
  • In the hidden setup, run unset NO_COLOR, set TERM=xterm-256color, and set CLICOLOR=1. The agent environment may otherwise suppress Bruin's ANSI output.

  • Do not add --no-color to a demo command.

  • For a one-asset Bruin demo, make worker coloring deterministic by wrapping the binary with --workers 1 during hidden setup. This avoids a random worker selecting an unreadable ANSI color while keeping the visible command clean.

  • Hide setup commands, paths, fixture preparation, aliases/functions, and terminal clearing.

  • Do not show --help, installation steps, decorative titles, or commentary that delays the feature demonstration unless requested.

  • Use --no-validation, --no-timestamp, or --minimal-logs only when they remove irrelevant output without hiding the behavior being demonstrated.

  • Add short sleeps after meaningful output, not after every command. Keep social clips compact.

Show full SKILL.md (187 more words)Show less

Reliable tape setup

  • Run tapes from their own directory. Resolve repository files from git rev-parse --show-toplevel, not fragile multi-level relative aliases.
  • Use mktemp -d for disposable working fixtures. Copy tracked examples into the temporary directory during hidden setup.
  • Create the Output directory before rendering. The bundled script does this automatically.
  • Keep the visible commands representative of what a user would actually type.

Verification bar

Do not call a demo complete until all of the following are true:

  • vhs validate passes.
  • VHS exits successfully and produces a non-empty artifact.
  • VHS reports no internal error: line; some versions can emit a partial video after an EOF error while still exiting with status 0.
  • ffprobe reports a valid duration.
  • The contact sheet has been visually inspected.
  • A full-resolution output frame is inspected when color or text readability matters.
  • Every command in the recording succeeds.
  • Expected values are visible and any credentials are masked.
  • Prompt spacing affects prompt blocks only, not ordinary output lines.
  • ANSI colors have sufficient contrast on the selected dark theme.

The renderer reports the artifact and QA image paths; include the final artifact path in the handoff.

© bruin-data, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (scripts) in .agents/skills/record-vhs-demo of bruin-data/bruin.

  • SKILL.md
  • agents/openai.yaml
  • scripts/render_demo.py

Open the folder on GitHubat commit 2f429d6

Compare with similar skills

Record Vhs Demo next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Record Vhs Demo compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Record Vhs Demo this skillbruin-data/bruin1.8k—~1.3kAutomated safety check: PassApache-2.0
The Loopoxbshw/watch-skill469—~622Automated safety check: NotesMIT
Altimate Data Warehouse DelegateAltimateAI/data-engineering-skills128—~1.4kAutomated safety check: PassMIT
Audio Loudness Normalizationgodot-fun/gai182—~684Automated safety check: PassMIT
Managing Databasesrileyhilliard/claude-essentials130—~1.6kAutomated safety check: PassMIT
Eli5mblode/agent-skills144—~861Automated safety check: PassMIT

Similar skills

  • The Loop

    oxbshw/watch-skill

    The user built or changed something visual — a UI, an animation, a game, a generated video — and wants it verified, or asks "why does my UI look wrong", "check that the fix actually worked", "does…

    469 GitHub stars~622 tokensUpdated 25 days ago
    Writing & ContentAuto-check: notes
  • Altimate Data Warehouse Delegate

    AltimateAI/data-engineering-skills

    Delegates dbt and warehouse tasks such as lineage, migrations and cost attribution to the altimate-code CLI agent and relays its answer back.

    128 GitHub stars~1.4k tokensUpdated yesterday
    DatabasesAuto-check passed
  • Normalizes a single audio file to consistent LUFS loudness with true-peak limiting using FFmpeg.

    182 GitHub stars~684 tokensUpdated yesterday
    DatabasesAuto-check passed
  • Managing Databases

    rileyhilliard/claude-essentials

    Guides database architecture for PostgreSQL, DuckDB, Parquet, PGVector, and Neo4j.

    130 GitHub stars~1.6k tokensUpdated 1 mo ago
    DatabasesAuto-check passed
  • Eli5

    mblode/agent-skills

    Picks the form that explains best and applies the house explanation style: plain prose, controlled English modelled on ASD-STE100, a diagram, an interactive HTML page, or a narrated explainer video.

    144 GitHub stars~861 tokensUpdated yesterday
    Writing & ContentAuto-check passed
  • Duckdb En

    aAAaqwq/AGI-Super-Team

    DuckDB CLI specialist for SQL analysis, data processing and file conversion.

    105 GitHub starsUsed in 1 repo~1.6k tokens
    DatabasesAuto-check passed

More from bruin-data/bruin

All 10 skills in this repo
  • Add Ingestr Source

    bruin-data/bruin

    Add Bruin CLI support for a new ingestr source. An agent skill from bruin-data/bruin.

    1.8k GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Bruin Semantic Layer

    bruin-data/bruin

    A skill your agent uses when creating, editing, reviewing, or troubleshooting Bruin semantic layer models, semantic query CLI usage, metric and dimension definitions, joins, segments, filters…

    1.8k GitHub stars~2.6k tokensUpdated yesterday
    Auto-check passed
  • Create Dashboard

    bruin-data/bruin

    Create DAC dashboards by writing YAML or TSX dashboard definition files.

    1.8k GitHub stars~4.3k tokensUpdated yesterday
    Auto-check passed
  • Duplicate Investigate

    bruin-data/bruin

    A skill your agent uses when duplicate rows, unstable primary keys, repeated ingestion, or failed uniqueness checks appear in a Bruin asset.

    1.8k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Pipeline Diagnose

    bruin-data/bruin

    A skill your agent uses when a Bruin pipeline, asset, or command fails and the cause is not yet clear.

    1.8k GitHub stars~1k tokensUpdated yesterday
    Auto-check passed
  • Schema Drift Check

    bruin-data/bruin

    A skill your agent uses when a pipeline fails because source, destination, or declared asset columns may have changed.

    1.8k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Record Vhs Demo

What does Record Vhs Demo do?

Create, update, render, and visually verify polished Bruin CLI terminal demos with VHS. Record Vhs Demo is an agent skill from bruin-data/bruin. Create, update, render, and visually verify polished Bruin CLI terminal demos with VHS.

When should I use Record Vhs Demo?

Record Vhs Demo fits situations like: recording a terminal walkthrough; editing a .tape file; exporting a demo video; improving terminal-demo styling.

How do I install Record Vhs Demo in Claude Code?

Run `npx skills add bruin-data/bruin --skill record-vhs-demo -a claude-code`. Or copy the skill folder (.agents/skills/record-vhs-demo in bruin-data/bruin) into .claude/skills/record-vhs-demo in your project. Claude Code loads it when a task matches its description.

How do I install Record Vhs Demo in Codex?

Run `npx skills add bruin-data/bruin --skill record-vhs-demo -a codex`. Or copy the skill folder (.agents/skills/record-vhs-demo in bruin-data/bruin) into .agents/skills/record-vhs-demo in your project. Codex loads it when a task matches its description.

Can I use Record Vhs Demo in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add bruin-data/bruin --skill record-vhs-demo -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/record-vhs-demo, .gemini/skills/record-vhs-demo, .github/skills/record-vhs-demo and .opencode/skills/record-vhs-demo in your project.

What does Record Vhs Demo need to run?

Going by SKILL.md and its folder, Record Vhs Demo needs Python for the scripts in its folder and the command-line tools its instructions call (git, make and python3). Our summary lists: Python 3.

Does Record Vhs Demo access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Record Vhs Demo safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Record Vhs Demo use?

Record Vhs Demo is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Record Vhs Demo use?

About 1.3k tokens (SKILL.md is roughly 5.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Record Vhs Demo?

Skills that share tags, products or a category with Record Vhs Demo: The Loop (oxbshw/watch-skill, 469 stars), Altimate Data Warehouse Delegate (AltimateAI/data-engineering-skills, 128 stars), Audio Loudness Normalization (godot-fun/gai, 182 stars) and Managing Databases (rileyhilliard/claude-essentials, 130 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Record Vhs Demo?

bruin-data (a GitHub organization) maintains it in bruin-data/bruin, which has 1,774 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 8, 2026.

Source: bruin-data/bruin on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.