brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
techsmith-sdk-patternsImplement Snagit image capture behind a narrow typed adapter with official enums, ordered configuration, bounded async completion, and path-safe results. Use when productionizing COM automation in PowerShell or .NET. Trigger with "Snagit SDK patterns", "Snagit COM adapter", or "type-safe Snagit capture".
Independent GitHub snapshot · Automated classification · Original documentation governs
name: techsmith-sdk-patterns description: >- Implement Snagit image capture behind a narrow typed adapter with official enums, ordered configuration, bounded async completion, and path-safe results. Use when productionizing COM automation in PowerShell or .NET. Trigger with "Snagit SDK patterns", "Snagit COM adapter", or "type-safe Snagit capture". argument-hint: "[repository-path] [language]" allowed-tools: Read, Glob, Grep, WebFetch, Write, Edit version: 1.6.0 author: Jeremy Longshore jeremy@intentsolutions.io license: MIT tags:
This skill isolates vendor COM details from business workflow code. The adapter owns object creation, enum translation, configuration order, completion deadlines, event or polling behavior, normalized errors, result validation, disposal, and a fake implementation for tests.
Use Read, Glob, and Grep to inspect local scripts, manifests, logs, and tests. Use WebFetch only for current primary TechSmith documentation. Use Write or Edit only after confirming the target repository file and approval boundary.
Snagit.ImageCapture.1 through one factory and report registration errors distinctly.0, window 1, region 4; outputs file 2, clipboard 4.Capture().TechSmith desktop activation is not API authentication. Resolve individual sign-in versus business-key or approved offline activation before execution. Redact all keys, account identifiers, activation artifacts, and sensitive endpoint details.
CaptureRequest, CaptureResult, typed enums, normalized error categories, and cancellation behavior.Do not expose the raw COM object to application layers, accept arbitrary ProgIDs or output paths, or make unbounded capture calls from request handlers.
Return adapter interface, enum source, migrated callers, test matrix, live verification, compatibility notes, and remaining raw-COM sites.
| Condition | Response |
|---|---|
| Type library differs | Generate or bind against the installed version and record compatibility instead of forcing a cast. |
| Completion timeout | Return a typed timeout and block output consumption. |
| COM success but file invalid | Return an artifact-validation failure and quarantine the path. |
| Disposal fails | Record it and recycle the worker before accepting more jobs. |
The example below shows the minimum redacted evidence expected from a successful invocation of this operator workflow.
CaptureRequest(Input.Window, Output.File, approvedDir, timeout) -> CaptureResult(success, canonicalPath, elapsed)