Skills & Tools

Developer tooling · Agent skill

Bilingual Content Check

Catch missing translations and incomplete content before publishing a bilingual portfolio.

The problem

A bilingual site can ship a page in one language while its counterpart is missing. Checking each entry by hand also makes it easy to overlook duplicate slugs, empty paragraphs, and static view counts presented as analytics.

Try it

One translation is missing.

This fictional example has an English note without its Portuguese counterpart. Run the check, load the complete example, or edit the JSON. Everything runs in this browser; nothing is uploaded. Technical diagnostics are in English.

How it works

A small JavaScript validator checks an explicit publication schema. The agent skill explains how to prepare an export and interpret the report; deterministic code handles the structural checks. The portfolio, browser demo, and downloadable CLI all use the same validator.

  1. 01 · Export EN + PT
  2. 02 · Check the structure
  3. 03 · Review findings

Implementation decisions

  • Match slugs within each collection, so translated titles keep the same route identity.
  • Return all findings with field paths, rather than stop at the first incomplete entry.
  • Keep the validator independent of Node.js and React so the same rules run in the browser and CLI.
  • Read JSON without executing content modules. Leave publication and editorial decisions to the author.

Verifiable result

One executable set of rules now powers the portfolio's publication check, the interactive example, and the downloadable tool. The missing-translation example returns a failing report and CLI exit code 1; the complete example returns exit code 0.

The automated checks exercise valid content, missing translations, duplicate and invalid slugs, incomplete fields, malformed input, static view counts, empty catalogs, input immutability, and CLI exit codes. Run npm run check:skill in the portfolio repository to reproduce them.

Limitations

A pass means structural consistency, not editorial approval. This checker cannot verify translation meaning, factual claims, links, permissions, or calendar dates. The standalone package does not check draft imports or public routes; those remain separate portfolio checks.

Installation and usage

Download and extract the package. Run the command below from the extracted bilingual-content-check folder. To use it with an agent, place that folder in your agent's supported skills directory and invoke bilingual-content-check with your content export. The CLI requires Node.js 18+ and has no package dependencies; this implementation was checked on Node.js 22.

node scripts/check.mjs examples/valid.json
node scripts/check.mjs examples/missing-translation.json

Example agent request:

Use bilingual-content-check to review content.json. Report findings by field path and explain the corrections. Do not publish anything.
Explore my other work →
Bilingual Content Check — Tiago Pinto