{
  "schemaVersion": "1.0",
  "item": {
    "slug": "terminal-screenshots",
    "name": "terminal-screenshots",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/ricardodantas/terminal-screenshots",
    "canonicalUrl": "https://clawhub.ai/ricardodantas/terminal-screenshots",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/terminal-screenshots",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=terminal-screenshots",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/terminal-screenshots"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/terminal-screenshots",
    "agentPageUrl": "https://openagent3.xyz/skills/terminal-screenshots/agent",
    "manifestUrl": "https://openagent3.xyz/skills/terminal-screenshots/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/terminal-screenshots/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Terminal Screenshots & Recordings with VHS",
        "body": "Generate terminal screenshots and animated GIFs/videos using VHS from Charmbracelet."
      },
      {
        "title": "When to Use This Skill",
        "body": "Creating terminal screenshots for documentation\nRecording animated GIFs of CLI demos\nGenerating video tutorials for command-line tools\nProducing consistent, reproducible terminal visuals\nIntegration testing with golden file comparisons"
      },
      {
        "title": "Check Installation",
        "body": "# Check if vhs is installed\nwhich vhs && vhs --version\n\n# Check dependencies\nwhich ttyd && which ffmpeg"
      },
      {
        "title": "Installation",
        "body": "Recommended: Homebrew (macOS/Linux)\n\nbrew install vhs\n\nThis installs VHS with all required dependencies (ttyd, ffmpeg).\n\nOther methods:\n\n# Fedora/RHEL\necho '[charm]\nname=Charm\nbaseurl=https://repo.charm.sh/yum/\nenabled=1\ngpgcheck=1\ngpgkey=https://repo.charm.sh/yum/gpg.key' | sudo tee /etc/yum.repos.d/charm.repo\nsudo dnf install vhs ffmpeg\n# Also install ttyd: https://github.com/tsl0922/ttyd/releases\n\n# Arch Linux\npacman -S vhs\n\n# Docker (includes all dependencies)\ndocker run --rm -v $PWD:/vhs ghcr.io/charmbracelet/vhs <cassette>.tape"
      },
      {
        "title": "1. Create a Tape File",
        "body": "vhs new demo.tape"
      },
      {
        "title": "2. Edit the Tape File",
        "body": "Tape files are simple scripts that describe what to type and capture."
      },
      {
        "title": "3. Run VHS",
        "body": "vhs demo.tape"
      },
      {
        "title": "Output Formats",
        "body": "Output demo.gif          # Animated GIF\nOutput demo.mp4          # Video file\nOutput demo.webm         # WebM video\nOutput frames/           # PNG sequence (directory)\n\nYou can specify multiple outputs in one tape file."
      },
      {
        "title": "Settings (Must Be at Top)",
        "body": "# Terminal dimensions\nSet Width 1200\nSet Height 600\n\n# Font settings\nSet FontSize 22\nSet FontFamily \"JetBrains Mono\"\n\n# Appearance\nSet Theme \"Catppuccin Mocha\"\nSet Padding 20\nSet Margin 20\nSet MarginFill \"#1e1e2e\"\nSet BorderRadius 10\nSet WindowBar Colorful\n\n# Behavior\nSet Shell \"bash\"\nSet TypingSpeed 50ms\nSet Framerate 30\nSet CursorBlink false"
      },
      {
        "title": "Common Themes",
        "body": "Run vhs themes to see all available themes. Popular ones:\n\nCatppuccin Mocha, Catppuccin Frappe\nDracula\nTokyo Night\nNord\nOne Dark"
      },
      {
        "title": "Commands",
        "body": "CommandDescriptionExampleType \"text\"Type charactersType \"echo hello\"Type@500ms \"text\"Type slowlyType@500ms \"important\"EnterPress EnterEnterEnter 2Press Enter twiceEnter 2Sleep 1sWait durationSleep 500msBackspaceDelete characterBackspace 5TabPress TabTabSpacePress SpaceSpaceCtrl+CControl sequencesCtrl+LUp/Down/Left/RightArrow keysUp 3HideStop recording framesHideShowResume recordingShowScreenshot file.pngCapture current frameScreenshot out.pngWait /regex/Wait for text to appearWait /\\$\\s*$/Env KEY \"value\"Set environment variableEnv PS1 \"$ \"Require programFail if program missingRequire gitSource file.tapeInclude another tapeSource setup.tape"
      },
      {
        "title": "Escaping Quotes",
        "body": "Use backticks to escape quotes:\n\nType `echo \"hello world\"`\nType `VAR='value'`"
      },
      {
        "title": "Static Screenshot",
        "body": "Output screenshot.png\n\nSet Width 800\nSet Height 400\nSet FontSize 18\nSet Theme \"Catppuccin Mocha\"\nSet Padding 20\n\n# Hide setup\nHide\nType \"clear\"\nEnter\nShow\n\n# The actual content\nType \"ls -la\"\nEnter\nSleep 500ms\n\nScreenshot screenshot.png"
      },
      {
        "title": "Animated Demo GIF",
        "body": "Output demo.gif\n\nSet Width 1000\nSet Height 500\nSet FontSize 20\nSet Theme \"Dracula\"\nSet TypingSpeed 50ms\nSet Padding 20\nSet WindowBar Colorful\n\n# Clean start\nHide\nType \"clear\"\nEnter\nShow\n\n# Demo sequence\nType \"echo 'Hello from VHS!'\"\nSleep 300ms\nEnter\nSleep 1s\n\nType \"date\"\nEnter\nSleep 1s\n\nType \"echo 'That was easy!'\"\nEnter\nSleep 2s"
      },
      {
        "title": "MP4 Video with Clean Prompt",
        "body": "Output tutorial.mp4\n\nSet Width 1200\nSet Height 600\nSet FontSize 24\nSet Theme \"Tokyo Night\"\nSet Shell \"bash\"\nSet Framerate 30\n\n# Set a clean, minimal prompt\nHide\nEnv PS1 \"$ \"\nType \"clear\"\nEnter\nShow\n\nType \"# Welcome to the tutorial\"\nEnter\nSleep 1s\n\nType \"git status\"\nEnter\nSleep 2s\n\nType \"git log --oneline -5\"\nEnter\nSleep 3s"
      },
      {
        "title": "1. Hide Setup/Cleanup",
        "body": "# Setup (hidden)\nHide\nType \"cd ~/project && clear\"\nEnter\nShow\n\n# Your demo here...\n\n# Cleanup (hidden)\nHide\nType \"cd - && rm temp-files\"\nEnter"
      },
      {
        "title": "2. Use a Simple Prompt",
        "body": "Hide\nEnv PS1 \"$ \"\nType \"clear\"\nEnter\nShow"
      },
      {
        "title": "3. Control Timing",
        "body": "Use Sleep liberally for readability\nSleep 500ms after typing, before Enter\nSleep 1s to 2s after command output\nEnd with Sleep 2s or more for the final frame"
      },
      {
        "title": "4. Typing Speed",
        "body": "# Default speed for setup\nSet TypingSpeed 10ms\n\n# Slow down for important parts\nType@100ms \"Important command here\""
      },
      {
        "title": "5. Wait for Output",
        "body": "Type \"npm install\"\nEnter\nWait /added \\d+ packages/  # Wait for completion message\nSleep 1s"
      },
      {
        "title": "6. Screenshot at Key Moments",
        "body": "Type \"make build\"\nEnter\nWait /Build complete/\nScreenshot build-success.png"
      },
      {
        "title": "Workflow for Documentation",
        "body": "Plan your demo sequence\nCreate a .tape file with settings\nTest with vhs demo.tape (generates output)\nIterate - adjust timing, dimensions, theme\nCommit both the .tape file and output to your repo"
      },
      {
        "title": "Recording Real Sessions",
        "body": "You can record your terminal and generate a tape file:\n\nvhs record > session.tape\n\nThen edit the generated tape file to clean it up."
      },
      {
        "title": "File Reference",
        "body": "See example tape files in this skill directory:\n\nbasic-screenshot.tape - Simple static screenshot\ndemo-recording.tape - Animated GIF demo"
      },
      {
        "title": "Resources",
        "body": "VHS GitHub\nVHS Themes\nExample Tapes"
      }
    ],
    "body": "Terminal Screenshots & Recordings with VHS\n\nGenerate terminal screenshots and animated GIFs/videos using VHS from Charmbracelet.\n\nWhen to Use This Skill\nCreating terminal screenshots for documentation\nRecording animated GIFs of CLI demos\nGenerating video tutorials for command-line tools\nProducing consistent, reproducible terminal visuals\nIntegration testing with golden file comparisons\nPrerequisites\nCheck Installation\n# Check if vhs is installed\nwhich vhs && vhs --version\n\n# Check dependencies\nwhich ttyd && which ffmpeg\n\nInstallation\n\nRecommended: Homebrew (macOS/Linux)\n\nbrew install vhs\n\n\nThis installs VHS with all required dependencies (ttyd, ffmpeg).\n\nOther methods:\n\n# Fedora/RHEL\necho '[charm]\nname=Charm\nbaseurl=https://repo.charm.sh/yum/\nenabled=1\ngpgcheck=1\ngpgkey=https://repo.charm.sh/yum/gpg.key' | sudo tee /etc/yum.repos.d/charm.repo\nsudo dnf install vhs ffmpeg\n# Also install ttyd: https://github.com/tsl0922/ttyd/releases\n\n# Arch Linux\npacman -S vhs\n\n# Docker (includes all dependencies)\ndocker run --rm -v $PWD:/vhs ghcr.io/charmbracelet/vhs <cassette>.tape\n\nBasic Usage\n1. Create a Tape File\nvhs new demo.tape\n\n2. Edit the Tape File\n\nTape files are simple scripts that describe what to type and capture.\n\n3. Run VHS\nvhs demo.tape\n\nTape File Syntax\nOutput Formats\nOutput demo.gif          # Animated GIF\nOutput demo.mp4          # Video file\nOutput demo.webm         # WebM video\nOutput frames/           # PNG sequence (directory)\n\n\nYou can specify multiple outputs in one tape file.\n\nSettings (Must Be at Top)\n# Terminal dimensions\nSet Width 1200\nSet Height 600\n\n# Font settings\nSet FontSize 22\nSet FontFamily \"JetBrains Mono\"\n\n# Appearance\nSet Theme \"Catppuccin Mocha\"\nSet Padding 20\nSet Margin 20\nSet MarginFill \"#1e1e2e\"\nSet BorderRadius 10\nSet WindowBar Colorful\n\n# Behavior\nSet Shell \"bash\"\nSet TypingSpeed 50ms\nSet Framerate 30\nSet CursorBlink false\n\nCommon Themes\n\nRun vhs themes to see all available themes. Popular ones:\n\nCatppuccin Mocha, Catppuccin Frappe\nDracula\nTokyo Night\nNord\nOne Dark\nCommands\nCommand\tDescription\tExample\nType \"text\"\tType characters\tType \"echo hello\"\nType@500ms \"text\"\tType slowly\tType@500ms \"important\"\nEnter\tPress Enter\tEnter\nEnter 2\tPress Enter twice\tEnter 2\nSleep 1s\tWait duration\tSleep 500ms\nBackspace\tDelete character\tBackspace 5\nTab\tPress Tab\tTab\nSpace\tPress Space\tSpace\nCtrl+C\tControl sequences\tCtrl+L\nUp/Down/Left/Right\tArrow keys\tUp 3\nHide\tStop recording frames\tHide\nShow\tResume recording\tShow\nScreenshot file.png\tCapture current frame\tScreenshot out.png\nWait /regex/\tWait for text to appear\tWait /\\$\\s*$/\nEnv KEY \"value\"\tSet environment variable\tEnv PS1 \"$ \"\nRequire program\tFail if program missing\tRequire git\nSource file.tape\tInclude another tape\tSource setup.tape\nEscaping Quotes\n\nUse backticks to escape quotes:\n\nType `echo \"hello world\"`\nType `VAR='value'`\n\nExamples\nStatic Screenshot\nOutput screenshot.png\n\nSet Width 800\nSet Height 400\nSet FontSize 18\nSet Theme \"Catppuccin Mocha\"\nSet Padding 20\n\n# Hide setup\nHide\nType \"clear\"\nEnter\nShow\n\n# The actual content\nType \"ls -la\"\nEnter\nSleep 500ms\n\nScreenshot screenshot.png\n\nAnimated Demo GIF\nOutput demo.gif\n\nSet Width 1000\nSet Height 500\nSet FontSize 20\nSet Theme \"Dracula\"\nSet TypingSpeed 50ms\nSet Padding 20\nSet WindowBar Colorful\n\n# Clean start\nHide\nType \"clear\"\nEnter\nShow\n\n# Demo sequence\nType \"echo 'Hello from VHS!'\"\nSleep 300ms\nEnter\nSleep 1s\n\nType \"date\"\nEnter\nSleep 1s\n\nType \"echo 'That was easy!'\"\nEnter\nSleep 2s\n\nMP4 Video with Clean Prompt\nOutput tutorial.mp4\n\nSet Width 1200\nSet Height 600\nSet FontSize 24\nSet Theme \"Tokyo Night\"\nSet Shell \"bash\"\nSet Framerate 30\n\n# Set a clean, minimal prompt\nHide\nEnv PS1 \"$ \"\nType \"clear\"\nEnter\nShow\n\nType \"# Welcome to the tutorial\"\nEnter\nSleep 1s\n\nType \"git status\"\nEnter\nSleep 2s\n\nType \"git log --oneline -5\"\nEnter\nSleep 3s\n\nTips for Clean Output\n1. Hide Setup/Cleanup\n# Setup (hidden)\nHide\nType \"cd ~/project && clear\"\nEnter\nShow\n\n# Your demo here...\n\n# Cleanup (hidden)\nHide\nType \"cd - && rm temp-files\"\nEnter\n\n2. Use a Simple Prompt\nHide\nEnv PS1 \"$ \"\nType \"clear\"\nEnter\nShow\n\n3. Control Timing\nUse Sleep liberally for readability\nSleep 500ms after typing, before Enter\nSleep 1s to 2s after command output\nEnd with Sleep 2s or more for the final frame\n4. Typing Speed\n# Default speed for setup\nSet TypingSpeed 10ms\n\n# Slow down for important parts\nType@100ms \"Important command here\"\n\n5. Wait for Output\nType \"npm install\"\nEnter\nWait /added \\d+ packages/  # Wait for completion message\nSleep 1s\n\n6. Screenshot at Key Moments\nType \"make build\"\nEnter\nWait /Build complete/\nScreenshot build-success.png\n\nWorkflow for Documentation\nPlan your demo sequence\nCreate a .tape file with settings\nTest with vhs demo.tape (generates output)\nIterate - adjust timing, dimensions, theme\nCommit both the .tape file and output to your repo\nRecording Real Sessions\n\nYou can record your terminal and generate a tape file:\n\nvhs record > session.tape\n\n\nThen edit the generated tape file to clean it up.\n\nFile Reference\n\nSee example tape files in this skill directory:\n\nbasic-screenshot.tape - Simple static screenshot\ndemo-recording.tape - Animated GIF demo\nResources\nVHS GitHub\nVHS Themes\nExample Tapes"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ricardodantas/terminal-screenshots",
    "publisherUrl": "https://clawhub.ai/ricardodantas/terminal-screenshots",
    "owner": "ricardodantas",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/terminal-screenshots",
    "downloadUrl": "https://openagent3.xyz/downloads/terminal-screenshots",
    "agentUrl": "https://openagent3.xyz/skills/terminal-screenshots/agent",
    "manifestUrl": "https://openagent3.xyz/skills/terminal-screenshots/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/terminal-screenshots/agent.md"
  }
}