From techsmith-pack
Automates Snagit screenshot/video capture via COM API and Camtasia rendering to MP4 using PowerShell/Python. For screen capture automation and documentation video pipelines.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin techsmith-packThis skill is limited to using the following tools:
Capture a screenshot with Snagit's COM API and render a Camtasia project to MP4 -- the two fundamental TechSmith automation operations.
Guides CI integration for TechSmith Snagit COM API and Camtasia CLI using PowerShell or pywin32 Python. For automating screen captures and video rendering in Windows pipelines.
Build Capso macOS screenshot app from source with XcodeGen, explore architecture, integrate SPM packages like CaptureKit and AnnotationKit into SwiftUI projects for capture, recording, OCR.
Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.
Share bugs, ideas, or general feedback.
Capture a screenshot with Snagit's COM API and render a Camtasia project to MP4 -- the two fundamental TechSmith automation operations.
# Create a Snagit image capture object
$capture = New-Object -ComObject Snagit.ImageCapture
# Configure capture settings
$capture.Input = 4 # siiWindow = 4 (capture active window)
$capture.Output = 2 # sioFile = 2 (save to file)
$capture.OutputImageFile.FileType = 4 # sitJPEG = 4
$capture.OutputImageFile.Directory = "C:\Screenshots"
$capture.OutputImageFile.Filename = "capture"
# Enable preview in Snagit Editor
$capture.EnablePreview = $false # Set $true to open in editor
# Capture!
$capture.Capture()
Write-Host "Screenshot saved to C:\Screenshots\capture.jpg"
$videoCapture = New-Object -ComObject Snagit.VideoCapture
$videoCapture.Input = 2 # siiRegion = 2
$videoCapture.Output = 2 # sioFile = 2
$videoCapture.OutputImageFile.Directory = "C:\Recordings"
# Start recording
$videoCapture.Capture()
# Recording starts -- manually stop via Snagit UI or timer
# Render a .tscproj to MP4 using CamtasiaProducer
$producer = "C:\Program Files\TechSmith\Camtasia 2025\CamtasiaProducer.exe"
& $producer `
/i "C:\Projects\tutorial.tscproj" `
/o "C:\Output\tutorial.mp4" `
/preset "MP4 - Smart Player (up to 1080p)" `
/watermark "none"
Write-Host "Camtasia render complete: tutorial.mp4"
import win32com.client
# Snagit image capture
capture = win32com.client.Dispatch("Snagit.ImageCapture")
capture.Input = 0 # siiDesktop = 0 (full screen)
capture.Output = 2 # sioFile
capture.OutputImageFile.FileType = 3 # sitPNG
capture.OutputImageFile.Directory = "C:\\Screenshots"
capture.OutputImageFile.Filename = "auto_capture"
capture.EnablePreview = False
capture.Capture()
print("Screenshot captured via Python")
Screenshot saved to C:\Screenshots\capture.jpg
Camtasia render complete: tutorial.mp4
| Error | Cause | Solution |
|---|---|---|
Snagit not running | COM requires Snagit open | Launch Snagit first |
Access denied on capture | Screen lock or UAC | Run as administrator |
| Camtasia render fails | Missing codec | Install required codec pack |
| Output file exists | Overwrite conflict | Add timestamp to filename |
Proceed to techsmith-local-dev-loop for development workflow.