From techsmith-pack
Provides PowerShell patterns for Snagit COM API screen captures and Camtasia batch rendering. Use for TechSmith screen capture and video editing automation.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin techsmith-packThis skill is limited to using the following tools:
Production patterns for TechSmith COM API: capture factories, output configuration, and batch processing.
Automates Snagit screenshot/video capture via COM API and Camtasia rendering to MP4 using PowerShell/Python. For screen capture automation and documentation video 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.
Production patterns for TechSmith COM API: capture factories, output configuration, and batch processing.
function New-SnagitCapture {
param(
[ValidateSet('Desktop', 'Window', 'Region')]
[string]$InputType = 'Window',
[ValidateSet('PNG', 'JPEG', 'BMP', 'GIF')]
[string]$Format = 'PNG',
[string]$OutputDir = "C:\Screenshots",
[bool]$Preview = $false
)
$inputMap = @{ Desktop = 0; Window = 4; Region = 2 }
$formatMap = @{ PNG = 3; JPEG = 4; BMP = 0; GIF = 2 }
$capture = New-Object -ComObject Snagit.ImageCapture
$capture.Input = $inputMap[$InputType]
$capture.Output = 2 # File
$capture.OutputImageFile.FileType = $formatMap[$Format]
$capture.OutputImageFile.Directory = $OutputDir
$capture.OutputImageFile.Filename = "capture_$(Get-Date -Format 'yyyyMMdd_HHmmss')"
$capture.EnablePreview = $Preview
return $capture
}
# Usage
$cap = New-SnagitCapture -InputType Window -Format PNG
$cap.Capture()
function Invoke-CamtasiaBatchRender {
param(
[string[]]$ProjectFiles,
[string]$OutputDir,
[string]$Preset = "MP4 - Smart Player (up to 1080p)"
)
$producer = "C:\Program Files\TechSmith\Camtasia 2025\CamtasiaProducer.exe"
$results = @()
foreach ($project in $ProjectFiles) {
$name = [System.IO.Path]::GetFileNameWithoutExtension($project)
$output = Join-Path $OutputDir "$name.mp4"
$proc = Start-Process -FilePath $producer -ArgumentList @(
"/i", "`"$project`"",
"/o", "`"$output`"",
"/preset", "`"$Preset`""
) -Wait -PassThru
$results += @{ File = $name; ExitCode = $proc.ExitCode }
}
return $results
}
| Pattern | Use Case | Benefit |
|---|---|---|
| Factory function | Different capture types | Consistent configuration |
| Batch rendering | Multiple projects | Automated pipeline |
| Timestamped names | Avoid overwrites | Unique filenames |
Apply patterns in techsmith-core-workflow-a.