fill-translations
Fill missing Reactive Resume translations across all configured web and mobile locales using parallel subagents, then prove catalog completeness. Use for “fill translations”, “complete translations”, missing locale strings, or a request to ensure translations are complete before release.
Install / Use
npx skills add reactive-resume/reactive-resume --skill fill-translationsInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of fill-translations
fill-translations scores 95/100 on our quality scale, 311th of 4,649 Development & Engineering skills we index (top 7%).
Its SKILL.md is 9.4 KB long, split into 5 sections with 2 code examples: a thorough specification that gives an agent plenty to work with.
With 45,154 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated today, so fill-translations is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
fill-translations compared with similar skills
All 4 of these similar skills score higher than fill-translations; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| fill-translations (this skill)by reactive-resume | 95 | 45.2k | today | SKILL.md |
| taste-skillby Leonxlnx | 100 | 107.4k | 1d ago | CLAUDE.md |
| ai-job-searchby ai-job-search-dev | 100 | 68.6k | 1d ago | CLAUDE.md |
| claude-howtoby luongnv89 | 100 | 46.3k | 3d ago | CLAUDE.md |
| algorithmic-artby anthropics | 100 | 177.9k | 40d ago | SKILL.md |
Frequently asked questions
- How do I install fill-translations?
- Run
npx skills add reactive-resume/reactive-resume --skill fill-translations. The install tabs above show the steps for each supported agent. - Which AI agents does fill-translations work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is fill-translations safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is fill-translations still maintained?
- The repository was last updated today, so fill-translations is actively maintained.
Skill content
View source on GitHubname: fill-translations description: Fill missing Reactive Resume translations across all configured web and mobile locales using parallel subagents, then prove catalog completeness. Use for “fill translations”, “complete translations”, missing locale strings, or a request to ensure translations are complete before release. Cover existing gaps unrelated to the current task unless the user explicitly narrows scope. Do not activate for ordinary prose translation or a read-only audit that forbids edits.
Fill translations
Finish every active catalog entry, including older gaps outside the current feature. Preserve existing translations and unrelated work. Technical completeness and linguistic quality are separate claims.
Run from the Reactive Resume checkout root. Follow its AGENTS.md, command wrappers, and current package scripts. Commands below match its Lingui 6 workflow; inspect installed --help if flags change. Use existing dependencies; no translation service or new dependency is required.
Establish the baseline
-
Read
GLOSSARY.md, both apps'lingui.config.ts, relevant package scripts, andapps/mobile/scripts/seed-locales.mjs. Derive locales, source locale, and pseudo-locale from current config rather than a fixed locale count. Currentlyzu-ZAis a generated pseudo-locale, not Zulu translation work. -
Capture
git status --shortand the initial diff. Save copies of catalog bytes outside the checkout so preservation checks compare against current work, notHEAD. Record pre-existing compiled locale files too. Keep staged/unstaged changes intact; no reset, checkout, clean, commit, push, or release unless separately requested. -
Extract all source strings in both apps, sequentially, before dispatching workers:
pnpm --filter web lingui:extract pnpm --filter mobile lingui:extractThe root
lingui:extractcurrently covers web only. Web's script cleans obsolete entries and overwrites the source locale from source messages; mobile's script also seeds empty entries from web. These extraction changes are expected. Compare preservation of active nonempty target translations against the post-extraction baseline. -
Run both missing checks, capturing each exit code and verbose findings even when one fails:
pnpm --filter web exec lingui check missing --mode catalog --verbose pnpm --filter mobile exec lingui check missing --mode catalog --verboseInventory all missing entries by app and locale. Use installed
@lingui/format-pothrough the owning workspace for structured inventory/edits; empty-line regexes misread multiline messages, headers, contexts, and obsolete entries. Keep msgid, context, translator comments, and source references with each work item. If no entries are missing, continue to verification without spawning translation workers.
Translate in parallel
Complete web first, seed mobile again, then translate only remaining mobile gaps. This reuses shared strings and avoids duplicate or inconsistent work.
Assign disjoint whole locale files to workers. Keep a small bounded pool within available concurrency; balance by missing-entry count, group related locales where useful, and refill slots as workers finish. Never assign two writers to the same file, even for different messages. Give workers only missing messages plus relevant existing examples and source context instead of whole catalogs when possible.
Use the environment's delegated-task tools. In T3 Code, inspect orchestrator_capabilities and use delegate_task when inherited model options require it; preserve the current provider/model/options unless the user requests another selection. Use shared-checkout tasks for disjoint files: worktrees start from committed state and can omit current uncommitted source/catalog changes. Use native subagents where supported and appropriate. If delegation is unavailable, complete the same inventory sequentially and disclose that limitation. Do not create ordinary top-level conversations.
Give each worker this brief, substituting exact paths and entries:
Fill only empty active target translations in these owned files: [paths]. Work from this post-extraction inventory: [entries/counts]. Read
GLOSSARY.md, existing locale terminology, comments, and referenced UI when meaning is ambiguous. Translate natural interface language for each locale. Preserve IDs, contexts, source messages, existing nonempty translations, headers, references, and unrelated edits. Preserve named placeholders, ICU variable names/types, select keys, exact-number branches,otherbranches, plural#, numbered rich-text tag indexes/pairing, literal URLs/config identifiers, and brands. Adapt plural categories to the target language. Keep tags attached to their corresponding meaning when word order changes. Use the installed PO parser/serializer; review round-trip diffs. English copying is acceptable only for genuine shared words, brands, and literals, never to conceal a gap. You own translation edits only: no extraction, seeding, global formatting, compilation, commits, or cleanup. Other workers share this checkout. Return paths, filled counts, unresolved IDs, uncertainties, and checks actually run. Finish every assigned entry or identify the blocker; do not claim global completion.
The parent tracks completion against the inventory, reviews returned diffs/counts, and resolves failures. Worker summaries alone are insufficient evidence. Retry only failed files/entries; do not rerun successful batches.
After every web worker finishes, seed once from the parent:
pnpm --filter mobile exec node scripts/seed-locales.mjs
pnpm --filter mobile exec lingui check missing --mode catalog --verbose
Partition remaining mobile gaps into disjoint files and apply the same workflow. Existing nonempty mobile translations remain authoritative. Finish all workers before shared commands run.
Verify completion
First compare parsed catalog changes with the post-extraction baseline: active IDs/contexts/source messages stay intact, existing nonempty target translations stay intact, and only missing translations are filled. Review newly added messages against original source. Compare placeholder and numbered-tag structure for every filled entry using parsed ICU/message structure, not brace regexes. Inspect installed Lingui parser utilities before using them; locale plural categories may legitimately differ. A syntactically valid message can still omit a variable, so compilation alone is insufficient. Review glossary-sensitive wording and suspicious source-identical translations.
Run every gate below and record each result. These commands are for the whole catalog, not changed locales or changed source files:
pnpm --filter web exec lingui check sync --clean --overwrite
pnpm --filter mobile exec lingui check sync --clean
pnpm --filter web exec lingui check missing --mode catalog --verbose
pnpm --filter mobile exec lingui check missing --mode catalog --verbose
pnpm --filter web exec lingui compile --strict
pnpm --filter mobile exec lingui compile --strict
pnpm pdf:translations
pnpm --filter @reactive-resume/tooling test locales/section-titles.test.ts
pnpm lint:agent
pnpm format:check
git diff --check
check sync proves catalogs reflect current source; an old but fully filled catalog is insufficient. --mode catalog proves each target catalog is filled before fallback. Default missing checks and compile --strict allow fallback and cannot replace it. Compilation adds ICU syntax/bundle validation. The tooling test must actually execute its tests; zero tests is not proof.
Compilation writes locale .js files. Before compiling, back up existing output bytes and record absent output paths. After checking, restore pre-existing outputs to those exact bytes and remove only files created by this invocation. Preserve outputs that were already untracked. If another process changes an output during verification, preserve its change and report the conflict instead of overwriting it. Retain generated PDF section-title and Present-label changes, since those are maintained artifacts. Inspect final status/diff against the initial baseline.
If synchronization fails, inspect source drift and re-extract from the parent after workers finish, seed again, translate new gaps, and repeat affected gates. If missing checks fail, continue filling. Repair translation-introduced syntax/placeholder errors. Report unrelated pre-existing failures separately; do not change lint policy, fallback config, source strings, or locale lists to manufacture a pass. Never pipe away exit codes or treat a partial, timed-out, or unrun check as passing.
Stop when all configured web and mobile catalogs are synchronized, all catalog-mode missing checks return zero, changed messages preserve their runtime structure, strict compilation and derived-artifact checks pass, and unrelated work remains intact. If a blocker prevents this, report exact outstanding app/locale/message counts and failed or unrun gates; do not claim completion.
Report
Keep the handoff short: entries filled by app and locale count; final missing counts; commands/checks that passed or failed; unresolved linguistic uncertainty. State whether native-language review occurred. Mention parallelism only if workers actually ran. A clean catalog proves technical completeness, not native-language quality, browser/native behavior, deployment, or release readiness. Leave changes uncommitted unless asked otherwise.
Related Skills
taste-skill
107.4kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
ai-job-search
68.6kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
claude-howto
46.3kA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
