GitHub Agentic Workflows 요청이 설계, 생성, 설정, 수정, 디버깅, 업그레이드 중 무엇인지 구분해 알맞은 프롬프트나 스킬 파일로 안내합니다.
- 새 워크플로 설계 또는 생성
- 기존 워크플로 수정
- 워크플로 오류 조사
Create a short, repeatable terminal GIF from real commands run against caller-selected executables. The skill helps demonstrate one observed behavior or compare a controlled before-and-after change, while keeping the tape and evidence local for review.
한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.
Use when creating a terminal GIF, recording a CLI demonstration, authoring a VHS tape, or producing visual before/after evidence for reviewers.
실행 점수 미검증
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
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.
A finished demo must make these claims defensible:
vhs publish was used.The caller decides where the artifact is ultimately used. Return local paths and evidence; do not require an upload, PR edit, or repository change.
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.
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.
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.
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.
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.
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.
| Shortcut | Required 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. |
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
GitHub Agentic Workflows 요청이 설계, 생성, 설정, 수정, 디버깅, 업그레이드 중 무엇인지 구분해 알맞은 프롬프트나 스킬 파일로 안내합니다.
Exercise a real command-line program with specified cases or a stated goal, then capture and verify the observed behavior. It produces local media evidence such as a session video, helping reviewers see what the command did without treating the recording as proof of general correctness.
한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.
명령줄 연습의 기대 결과를 기록된 증거와 대조하고, 요청된 미디어를 렌더링해 점검한 뒤 사례별 결과와 로컬 산출물 경로를 제공합니다. 기본적으로 증거를 공개하지 않습니다.
지정된 CLI 테스트의 명령, 입력, 순서, 기대 조건을 바꾸지 않고 실행하도록 안내합니다. 사례별 준비·실행·검증 후 실제 증거에 따라 통과, 실패, 차단 또는 관찰로 분류합니다.
승인된 범위 안에서 목표에 맞는 CLI 확인 항목을 정하고, 각 항목의 준비·실행·즉시 검증을 차례로 진행합니다. 증거로 확인된 결과와 도달하지 못한 동작을 구분해 정리합니다.
`cli-exercise` 내부 모듈로 빌드, 터미널, 미디어 도구의 사용 가능 여부를 확인합니다. 의존 항목이 없으면 설치 경로를 제안하고 승인을 받은 뒤 설치하며, 완료 후 준비 상태를 다시 확인합니다. 녹화나 다른 작업 권한을 부여하지는 않습니다.