本文へ移動
cccskills
無料GitHub で公開日本語紹介

vhs-demo

実際のCLIコマンドをVHSで操作して短いGIFに記録し、動作説明やレビュー用のビフォー・アフター証拠を作成します。

原文原文の説明を見る

Use when creating a terminal GIF, recording a CLI demonstration, authoring a VHS tape, or producing visual before/after evidence for reviewers.

cli/cliスター 46,747(GitHub 46,747 + cccskills 0)

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • CLIの操作をGIFで説明したいとき
  • VHSのテープを作成したいとき
  • 変更前後の動作を視覚的に比べたいとき
  • レビュー用の実行証跡を作りたいとき

日本語での紹介

できること

利用者が選んだ実行ファイルに対して実際のコマンドを実行し、VHSのテープを保存して短いターミナルGIFを作成します。画面に表示するコマンドや必要な初期状態を決め、見せる流れを組み立ててから録画します。出力は実行ファイルの動作を観察した証拠として扱い、一般的な正しさの証明やテストの代わりとはしません。ビフォー・アフターを示す場合は、比較する条件をそろえて変数を明確にします。

こんなときに便利

CLIの使い方を短いアニメーションで説明したいときや、レビュー担当者に実際の出力を見せたいときに向いています。変更前後の挙動を視覚的に比較する場合にも使えます。生成物はローカルに保管し、利用先へのアップロードやリポジトリへの追加は別途行います。

使い方の例

  • 「この実行ファイルでコマンドを実行し、結果をGIFにしてください」
  • 「変更前後のCLIの出力を、条件をそろえて比較できるGIFにしてください」
  • 「レビュー用に、指定した操作のターミナルデモを作ってください」

注意点

VHS 0.11.0以降、ffmpeg、ffprobe、ttyd、およびVHSが対応するシェルが必要です。事前確認に失敗した場合は、代替録画ツールを使わず停止します。テープやGIFなどの生成物は一時作業領域に置き、画面の全体または必要な全フレームを確認します。GIFは記録した一連の動作を示すもので、機能全般の正しさを保証しません。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(5)

  • SKILL.md7.3 KB
  • scripts/inspect.ps14.1 KB
  • scripts/inspect.sh2.0 KB
  • scripts/preflight.ps11.5 KB
  • scripts/preflight.sh1003 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

VHS Demo

Produce a short, repeatable GIF that shows real commands and unedited output from caller-selected executables. The GIF is evidence of one observed flow, not proof of general correctness and not a replacement for tests.

Evidence contract

A finished demo must make these claims defensible:

  • VHS rendered a saved tape; no fallback recorder or vhs publish was used.
  • Every visible command ran against an identified executable.
  • Hidden setup created state but did not create, paste, rewrite, or overlay the output attributed to the product.
  • Configuration, credentials, hosts, and data were isolated and synthetic by default.
  • The native-resolution animation was inspected, including any transient state.

The caller decides where the artifact is ultimately used. Return local paths and evidence; do not require an upload, PR edit, or repository change.

Workflow

1. Define the claim

Record the intended audience or destination, the behavior to evidence, exact visible commands, required initial state, and any size constraint. Storyboard the visible beats and their approximate duration before writing the tape.

Prefer one coherent claim per GIF. Use a synthetic supporting service or fixture only when the real product cannot safely or deterministically reach the required state; disclose and remove it afterward. The visible command must still run the selected real executable. Never substitute a fake or wrapper that generates product output. Split success and error flows when combining them would obscure either result.

For before/after evidence, identify the controlled variable. Keep the shell, terminal geometry, commands, typing speed, synthetic data, and equivalent application state fixed.

2. Prove the toolchain and executables

Run the platform preflight from the repository root:

.github/skills/vhs-demo/scripts/preflight.sh
& .\.github\skills\vhs-demo\scripts\preflight.ps1

If VHS, ffmpeg, ffprobe, or ttyd is missing or cannot execute, or VHS is older than 0.11.0, name the failure and stop. Do not install tools or substitute asciinema, screen recording, hosted VHS, or fabricated terminal text.

The caller chooses every executable, including separate baseline and changed binaries. Before recording each one, capture its absolute path, version, source or revision, and preferably SHA-256. Build separate binaries from separate checkouts; never overwrite one binary or switch the active checkout between takes.

Invoke absolute paths in visible commands. If natural spelling such as gh is part of the presentation, create an isolated command-name mapping to that exact path and put it ahead of the tape's PATH. Do not trust aliases or the ordinary PATH.

3. Isolate the take

Use the platform's secure temporary-directory API to create one workspace per GIF. Keep the tape, GIF, fixtures, config, command mappings, and inspection frames there, never in the repository.

Use synthetic names, repositories, hosts, and content. Remap home and config roots into the workspace, then clear inherited credential variables and quarantine every config source the selected product can read. For gh, point GH_CONFIG_DIR at an empty private directory and clear GH_TOKEN, GITHUB_TOKEN, GH_ENTERPRISE_TOKEN, GITHUB_ENTERPRISE_TOKEN, GH_HOST, and GH_REPO. If the behavior inherently needs a service, use only an approved synthetic endpoint and account; stop if safe credentials or data are unavailable.

Select a shell accepted by Set Shell in the installed VHS version and use only that shell's syntax in Type commands. An executable being installed does not mean VHS supports it. VHS 0.11 shell definitions suppress startup profiles and set a generic prompt; confirm both with a probe before trusting prompt waits or PATH.

4. Author and render the tape

Adapt this structure, replacing every placeholder:

Output "<ABSOLUTE_TEMP_PATH>/demo.gif"
Require <SHELL_COMMAND>
Set Shell <SHELL_COMMAND>
Set Width <WIDTH_FOR_CONTENT>
Set Height <HEIGHT_FOR_CONTENT>
Set FontSize 22
Set FontFamily "<VERIFIED_MONOSPACE_FONT>"
Set TypingSpeed 35ms
Set CursorBlink false
Set WaitTimeout 120s

Env GH_CONFIG_DIR "<ABSOLUTE_TEMP_PATH>/config"
Env HOME "<ABSOLUTE_TEMP_PATH>/home"
Env XDG_CONFIG_HOME "<ABSOLUTE_TEMP_PATH>/config"
Env GH_TOKEN ""
Env GITHUB_TOKEN ""
Env GH_ENTERPRISE_TOKEN ""
Env GITHUB_ENTERPRISE_TOKEN ""
Env GH_HOST ""
Env GH_REPO ""
Env NO_COLOR "1"

Hide
Type "<SHELL-SPECIFIC SETUP AND CLEAR>"
Enter
Wait+Line /<DETERMINISTIC PROMPT>/
Show

Type "<EXPLICIT EXECUTABLE> <VISIBLE ARGUMENTS>"
Enter
Wait+Screen /<MEANINGFUL EXPECTED OUTPUT>/
Sleep 2s

Use hidden commands only for fixtures, isolated config, approved synthetic services, deterministic prompts, directory changes, and clearing the screen. Type every visible command and let it run. Use Wait+Screen for observable results and condition-based waits for prompts; use Sleep only for pacing. Let waits capture spinners and other motion rather than sleeping past them.

Verify the selected font is installed and resolves as monospaced using the platform font registry or a native-resolution ruler probe. Render a sample frame, then size width, height, and font for the content. Increase geometry instead of shrinking or clipping text.

Run vhs <tape>. A parse or directive failure after preflight is an incompatibility: report it rather than deleting a safeguard.

5. Inspect the evidence

From the repository root, pass the matching helper an inspection directory outside the repository:

.github/skills/vhs-demo/scripts/inspect.sh <demo.gif> <inspection-dir>
& .\.github\skills\vhs-demo\scripts\inspect.ps1 <demo.gif> <inspection-dir>

The helper rejects repository paths, verifies GIF metadata, and extracts native-resolution first, final, one-frame-per-second, and every-frame sequences.

Inspect the images and the tape together. Confirm executable selection, visible commands, unedited output, intentional wrapping, readable monospaced text, clean first and final frames, useful pacing, and absence of secrets, private paths, real hosts, identities, notifications, and hidden setup. Inspect every frame when checking privacy or any spinner, crash, exit, relaunch, or other transient claim. Fix unsafe input at its source and rerender. Never redact the GIF after capture.

6. Return evidence

Report the absolute tape and GIF paths; dimensions, duration, frame count when available, and size; visible commands; each executable's path, version, revision/source, and hash when recorded; whether sampled or all frames were inspected; the intended use; and any limitation on what the demo proves.

Stop shortcuts

ShortcutRequired response
"Use my existing login/config"Isolate config and use synthetic credentials or stop.
"Both clips say gh, so selection is obvious"Map the name to each proven binary explicitly.
"Any recorder is fine if VHS is missing"Stop and report the failed prerequisite.
"Put the GIF in the repo for convenience"Keep all generated media in a temporary workspace.
"The final frame proves the spinner"Inspect the transient frame sequence.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

agentic-workflows

無料概要あり

GitHub Agentic Workflowsの設計・作成・更新・デバッグ・アップグレード依頼を見分け、対応する手順書へ案内するスキルです。

  • ワークフローを新規設計・作成したいとき
  • 既存ワークフローを更新したいとき
  • エラーの調査やデバッグをしたいとき
cli/cli4.7万2026年10月25日 更新

cli-exercise

無料概要あり

実際のCLIコマンドをケースや目標に沿って実行・記録し、観察した動作を確認できる動画などの証拠にまとめます。

  • CLIの指定ケースを記録したいとき
  • コマンドの動作を動画で示したいとき
  • 対話型の操作を検証したいとき
cli/cli4.7万2026年10月25日 更新

cli-exercise-evidence

無料概要あり

CLI操作の記録や実行結果を期待値と照合し、動画などの証拠をローカルで作成・確認して、ケースごとの結果と成果物を返します。

  • CLI演習の期待値を検証したいとき
  • 記録から動画証拠を作成したいとき
  • 動画や画面の内容を点検したいとき
cli/cli4.7万2026年10月25日 更新

cli-exercise-exact

無料概要あり

指定されたCLIテストのコマンド、入力、順序、期待条件を保ったまま実行し、観察結果に照らして各ケースを判定するスキルです。

  • 指定どおりのCLIテストを実行したいとき
  • 入力やケースの順序を保って確認したいとき
  • 期待結果を実際の出力と照合したいとき
cli/cli4.7万2026年10月25日 更新

cli-exercise-explore

無料概要あり

指定された目標と許可範囲に沿ってCLIの確認項目を選び、各操作の準備・実行・検証を順に進めて結果を整理するスキルです。

  • CLI操作を目標に沿って確かめたいとき
  • アップロードの完了条件を整理したいとき
  • 操作ごとに準備と検証を行いたいとき
cli/cli4.7万2026年10月25日 更新

cli-exercise-preflight

無料概要あり

cli-exerciseの実行前にGoや録画関連ツールの利用可否を調べ、不足時は導入手順への同意を得て再確認する内部モジュールです。

  • 記録前に必要なツールを確認したいとき
  • 動画やGIFの出力可否を調べたいとき
  • 不足依存関係の導入手順を知りたいとき
cli/cli4.7万2026年10月25日 更新

cli のスキルをすべて見る

このスキルの問題を報告する