Audit changed Android translations in a GitHub PR.
57
64%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Fix and improve this skill with Tessl
tessl review fix ./.agents/skills/android-check-pr-translations/SKILL.mdAudit the translation accuracy of Android string resources and localized guide files changed in a GitHub pull request.
Run the extraction script from the skill's folder to get the changed translated content from the PR:
python3 scripts/extract_pr_strings.py <pr-number> --output /tmp/pr-strings.jsonRead the extracted JSON from /tmp/pr-strings.json.
This step is complete when the output includes:
locales: changed translated <string> resources with the English source for each key.files: changed localized guide .txt files, including guide pages, field guides, and tool_keywords.txt, with the matching guides/en-US/... source text.Use the /translation-review skill to review each of the locales and files translations. Include the string key and locale name in your finding so I can identify which language has the inaccurate translation.
scripts/extract_pr_strings.py (skill-local)The script parses the output of gh pr diff and extracts:
<string> elements from res/values-*/strings.xml patch hunks.guides/<locale>/*.txt, excluding guides/en-US.Usage:
python3 scripts/extract_pr_strings.py <pr-number> --output /tmp/pr-strings.jsonOutput schema:
{
"pr_number": 1234,
"locales": {
"values-pl": {
"added": [{"key": "some_key", "value": "translated text", "english": "English source text"}],
"removed": [{"key": "old_key", "value": "old translated text", "english": "English source text"}]
}
},
"files": [
{
"path": "guides/pl-rPL/tool_keywords.txt",
"locale": "pl-rPL",
"english_path": "guides/en-US/tool_keywords.txt",
"english": "English source text...",
"added": [{"hunk": "@@ ...", "lines": ["translated text"]}],
"removed": [{"hunk": "@@ ...", "lines": ["old translated text"]}]
}
]
}locales.*.added — strings newly introduced or whose value was changed (new value)locales.*.removed — strings that were deleted or whose value was changed (old value)locales.*.english — the corresponding value from app/src/main/res/values/strings.xml; empty string if the key is not foundres/values-*/strings.xml files are included; the English res/values/strings.xml is excludedfiles[].added — added or changed translated guide lines grouped into contiguous diff blocksfiles[].removed — removed translated guide lines grouped into contiguous diff blocksfiles[].english — the complete matching English source guide file; empty string if the source file is not found08490d2
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.