CtrlK
BlogDocsLog inGet started
Tessl Logo

tpscloud/charmedimsure

Source-verified skills for the Charm terminal stack: Bubble Tea v2, Bubbles v2, Lip Gloss v2, Huh v2, Log v2, Glamour v2, plus the gum and vhs CLIs.

99

1.02x
Quality

98%

Does it follow best practices?

Impact

100%

1.02x

Average score across 9 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

tape-syntax.mdskills/charmed-vhs/references/

vhs tape settings and actions

Every Set option and action command in a vhs 0.12.1 tape, with the rules for where settings may appear. Read this when a tape needs a setting or key that the example in SKILL.md does not show.

Settings

SettingMeaningNote
Set Shell "bash"shell to drivebash, zsh, fish, and others
Set Width 1200, Set Height 600terminal pixel size
Set Columns 80, Set Rows 24terminal size in cellsnot with Width or Height; see below
Set FontSize 32, Set FontFamily "JetBrains Mono"fontfamily must be installed
Set LetterSpacing 1.0, Set LineHeight 1.2metrics
Set Theme "Dracula"color theme by nameor inline JSON {"background": "#...", ...}
Set Padding 20inner padding in pixels
Set Margin 40, Set MarginFill "#000000"outer margin and its fillfill may be an image path
Set WindowBar Colorfulfake title barRings, RingsRight, Colorful, ColorfulRight
Set WindowBarSize 40, Set BorderRadius 8bar height, corner radius
Set TypingSpeed 50msdelay between typed charactersoverride per line with Type@10ms
Set Framerate 50, Set PlaybackSpeed 1.0recording rate and playback
Set LoopOffset 50%GIF loop start frame
Set WaitTimeout 15s, Set WaitPattern /\$/defaults for Wait

vhs themes lists the theme names.

Columns and Rows

Columns and Rows replace Width and Height per axis: vhs measures the font after applying FontSize, FontFamily, LetterSpacing, and LineHeight, then derives the pixel size, including padding, margin, and window bar. Combining Width with Columns, or Height with Rows, fails the render with cannot set both ... in either order. If the measured grid never matches, the render fails rather than recording at the wrong size. vhs validate checks none of this, and accepts a non numeric value too.

Where settings apply

Settings apply only before the first command other than Set, Output, or Require; Hide counts as such a command. A later Set is ignored with a warning, except Set TypingSpeed, which works anywhere. Set Shell and Env take effect wherever they appear.

Actions

CommandEffect
Type "text"type with the current speed; Type@20ms "fast" overrides
Enter, Tab, Space, Backspace, Delete, Insert, Escapepress, optionally [count] and @delay
Up, Down, Left, Right, PageUp, PageDownarrows and paging, same modifiers
Ctrl+C, Ctrl+Alt+Shift+X, Alt+keychords
Sleep 500ms, Sleep 2spause
Wait /regex/, Wait+Screen /regex/, Wait@10s /regex/block until the line (or whole screen) matches, with timeout
Hide, Showstop and resume capturing frames; setup goes between
Screenshot shot.pngsave a still
Output out.txt (or .ascii)append the terminal text after each recorded command, for golden-file tests
Copy "text", Pasteclipboard
Source other.tapeinclude another tape
ScrollUp 3, ScrollDown 3scroll the terminal buffer

README.md

tile.json