Smooth Translation
openforecast-org/smooth
Port a feature from the R smooth package to the Python port, or check how an R name maps to Python.
Keeps all Doxygen and Doxywizard translations up to date across three mechanisms: translator C++ classes (src/translatorxx.h), Qt .ts locale files for the Doxywizard GUI (addon/doxywizard/i18n/)…
$ npx skills add doxygen/doxygen --skill translation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install doxygen/doxygen translation --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/doxygen/doxygen.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/translation .claude/skills/translation && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "translation" agent skill from https://github.com/doxygen/doxygen/tree/master/.github/skills/translation into .claude/skills/translation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "translation", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/doxygen/doxygen/tree/master/.github/skills/translationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add doxygen/doxygen --skill translation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install doxygen/doxygen translation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/doxygen/doxygen.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/translation .agents/skills/translation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "translation" agent skill from https://github.com/doxygen/doxygen/tree/master/.github/skills/translation into .agents/skills/translation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "translation", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add doxygen/doxygen --skill translation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install doxygen/doxygen translation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/doxygen/doxygen.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/translation .cursor/skills/translation && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "translation" agent skill from https://github.com/doxygen/doxygen/tree/master/.github/skills/translation into .cursor/skills/translation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "translation", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/doxygen/doxygen.git --path .github/skills/translation--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add doxygen/doxygen --skill translation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install doxygen/doxygen translation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/doxygen/doxygen.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/translation .gemini/skills/translation && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "translation" agent skill from https://github.com/doxygen/doxygen/tree/master/.github/skills/translation into .gemini/skills/translation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "translation", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install doxygen/doxygen translationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add doxygen/doxygen --skill translation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/doxygen/doxygen.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/translation .github/skills/translation && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "translation" agent skill from https://github.com/doxygen/doxygen/tree/master/.github/skills/translation into .github/skills/translation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "translation", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add doxygen/doxygen --skill translation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install doxygen/doxygen translation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/doxygen/doxygen.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/translation .opencode/skills/translation && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "translation" agent skill from https://github.com/doxygen/doxygen/tree/master/.github/skills/translation into .opencode/skills/translation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "translation", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
translationKeeps all Doxygen and Doxywizard translations up to date across three mechanisms: translator C++ classes (src/translatorxx.h), Qt .ts locale files for the Doxywizard GUI (addon/doxywizard/i18n/)…
Translation is an agent skill from doxygen/doxygen. Keeps all Doxygen and Doxywizard translations up to date across three mechanisms: translator C++ classes (src/translatorxx.h), Qt .ts locale files for the Doxywizard GUI (addon/doxywizard/i18n/), and config-option XML files (src/i18n/configxx.xml). Use this skill when updating or adding a language translation, improving translation quality, handling new or changed English source strings, adding a new language, or synchronising translations after a Doxygen release.
Its SKILL.md is about 5.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `compile_language.sh`). Compatibility notes: Requires Python 3 (for doc/translator.py and src/configgen.py) and Git. Targets the doxygen/doxygen repository.
It sits in Writing & Content, covering Translation. It works with C++. The repository describes itself as: Official doxygen git repository. The licence is GPL-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit d4fe2eb. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (Shell), which the agent can run.
Shell commands in SKILL.md call:
gitpython3pythonbashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires Python 3 (for doc/translator.py and src/configgen.py) and Git. Targets the doxygen/doxygen repository.
From compatibility in the SKILL.md frontmatter.
Translation loads about 5.2k tokens when it runs. Until then it costs about 121 tokens; SKILL.md has 2,149 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from doxygen/doxygen at commit d4fe2eb, republished under its GPL-2.0 licence (© doxygen). 2,149 words, ~5,182 tokens.
.claude/skills/translation/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.This document instructs a translation agent on how to keep all Doxygen and Doxywizard translations up to date, improve translation quality, and handle changes to English source strings.
Doxygen uses three separate, independent translation mechanisms:
| Mechanism | Source Files | Target Files | Purpose |
|---|---|---|---|
| Translator classes | src/translator_en.h | src/translator_xx.h | All text strings emitted by doxygen itself into generated documentation |
Qt .ts files | addon/doxywizard/i18n/doxywizard_xx.ts | generated doxywizard_xx.qm files | Doxywizard GUI strings |
| Config XML files | src/config.xml | src/i18n/config_xx.xml | Documentation for configuration options shown in the Doxywizard Expert tab |
Each mechanism must be maintained independently. A change in the English text of a source file need to be translated to each of the corresponding Target Files.
src/translator_xx.h)src/translator.h defines the abstract Translator base class with pure virtual methods
such as trRelatedFunctions(), trClassHierarchy(), etc.src/translator_en.h contains TranslatorEnglish, which is always fully up to date and
is the authoritative source for English strings and their inline documentation comments.src/translator_xx.h file (e.g. translator_de.h for
German, translator_fr.h for French) containing a class such as TranslatorGerman that
overrides every method.src/translator_adapter.h defines adapter classes (TranslatorAdapter_X_Y_Z) that provide
English fallback implementations for methods introduced in a given release. A language
translator that is not fully up to date inherits from the appropriate adapter instead of
directly from Translator.src/language.cpp registers all translators and doc/maintainers.txt lists the human maintainer
for each language.Run the doc/translator.py script from the repository root to get a full report:
python translator.py --doc .This generates doc/translator_report.txt and doc/language.dox. The report shows:
Translator)CRITICAL — DO NOT COMMIT GENERATED FILES: The files generated by
doc/translator.py(doc/translator_report.txt,doc/language.dox,doc/mailto.txt) are auto-generated and must never be staged, committed, or included in pull requests under any circumstances. After runningdoc/translator.py, always rungit checkout -- doc/orgit restore doc/to discard all changes in thedoc/directory before committing. Onlysrc/translator_xx.h(and optionally.ts/ config XML files for the other mechanisms) should appear in commits.
When commits touch src/translator_en.h:
git log --follow -p src/translator_en.h to see all changes.TranslatorEnglish are pure virtual in Translator; they must be
implemented in every language file or the build will fail.TranslatorAdapter_X_Y_Z in translator_adapter.h as
English fallbacks. A language translator can temporarily inherit from the new adapter;
eventually it should provide a real translation.src/translator_xx.hTranslatorAdapter_X_Y_Z, all
methods listed in that adapter (and newer adapters) are missing and fall back to English.TranslatorEnglish and provide a
translation. Use and copy the inline comments in translator_en.h to understand the context.TranslatorAdapter_X_Y_Z to Translator directly.translator_adapter.h for the
current release, it must include the English fallback for each new method.Run the following script from the root of the repo to check for build errors:
bash .github/skills/translation/compile_language.shQCString
concatenation or format arguments) remain grammatically correct for all cases.OPTIMIZE_OUTPUT_FOR_C,
OPTIMIZE_OUTPUT_VHDL, OPTIMIZE_OUTPUT_SLICE. Translate all branches.translator_en.h (same indentation, same brace style).src/translator_en.h to src/translator_xx.h.TranslatorEnglish to TranslatorYourLanguage.idLanguage() to return the language name in lowercase English (e.g., "portuguese").trISOLang() to return the BCP 47 / ISO language tag (e.g., "pt-PT").getLanguageString() to return the correct HTML-help language code.src/language.cpp and add a case entry in setTranslator().doc/maintainers.txt with your name and e-mail.addon/doxywizard/i18n/doxywizard_xx.ts)Doxywizard uses Qt's internationalization framework. All user-visible strings in the
Doxywizard GUI are wrapped with tr() calls in the C++ source. The Qt Linguist tool extracts
these strings into .ts (Translation Source) XML files. At build time the .ts files are
compiled into binary .qm files and embedded in the application resources.
Supported languages and their files:
| Language | File |
|---|---|
| German | addon/doxywizard/i18n/doxywizard_de.ts |
| Spanish | addon/doxywizard/i18n/doxywizard_es.ts |
| French | addon/doxywizard/i18n/doxywizard_fr.ts |
| Japanese | addon/doxywizard/i18n/doxywizard_ja.ts |
| Korean | addon/doxywizard/i18n/doxywizard_ko.ts |
| Russian | addon/doxywizard/i18n/doxywizard_ru.ts |
| Simplified Chinese | addon/doxywizard/i18n/doxywizard_zh_CN.ts |
| Traditional Chinese | addon/doxywizard/i18n/doxywizard_zh_TW.ts |
Each .ts file is XML with this structure:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="de">
<context>
<name>MainWindow</name>
<message>
<source>Original English text</source>
<translation>Translated text</translation>
</message>
...
</context>
</TS>Translation contexts and their source files:
| Context | Source file | Purpose |
|---|---|---|
MainWindow | doxywizard.cpp | Main wizard interface |
Expert | expert.cpp | Expert mode interface and dynamic content |
Messages | doxywizard.cpp | Topic names and format labels |
Wizard | wizard.cpp | Wizard step labels |
Step1–Step4 | wizard.cpp | Step dialog labels |
TuneColorDialog | wizard.cpp | Color tuning dialog |
InputString | inputstring.cpp | String input control |
InputStrList | inputstrlist.cpp | String list input control |
HelpLabel | helplabel.h | Label with context menu |
When commits touch any of the Doxywizard .cpp or .h source files, check whether new
tr("...") calls have been added or existing ones have changed.
A quick way to scan for changes to translatable strings between two commits:
git log commit1..commit2 --follow -p addon/doxywizard | grep '^[+-].*\btr("'New or changed tr() calls require updates to every .ts file.
.ts fileEdit the file directly in any text editor or use Qt Linguist:
<message> block inside the appropriate <context> with the
<source> text matching exactly what the C++ code passes to tr(), and provide a
<translation>.<message> by its old <source> text, update
<source> to the new English text, and update <translation> accordingly.<message> block.type="unfinished" on the
<translation> element. Remove this attribute once the translation is complete..ts files%1, %2, … positional markers, they
must appear in the translation (order may differ if the target language requires it).< for <, > for >, & for &,
' for ', " for "..ts files, HTML tags embedded in strings must also be escaped:
write <code> instead of <code>..ts files for the same language..ts file (e.g., doxywizard_de.ts) to doxywizard_xx.ts.language attribute in the <TS> root element to the BCP 47 tag (e.g., pt).<translation> strings..ts file (it typically uses a glob; check
addon/doxywizard/CMakeLists.txt).src/i18n/config_xx.xml)The configuration options shown in the Doxywizard Expert tab come from src/config.xml.
Each option has a <docs> or <desc> element with an English description. For non-English Doxywizard
sessions, a language-specific src/i18n/config_xx.xml file provides translated <docs> or <desc>
elements. The file mirrors the structure of config.xml but contains only the translated
documentation text for each option. Note that when an option in config.xml has multiple <docs> tags
only the ones where the doxywizard attribute is absent or set to 1 need to translated. Also
<docs> elements for a single option are combined in the translation into a single <docs> element.
Supported languages and their files:
| Language | File |
|---|---|
| German | src/i18n/config_de.xml |
| Spanish | src/i18n/config_es.xml |
| French | src/i18n/config_fr.xml |
| Japanese | src/i18n/config_ja.xml |
| Korean | src/i18n/config_ko.xml |
| Russian | src/i18n/config_ru.xml |
| Simplified Chinese | src/i18n/config_zh_CN.xml |
| Traditional Chinese | src/i18n/config_zh_TW.xml |
config.xmlWhen a commit touches src/config.xml, options may have been added, removed, or their
documentation may have changed. Use the built-in sync tool to find differences:
Report mode (read-only, shows what is out of sync):
cd src
python3 configgen.py -sync config.xml i18nAuto-sync mode (automatically adds missing options with English text, removes obsolete ones):
cd src
python3 configgen.py -sync config.xml i18n --autoAfter auto-sync, newly added options will have their English <docs> text copied verbatim —
these must then be translated manually.
<?xml version="1.0" encoding="utf-8"?>
<doxygenconfig lang="Deutsch">
<group name="Project" trname="Translated group name"
docs="Translated group description">
<option type="string" id="OPTION_NAME" ...>
<docs>
<![CDATA[Translated documentation for this option. Use \c for code spans.]]>
</docs>
</option>
...
</group>
</doxygenconfig>Key points:
lang attribute on <doxygenconfig> is the human-readable language name in that
language (e.g., "Deutsch" for German, "Français" for French).<group> has a trname (translated group name) and a docs attribute (translated
group description).<option> element must carry the same id as in config.xml.<docs> content uses CDATA sections. Doxygen markup such as \c, \note, and
HTML entities are supported inside <docs>.<value> child elements under an <option> may have a trname attribute for a
translated value label; if omitted the English name is used.config.xml); the sync tool will flag and remove these.\c, \note, \deprecated, and similar Doxygen markers exactly.<, >, &) and hyperlinks.When reviewing commits to the repository, check the following files and act accordingly:
| Changed file | Translation work required |
|---|---|
src/translator_en.h | Update all src/translator_xx.h files |
src/translator_adapter.h | Review: new adapter = new methods needed in all languages |
src/translator.h | Review: new pure virtuals = mandatory new methods in all languages |
addon/doxywizard/*.cpp, *.h | Update all addon/doxywizard/i18n/doxywizard_xx.ts files |
src/config.xml | Run sync tool; translate newly added options in all src/i18n/config_xx.xml files |
Useful git commands for change detection:
# Show changes to the English translator since a given tag
git log <old-commit>..<new-commit> --follow -p src/translator_en.h
# Show only added/removed method lines (replace <old-commit> and <new-commit>
# with actual commit hashes, branch names, or tags, e.g. v1.9.0..HEAD)
git diff <old-commit>..<new-commit> src/translator_en.h | grep '^[+-].*QCString tr'
# Show changes to doxywizard GUI strings
git log <old-commit>..<new-commnt> --follow -p addon/doxywizard | grep '^[+-].*\btr("'
# Show changes to config.xml option documentation
git log <old-commit>..<new-commit> --follow -p src/config.xmlWhen reviewing existing translations for quality:
Technical terminology: Verify that software-development terms (class, namespace, struct, typedef, enum, template, interface, module, concept, etc.) follow the established convention for the target language. In many languages these English terms are kept as-is; in others (e.g., French) there are official equivalents.
Accents and diacritics: Check that all diacritics are present and correct. Common mistakes include missing accents in French (é/è/ê), missing umlauts in German (ä/ö/ü/ß), and missing cedillas or tildes in Spanish/Portuguese.
Grammar and plural agreement: Methods with bool singular parameters must produce
grammatically correct singular and plural forms. Methods with bool first_capital must
capitalise the first letter when the parameter is true.
Consistency: The same English term must map to the same translated term throughout all three mechanisms for a given language.
Outdated adapters: If a language translator inherits from a very old adapter (e.g.,
TranslatorAdapter_1_8_0), many methods fall back to English. Prioritise bringing these
up to date.
Encoding: All files must be UTF-8 without BOM. Do not use HTML entities like ä
in translator .h files; use the actual UTF-8 character ä directly. Note that this
is the opposite of the rule for .ts files (Mechanism 2), where XML special characters
must be escaped using entities — the difference arises because .ts files are XML
while .h files are plain C++ source.
Run doc/translator.py to see which language translators are behind and which methods
are missing. Translate missing methods in each affected src/translator_xx.h.
Inspect src/translator_adapter.h to see if a new adapter class was added for this
release. The new adapter lists all new methods — these are the ones that need translating.
Run python3 src/configgen.py -sync src/config.xml src/i18n --auto to sync the
localized config XML files. Translate the newly copied English <docs> in each
src/i18n/config_xx.xml.
Inspect commits to Doxywizard source for new or changed tr() calls. Update every
addon/doxywizard/i18n/doxywizard_xx.ts accordingly.
Verify no type="unfinished" attributes remain in any .ts file.
Proofread the updated translations for grammar, terminology, and accents.
Submit a pull request with all three sets of changes grouped together for review.
© doxygen, GPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .github/skills/translation of doxygen/doxygen.
Open the folder on GitHubat commit d4fe2eb
Translation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Translation this skilldoxygen/doxygen | 6.6k | — | ~5.2k | Automated safety check: Pass | GPL-2.0 | |
| Smooth Translationopenforecast-org/smooth | 107 | — | ~2.2k | Automated safety check: Pass | LGPL-2.1 | |
| Msvc Clmohitmishra786/low-level-dev-skills | 253 | — | ~1.3k | Automated safety check: Pass | MIT | |
| C Cpp To Lean4 TranslatorArabelaTso/Skills-4-SE | 253 | — | ~2.5k | Automated safety check: Pass | Apache-2.0 | |
| Code TranslationArabelaTso/Skills-4-SE | 253 | — | ~3.1k | Automated safety check: Pass | Apache-2.0 | |
| Cpp To Dafny TranslatorArabelaTso/Skills-4-SE | 253 | — | ~2.9k | Automated safety check: Pass | Apache-2.0 |
openforecast-org/smooth
Port a feature from the R smooth package to the Python port, or check how an R name maps to Python.
mohitmishra786/low-level-dev-skills
MSVC cl.exe and clang-cl skill for Windows C/C++ projects. An agent skill from mohitmishra786/low-level-dev-skills.
ArabelaTso/Skills-4-SE
Translate C or C++ programs into equivalent Lean4 code, preserving program semantics and ensuring the generated code is well-typed, executable, and can run successfully.
ArabelaTso/Skills-4-SE
Convert code between programming languages while preserving functionality and semantics.
ArabelaTso/Skills-4-SE
Translate C/C++ programs to equivalent Dafny code while preserving semantics and ensuring verification.
Devolutions/UniGetUI
Compares UniGetUI JSON locale files against English, identifies untranslated or source-changed keys, and generates patch, reference, and handoff files for a target language.
Works with
Categories
Keeps all Doxygen and Doxywizard translations up to date across three mechanisms: translator C++ classes (src/translatorxx.h), Qt .ts locale files for the Doxywizard GUI (addon/doxywizard/i18n/)…. Translation is an agent skill from doxygen/doxygen.xml).
Translation fits situations like: adding a language translation; improving translation quality; changed English source strings; adding a new language.
Run `npx skills add doxygen/doxygen --skill translation -a claude-code`. Or copy the skill folder (.github/skills/translation in doxygen/doxygen) into .claude/skills/translation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add doxygen/doxygen --skill translation -a codex`. Or copy the skill folder (.github/skills/translation in doxygen/doxygen) into .agents/skills/translation in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add doxygen/doxygen --skill translation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/translation, .gemini/skills/translation, .github/skills/translation and .opencode/skills/translation in your project.
Going by SKILL.md and its folder, Translation needs a shell for the scripts in its folder and the command-line tools its instructions call (git, python3, python and bash). Our summary lists: Python 3; A Bash shell. Compatibility (from SKILL.md): Requires Python 3 (for doc/translator.py and src/configgen.py) and Git. Targets the doxygen/doxygen repository. .
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Translation is published under the GPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.2k tokens (SKILL.md is roughly 21k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Translation: Smooth Translation (openforecast-org/smooth, 107 stars), Msvc Cl (mohitmishra786/low-level-dev-skills, 253 stars), C Cpp To Lean4 Translator (ArabelaTso/Skills-4-SE, 253 stars) and Code Translation (ArabelaTso/Skills-4-SE, 253 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
doxygen (a GitHub user) maintains it in doxygen/doxygen, which has 6,589 GitHub stars. The repository was last updated on September 30, 2026.
Source: doxygen/doxygen on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.