agentleFS
AmruthPillaiAmruthPillai/Reactive-Resume/.agents/skills/fill-translations/SKILL.md

fill-translations

Skill45k starsChanged todayMITView on GitHub

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.

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run from the Reactive Resume checkout root.

    line 10
  2. Very specific:

    Read GLOSSARY.md, both apps' lingui.config.ts, relevant package scripts, and apps/mobile/scripts/seed-locales.mjs.

    line 14
  3. Distinctive:

    Run both missing checks, capturing each exit code and verbose findings even when one fails:

    line 25
  4. Distinctive:

    After every web worker finishes, seed once from the parent:

    line 48
  5. Distinctive:

    Run every gate below and record each result.

    line 61

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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

  1. Read GLOSSARY.md, both apps' lingui.config.ts, relevant package scripts, and apps/mobile/scripts/seed-locales.mjs. Derive locales, source locale, and pseudo-locale from current config rather than a fixed locale count. Currently zu-ZA is a generated pseudo-locale, not Zulu translation work.
  2. Capture git status --short and the initial diff. Save copies of catalog bytes outside the checkout so preservation checks compare against current work, not HEAD. Record pre-existing compiled locale files too. Keep staged/unstaged changes intact; no reset, checkout, clean, commit, push, or release unless separately requested.
  3. Extract all source strings in both apps, sequentially, before dispatching workers:

    pnpm --filter web lingui:extract
    pnpm --filter mobile lingui:extract

    The root lingui:extract currently 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.

  4. 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 --verbose

    Inventory all missing entries by app and locale. Use installed @lingui/format-po through 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, other branches, 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.

Download now (ZIP)

Trending

Quiet since September.about the whole repository

Dec 2025: 0 mentionsJan 2026: 2 mentionsFeb 2026: 0 mentionsMar 2026: 0 mentionsApr 2026: 1 mentionMay 2026: 0 mentionsJun 2026: 0 mentionsJul 2026: 2 mentionsAug 2026: 2 mentionsSep 2026: 38 mentionsOct 2026: 0 mentionsNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the AmruthPillai/Reactive-Resume repository that our weekly crawl found. There is no adoption data for this file yet.

Who's talking about AmruthPillai/Reactive-Resume

The biggest 5 of 91 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 91

Talked about on GitHub, Bluesky, YouTube, Hacker News and the web (91 times).

On GitHub · 50

45 more on GitHub

On Bluesky · 26

21 more on Bluesky

On YouTube · 11

6 more on YouTube

On the web · 1

  • Other versions3 projects use a version of this.

    Word for word · 2

    1. amruthpillai/reactive-resume★ 45k100% same
    2. reactive-resume/reactive-resume★ 45k100% same

    Edited · 0

    None found.

    Wrote their own version · 1

    1. karakeep-app/karakeep★ 30ksame name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository2 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.