Claude-code-plugins-plus-skills techsmith-sdk-patterns
install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/techsmith-pack/skills/techsmith-sdk-patterns" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-skills-techsmith-sdk-patterns && rm -rf "$T"
manifest:
plugins/saas-packs/techsmith-pack/skills/techsmith-sdk-patterns/SKILL.mdsource content
TechSmith Sdk Patterns
Overview
Production patterns for TechSmith COM API: capture factories, output configuration, and batch processing.
Instructions
Step 1: Capture Factory Pattern
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()
Step 2: Batch Camtasia Rendering
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 }
Error Handling
| Pattern | Use Case | Benefit |
|---|---|---|
| Factory function | Different capture types | Consistent configuration |
| Batch rendering | Multiple projects | Automated pipeline |
| Timestamped names | Avoid overwrites | Unique filenames |
Resources
Next Steps
Apply patterns in
techsmith-core-workflow-a.