stdout carries the JSON report and nothing else, so it pipes straight into a parser. The summary above is on stderr, and --json silences it.
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/meta-snippet-linter.mjs --config examples/clean/meta.config.json
node bin/meta-snippet-linter.mjs --config site/meta.config.jsonRead the result
incomplete outranks fail, which outranks pass. A run that could not read a page never exits 0, and a run that measured nothing reports nothing-checked rather than coming back clean.
Where this check stops
The length bounds are house style, not search-engine guarantees. No engine publishes a character limit. Snippets are truncated by rendered pixel width in a layout nobody controls, on a device nobody controls, and an engine may rewrite a title or description entirely from page content. A title inside your bounds is a title that matches the policy you wrote down — nothing more. This tool carries that sentence in its own report so it cannot be quoted as a ranking promise.
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.