Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add mendixlabs/mxcli --skill translationsgit clone --depth 1 https://github.com/mendixlabs/mxcliWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/mendixlabs/mxcli/translations)<a href="https://agentmods.dev/skills/mendixlabs/mxcli/translations"><img src="https://agentmods.dev/badge/skills/mendixlabs/mxcli/translations/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/mendixlabs/mxcli/translations"><img src="https://agentmods.dev/badge/skills/mendixlabs/mxcli/translations.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00080 | $0.01295 |
| Opus 5 | $0.00040 | $0.00647 |
| Sonnet 5 | $0.00016 | $0.00259 |
| Haiku 4.5 | $0.00008 | $0.00129 |
Grade A, and why
translations scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 123 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Translations
Every user-visible string of a Mendix app — page titles, widget captions, button
labels, validation messages, enum captions, menu items — is a Texts$Text with
one translation per language. MDL treats them in bulk: one file per language.
The loop
# 1. export: an untranslated string comes back with an EMPTY target
mxcli -p app.mpr -c "describe translations for de_DE" > de_DE.mdl
# 2. fill in the right-hand sides (by hand, or hand the file to an LLM)
# 3. write them back
mxcli exec de_DE.mdl -p app.mpr
That is the whole design: DESCRIBE emits the CREATE form, so the export
format and the import format are the same file, and the empty targets are the
prompt.
Statements
describe translations [in <Module>] for <lang>;
create translations [in <Module>] for <lang> ( 'src' as 'target', ... );
create or modify translations [in <Module>] for <lang> ( 'src' as 'target', ... );
create or replace translations [in <Module>] for <lang> ( 'src' as 'target', ... );
Entries use as, not a colon: a translation maps a user-provided name to another
name.
| verb | meaning |
|---|---|
create |
the "add a language" form — refuses if that language already has translations anywhere in scope |
create or modify |
merge; a source string the file does not name keeps whatever it has |
create or replace |
the file is authoritative — a translation whose source the file does not name is removed, and the run names what it deleted |
IN <Module> scopes both directions, and under OR REPLACE it bounds the
deletion — without it, a set of per-module files would wipe each other on every
run.
The trap: a language that is not enabled
A translation for a language the project has not enabled is stored, passes
mx check, and is discarded at build time. Measured with
mxbuild --target=deploy: the string reaches nothing under deployment/ — no
translations_<code>.properties is produced at all — while the model and Studio
Pro both keep it happily.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 123 lines · 80 tokens per session scan A e18df9be39b2
translations is a skill published in the GitHub repository mendixlabs/mxcli (119 stars, last pushed yesterday), licensed Apache-2.0. It adds 80 tokens to every session and 1,295 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
internationalization-i18n
Audits and implements internationalization (i18n) and localization (l10n) for a frontend application. Covers message format selection, locale file organisation, pluralization, RTL layout, and CI extraction workflows. Invoked when the user asks to add i18n support, set up translations, or make the UI multilingual.
stuck
Diagnose frozen, stuck, or slow Qwen Code sessions on this machine. Scans for problematic processes, high CPU/memory usage, hung subprocesses, and debug logs. Use /stuck or /stuck to focus on a specific process.
structured-debugging
Hypothesis-driven debugging methodology for hard bugs. Use this skill whenever you're investigating non-trivial bugs, unexpected behavior, flaky tests, or tracing issues through complex systems. Activate proactively when debugging requires more than a quick glance — especially when the first attempt at a fix didn't…
desktop-brand-builder
Generate a branded Qwen Code desktop package from the Tauri desktop shell using a minimal brandId and logo. Use when the user wants a custom, white-label, or rebranded desktop client, installer, DMG/EXE/AppImage/deb, or one-click brand build on top of packages/desktop-shell.
coordinate
Coordinate a small team of Qwen Code teammates with enforced read-only workers, an optional worktree-pinned writer, shared tasks, peer messages, and existing Agent View tabs. Invoke explicitly with /coordinate.
deck-graphify-dark
A dark slide-deck template for AI tools, developer tools, and knowledge graphs, using gradients, floating blurred shapes, graph diagrams, code styling, and glass-like cards.