关于 vhs
vhs 是 Charmbracelet 维护的 VHS 终端录制最佳实践指南,适用于编写 tape 文件、制作终端演示和自动生成 GIF 的开发者。指南按优先级整理 8 类规则,涵盖配置、依赖、录制时序、输出和 CI。
主要功能
- 01按优先级整理 8 类规则
- 02指导 tape 配置与命令语法
- 03涵盖录制时序和同步
- 04说明输出优化与视觉设置
- 05提供 CI 自动化建议
适用场景
- 01编写 VHS tape 文件
- 02制作文档中的终端演示
- 03设置 CI 自动生成 GIF
- 04排查或审查 tape 文件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ connorads/ dotfiles --skill vhs安装后在 Claude Code 中输入/vhs确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
AGENTS.mdREADME.mdassets/templates/_template.mdreferences/_sections.mdadvanced-clipboard.mdadvanced-recording-live.mdadvanced-server-mode.mdadvanced-source-include.mdci-auto-commit.mdci-caching.mdci-github-action.mdci-golden-files.mdci-matrix-builds.mdcmd-ctrl-combinations.mdcmd-enter-explicit.mdcmd-env-variables.mdcmd-hide-show.mdcmd-key-repeat.mdcmd-multiline-type.mdcmd-screenshot.mdcmd-type-syntax.mdconfig-comments-document.mdconfig-dimensions-explicit.mdconfig-output-first.mdconfig-settings-order.mdconfig-shell-explicit.mdconfig-typing-speed-global.mddeps-require-all.mddeps-require-early.mddeps-require-order.md详细介绍
Charmbracelet VHS 最佳实践
由 Charmbracelet 维护的 VHS 终端录制综合最佳实践指南。包含 8 个类别中的 47 条规则,并按影响排序,帮助创建专业、可移植且经过优化的终端演示。
适用场景
在以下情况下参考这些指南:
- 编写新的 VHS 磁带文件
- 为文档创建终端演示
- 为自动生成 GIF 配置 CI/CD
- 优化录制文件的大小和质量
- 排查磁带文件问题
- 根据最佳实践审查磁带文件
按优先级划分的规则类别
| 优先级 | 类别 | 影响 | 前缀 |
|---|---|---|---|
| 1 | 配置结构 | 严重 | config- |
| 2 | 依赖管理 | 严重 | deps- |
| 3 | 命令语法 | 高 | cmd- |
| 4 | 计时与同步 | 高 | timing- |
| 5 | 输出优化 | 中高 | output- |
| 6 | 视觉质量 | 中 | visual- |
| 7 | CI/自动化 | 中 | ci- |
| 8 | 高级模式 | 低 | advanced- |
快速参考
1. 配置结构(严重)
config-settings-order- 将所有设置放在命令之前config-output-first- 在文件开头声明输出config-shell-explicit- 明确设置 Shell 类型config-typing-speed-global- 尽早设置全局 TypingSpeedconfig-dimensions-explicit- 明确设置终端尺寸config-comments-document- 使用注释说明磁带结构
2. 依赖管理(严重)
deps-require-early- 使用 Require 验证依赖项deps-require-order- 将 Require 放在设置之前deps-require-all- 对所有外部命令使用 Requiredeps-system-requirements- 验证系统依赖项
3. 命令语法(高)
cmd-type-syntax- 使用正确的 Type 命令语法cmd-enter-explicit- 始终在 Type 后使用 Entercmd-key-repeat- 使用按键重复次数cmd-ctrl-combinations- 使用 Ctrl 组合键控制终端cmd-hide-show- 对敏感操作使用 Hide/Showcmd-env-variables- 使用 Env 设置环境变量cmd-screenshot- 使用 Screenshot 截取静态画面cmd-multiline-type- 正确处理多行命令
4. 计时与同步(高)
timing-sleep-after-enter- 在命令后添加 Sleep,以等待输出timing-wait-pattern- 使用 Wait 等待动态命令完成timing-type-speed-override- 覆盖 TypingSpeed 以突出重点timing-sleep-units- 使用明确的时间单位timing-final-sleep- 在录制结束时添加最终的 Sleeptiming-natural-pauses- 在操作之间加入自然停顿timing-wait-timeout- 设置合适的 Wait 超时时间timing-playback-speed- 使用 PlaybackSpeed 进行最终调整
5. 输出优化(中高优先级)
output-format-selection- 根据使用场景选择输出格式output-framerate- 优化帧率以减小文件体积output-dimensions-optimize- 合理设置终端尺寸output-loop-offset- 使用 LoopOffset 实现无缝循环output-multiple-formats- 生成多种输出格式output-relative-paths- 使用相对路径以便于移植
6. 视觉质量(中优先级)
visual-font-readable- 选择易读的字体设置visual-theme-selection- 选择合适的主题visual-window-decoration- 添加窗口装饰以提升观感visual-spacing- 调整字间距和行间距visual-padding-margin- 有效设置内边距和外边距visual-cursor-visibility- 确保光标清晰可见
7. CI/自动化(中优先级)
ci-github-action- 使用官方 VHS GitHub Actionci-auto-commit- 自动提交生成的资源ci-golden-files- 使用黄金文件进行集成测试ci-matrix-builds- 生成特定于平台的演示ci-caching- 在 CI 中缓存 VHS 依赖项
8. 高级模式(低优先级)
advanced-source-include- 使用 Source 创建可复用的磁带组件advanced-clipboard- 使用 Copy 和 Paste 输入复杂内容advanced-recording-live- 录制实时会话后再进行编辑advanced-server-mode- 使用服务器模式进行远程访问
使用方法
阅读各参考文件,了解详细说明和代码示例:
参考文件
| 文件 | 描述 |
|---|---|
| AGENTS.md | 包含所有规则的完整汇编指南 |
| references/_sections.md | 类别定义和排序 |
| assets/templates/_template.md | 新规则模板 |
| metadata.json | 版本和参考信息 |
评论
支持 Markdown