Agent skill

Flutter Internationalization

by MADTeacher in MADTeacher/mad-agents-skills

Add, fix, audit, and maintain Flutter internationalization with gen-l10n, ARB files, AppLocalizations, flutterlocalizations, intl formatting, plural/select messages, RTL support, locale-specific…

MITAuto-check passedFrontend & Design

Install Flutter Internationalization

skills CLI
$ npx skills add MADTeacher/mad-agents-skills --skill flutter-internationalization -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install MADTeacher/mad-agents-skills flutter-internationalization --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/MADTeacher/mad-agents-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/flutter-internationalization .claude/skills/flutter-internationalization && rm -rf skills-src

Use ~/.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/

Facts

Skill name
flutter-internationalization
GitHub stars
110
Token cost
~1.7k tokens
SKILL.md length
693 words
Files
6 (incl. references, assets)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Add, fix, audit, and maintain Flutter internationalization with gen-l10n, ARB files, AppLocalizations, flutterlocalizations, intl formatting, plural/select messages, RTL support, locale-specific…

  • Works in 7 steps: Inspect pubspec.yaml, l10n.yaml,… → Identify the requested change: bootstrap… → Use the decision guide to choose… → …
  • Asked to add l10n
  • SKILL.md covers Principle 0, Decision Guide, Workflow and Resource Routing, plus 4 more sections
  • Calls flutter and dart

What it does

Flutter Internationalization is an agent skill from MADTeacher/mad-agents-skills. Add, fix, audit, and maintain Flutter internationalization with gen-l10n, ARB files, AppLocalizations, flutterlocalizations, intl formatting, plural/select messages, RTL support, locale-specific number/date formatting, and localization build errors. Use when asked to add l10n or i18n, translate Flutter UI text, configure l10n.yaml, manage ARB translations, migrate away from package:fluttergen imports, or troubleshoot generated localization code.

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files and assets (for example `assets/l10n.yaml`, `references/arb-format.md` and `references/l10n-config.md`).

It sits in Frontend & Design, covering Internationalization and Cross-platform mobile apps. It works with Flutter. The repository describes itself as: Collection of agent skills for AI assistants working with Dart and Flutter projects. The licence is MIT.

When your agent uses it

  • Asked to add l10n
  • Translate Flutter UI text
  • Configure l10n.yaml
  • Manage ARB translations

Example prompts

  • “/flutter-internationalization”

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Inspect pubspec.yaml, l10n.yaml, existing *.arb files, generated imports,
  2. Identify the requested change: bootstrap l10n, add a locale, replace hardcoded
  3. Use the decision guide to choose gen-l10n, legacy intl_translation, or a
  4. Read only the routed references needed for the task.
  5. Make the localization change
  6. Generate and validate with flutter gen-l10n. Then run the narrowest relevant
  7. Report changed files, generated behavior, validation run, and any locales or

What it can do on your machine

Read from SKILL.md and the folder at commit 2fb67e3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • flutter
    • dart

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Flutter Internationalization loads about 1.7k tokens when it runs, and up to ~5.5k if it reads all its reference files. Until then it costs about 120 tokens; SKILL.md has 693 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~120
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.5k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from MADTeacher/mad-agents-skills at commit 2fb67e3, republished under its MIT licence (© MADTeacher). 693 words, ~1,682 tokens.

Download SKILL.mdSave it as .claude/skills/flutter-internationalization/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
flutter-internationalization
description
Add, fix, audit, and maintain Flutter internationalization with gen-l10n, ARB files, AppLocalizations, flutter_localizations, intl formatting, plural/select messages, RTL support, locale-specific number/date formatting, and localization build errors. Use when asked to add l10n or i18n, translate Flutter UI text, configure l10n.yaml, manage ARB translations, migrate away from package:flutter_gen imports, or troubleshoot generated localization code.
metadata.author
Stanislav [MADTeacher] Chernyshev
metadata.version
2.0

Flutter Internationalization

You are a Flutter localization implementer. Make localized apps build, generate, and read naturally across target locales.

Principle 0

Generated localization code must match the current Flutter project and SDK. Do not copy stale package:flutter_gen imports or enable synthetic-package; use source-generated AppLocalizations imports unless the project proves it is on an older pinned Flutter workflow.

Decision Guide

  • Use gen-l10n for new work, most migrations, ARB management, plural/select messages, generated AppLocalizations, and Material/Cupertino apps.
  • Use legacy intl_translation only when the project already uses Intl.message() plus generated messages_all.dart, or the user explicitly asks to keep that workflow. Confirm intl_translation is a dependency before running its generators.
  • Use custom map-based localizations only for tiny prototypes or existing code that intentionally avoids code generation. Name this limitation in the final response.
  • If the project has an existing localization setup, follow its paths, class names, locale list, and generation style before introducing defaults.

Workflow

  1. Inspect pubspec.yaml, l10n.yaml, existing *.arb files, generated imports, MaterialApp/CupertinoApp setup, and current translation usage.
  2. Identify the requested change: bootstrap l10n, add a locale, replace hardcoded UI text, add placeholders/plurals/selects, format values, fix generation, or migrate stale imports/config.
  3. Use the decision guide to choose gen-l10n, legacy intl_translation, or a custom fallback. Prefer the smallest change that fits the existing project.
  4. Read only the routed references needed for the task.
  5. Make the localization change:
    • add flutter_localizations and intl:any when missing;
    • set flutter: generate: true;
    • create or update l10n.yaml;
    • create or update ARB files with descriptions and placeholder metadata;
    • wire AppLocalizations into MaterialApp or CupertinoApp;
    • replace hardcoded UI strings with generated getters or methods.
  6. Generate and validate with flutter gen-l10n. Then run the narrowest relevant project check, usually flutter analyze or affected tests.
  7. Report changed files, generated behavior, validation run, and any locales or translation gaps that remain.

Resource Routing

TaskRead or useWhy
Configure or debug l10n.yaml, generated output paths, nullable getters, deferred loading, or untranslated trackingreferences/l10n-config.mdCurrent gen-l10n options and safe defaults
Create or repair ARB messages, placeholders, plurals, selects, escaping, or metadatareferences/arb-format.mdARB schema patterns and translator context rules
Add number, currency, percent, or date/time formattingreferences/number-date-formats.mdSupported NumberFormat and DateFormat values
Bootstrap a new gen-l10n setup or run a smoke fixtureassets/l10n.yaml, assets/app_en.arbReusable minimal templates

gen-l10n Contract

For new gen-l10n setup, the minimum current configuration is:

yaml
flutter:
  generate: true
yaml
arb-dir: lib/l10n
template-arb-file: app_en.arb
output-localization-file: app_localizations.dart

Use source imports that match the generated location, commonly:

dart
import 'l10n/app_localizations.dart';

Prefer generated lists when possible:

dart
localizationsDelegates: AppLocalizations.localizationsDelegates,
supportedLocales: AppLocalizations.supportedLocales,

If generated files are written to a custom output-dir, update imports to that directory. Do not import package:flutter_gen/gen_l10n/app_localizations.dart unless the local project is intentionally pinned to an older Flutter workflow.

Show full SKILL.md (260 more words)Show less

Legacy Intl Fallback

When preserving Intl.message():

  • require intl_translation in dev dependencies before extraction/generation;
  • keep generated files and imports consistent with the existing project;
  • run extraction before generation;
  • on Windows or shells without wildcard expansion, list ARB files explicitly.

Typical commands:

bash
dart run intl_translation:extract_to_arb --output-dir=lib/l10n lib/main.dart
dart run intl_translation:generate_from_arb --output-dir=lib/l10n --no-use-deferred-loading lib/main.dart lib/l10n/intl_*.arb

If this workflow is not already present, explain why gen-l10n is the safer default.

Constraints

  • Do not invent translations. If target-language text is not supplied, add clear placeholder translations only when the user approved that, or report the missing translations.
  • Do not concatenate localized strings. Use placeholders, plural, or select messages.
  • Do not manually format numbers, currency, percentages, dates, or times when gen-l10n placeholder formatting can do it.
  • Do not add synthetic-package: true; current Flutter marks synthetic package generation as deprecated and unavailable.
  • Set nullable-getter: false only when the project accepts non-null generated getter behavior. Otherwise keep the project default and use the required null handling in code.
  • Keep translator-facing descriptions and examples in the template ARB file.
  • For RTL locales, check text direction, layout assumptions, mirrored icons, and locale-specific widgets.

Validation

Always validate a completed localization change:

  • flutter gen-l10n succeeds with the project's l10n.yaml;
  • generated import paths compile;
  • every new ARB key exists in the template file and needed locale files;
  • placeholders in translated ARB values match template metadata;
  • plural/select messages include other;
  • number/date placeholders use supported formats from references/number-date-formats.md;
  • relevant flutter analyze or tests pass, or blockers are reported.

For skill maintenance, also check YAML frontmatter, local markdown links, JSON validity for ARB assets, YAML validity for l10n.yaml, resource routing, and layer coherence between SKILL.md, references, and assets.

© MADTeacher, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (references, assets) in flutter-internationalization of MADTeacher/mad-agents-skills.

  • SKILL.md
  • assets/app_en.arb
  • assets/l10n.yaml
  • references/arb-format.md
  • references/l10n-config.md
  • references/number-date-formats.md

Open the folder on GitHubat commit 2fb67e3

Compare with similar skills

Flutter Internationalization 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.

Flutter Internationalization compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Flutter Internationalization this skillMADTeacher/mad-agents-skills110—~1.7kAutomated safety check: PassMIT
Flutter Setup Localizationabdulmominsakib/localmind2651 repos~1.5kAutomated safety check: PassMIT
Flutter LocalizationHoangNguyen0403/agent-skills-standard571—~640Automated safety check: PassMIT
Add Flutter Docusaurus Localematthiasn/lotti1.2k—~1.2kAutomated safety check: PassGPL-3.0
Material 3hamen/material-3-skill1.5k2 repos~7.8kAutomated safety check: PassMIT
Taro UI Guidejd-opensource/taro-ui4.7k—~1.3kAutomated safety check: PassMIT

Similar skills

  • Flutter Setup Localization

    abdulmominsakib/localmind

    Add flutterlocalizations and intl dependencies, enable "generate true" in pubspec.yaml, and create an l10n.yaml configuration file.

    265 GitHub starsUsed in 1 repo~1.5k tokens
    MobileAuto-check passed
  • Flutter Localization

    HoangNguyen0403/agent-skills-standard

    Add Flutter translation assets, locale initialization, localized strings, locale switching, and plurals with easylocalization and CSV or JSON files.

    571 GitHub stars~640 tokensUpdated today
    MobileAuto-check passed
  • Add, complete, or audit a locale across a Flutter application's ARB catalogs and a localized Docusaurus manual, including generated localization code, locale selectors, native platform declarations…

    1.2k GitHub stars~1.2k tokensUpdated today
    MobileAuto-check passed
  • Material 3

    hamen/material-3-skill

    Implement Google's Material Design 3 (Material You) UI system.

    1.5k GitHub starsUsed in 2 repos~7.8k tokens
    Frontend & DesignAuto-check passed
  • Taro UI Guide

    jd-opensource/taro-ui

    Guides installing, configuring, styling and using taro-ui (At* components) in Taro apps for WeChat, Alipay, H5 and React Native.

    4.7k GitHub stars~1.3k tokensUpdated 14 days ago
    Frontend & DesignAuto-check passed
  • Frontend UI Standards

    MaxHan7/frontend-ui-standards-skill

    A skill your agent uses when implementing, refactoring, or reviewing frontend UI across SwiftUI, React, React Native, Flutter, web, or mobile apps.

    106 GitHub stars~2.4k tokensUpdated 3 mo ago
    Frontend & DesignAuto-check passed

More from MADTeacher/mad-agents-skills

All 11 skills in this repo
  • Flutter Networking

    MADTeacher/mad-agents-skills

    Implement, fix, debug, review, or refactor Flutter networking code for HTTP/REST APIs, WebSocket realtime flows, authentication and token refresh, request headers, timeouts, retries, JSON parsing…

    110 GitHub stars~1.8k tokensUpdated 5 mo ago
    Auto-check passed
  • Agents Md Generator

    MADTeacher/mad-agents-skills

    Create, generate, update, repair, trim, or split minimal AGENTS.md files for repository roots and confirmed nested modules using progressive disclosure.

    110 GitHub stars~1.4k tokensUpdated 5 mo ago
    Auto-check passed
  • Dart Drift

    MADTeacher/mad-agents-skills

    Build, fix, audit, and migrate Drift persistence in Dart CLI, server-side, and non-Flutter desktop apps.

    110 GitHub stars~1.2k tokensUpdated 5 mo ago
    Auto-check passed
  • Flutter Duit Bdui

    MADTeacher/mad-agents-skills

    Integrate, fix, review, migrate, test, or debug Duit / flutterduit backend-driven UI in Flutter applications.

    110 GitHub stars~1.6k tokensUpdated 5 mo ago
    Auto-check passed
  • Flutter Testing

    MADTeacher/mad-agents-skills

    Write, fix, review, debug, and validate Flutter tests for apps, packages, and plugins.

    110 GitHub stars~1.5k tokensUpdated 5 mo ago
    Auto-check passed
  • Flutter Adaptive UI

    MADTeacher/mad-agents-skills

    Build, fix, review, and validate adaptive or responsive Flutter UIs for mobile, tablet, desktop, web, large screens, foldables, and mixed input devices.

    110 GitHub stars~1.5k tokensUpdated 5 mo ago
    Auto-check passed

Works with

Questions about Flutter Internationalization

What does Flutter Internationalization do?

Add, fix, audit, and maintain Flutter internationalization with gen-l10n, ARB files, AppLocalizations, flutterlocalizations, intl formatting, plural/select messages, RTL support, locale-specific…. Flutter Internationalization is an agent skill from MADTeacher/mad-agents-skills. Add, fix, audit, and maintain Flutter internationalization with gen-l10n, ARB files, AppLocalizations, flutterlocalizations, intl formatting, plural/select messages, RTL support, locale-specific number/date formatting, and localization build errors.

When should I use Flutter Internationalization?

Flutter Internationalization fits situations like: asked to add l10n; translate Flutter UI text; configure l10n.yaml; manage ARB translations.

How do I install Flutter Internationalization in Claude Code?

Run `npx skills add MADTeacher/mad-agents-skills --skill flutter-internationalization -a claude-code`. Or copy the skill folder (flutter-internationalization in MADTeacher/mad-agents-skills) into .claude/skills/flutter-internationalization in your project. Claude Code loads it when a task matches its description.

How do I install Flutter Internationalization in Codex?

Run `npx skills add MADTeacher/mad-agents-skills --skill flutter-internationalization -a codex`. Or copy the skill folder (flutter-internationalization in MADTeacher/mad-agents-skills) into .agents/skills/flutter-internationalization in your project. Codex loads it when a task matches its description.

Can I use Flutter Internationalization in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add MADTeacher/mad-agents-skills --skill flutter-internationalization -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/flutter-internationalization, .gemini/skills/flutter-internationalization, .github/skills/flutter-internationalization and .opencode/skills/flutter-internationalization in your project.

What does Flutter Internationalization need to run?

Going by SKILL.md and its folder, Flutter Internationalization needs the command-line tools its instructions call (flutter and dart).

Does Flutter Internationalization access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Flutter Internationalization safe to install?

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.

What licence does Flutter Internationalization use?

Flutter Internationalization is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Flutter Internationalization use?

About 1.7k tokens (SKILL.md is roughly 6.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.9k tokens, read only when the agent opens those files.

What are the alternatives to Flutter Internationalization?

Skills that share tags, products or a category with Flutter Internationalization: Flutter Setup Localization (abdulmominsakib/localmind, 265 stars), Flutter Localization (HoangNguyen0403/agent-skills-standard, 571 stars), Add Flutter Docusaurus Locale (matthiasn/lotti, 1.2k stars) and Material 3 (hamen/material-3-skill, 1.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Flutter Internationalization?

MADTeacher (a GitHub user) maintains it in MADTeacher/mad-agents-skills, which has 110 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on May 1, 2026.

Source: MADTeacher/mad-agents-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.