The same region gets annotated on a 2× laptop capture and a 3× phone capture, and the two sets of numbers are not comparable. Somebody divides by the scale, gets 816.667, and the box quietly moves. Then somebody else opens the screenshot in an editor to draw on it, and the original is gone.
This walkthrough uses the tool's public README and checked-in example files. Run the command from a repository checkout with Node.js 22+; inspect the source before using it on your own files.
Run the checked-in example
node bin/screenshot-annotation-normalizer.mjs --root examples/clean --jsonRead the result
A consumer that pipes stdout must handle an empty stdout on exit 2. A configuration error means the run never had a subject, so there is nothing to report about; evidence that could not be obtained means the run had a subject and failed to learn something about it, and the report says which input that was.
Where this check stops
Every limit is enforced, overridable with --limit NAME=VALUE, and named in the finding when it is reached. Exceeding one is an incomplete result — never a quietly shorter answer, and never a pass. An unknown limit name is an error.
Before adapting the command to your own workflow, review the accepted inputs, exit codes and safety boundaries in the README.
Compiled with AI assistance from checked-in public documentation and example scripts. Run the example and review the repository's current documentation before relying on its result.