Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ofcskn/mobile-automation-plugin --skill selecting-app-localesgit clone --depth 1 https://github.com/ofcskn/mobile-automation-pluginWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ofcskn/mobile-automation-plugin/selecting-app-locales)<a href="https://agentmods.dev/skills/ofcskn/mobile-automation-plugin/selecting-app-locales"><img src="https://agentmods.dev/badge/skills/ofcskn/mobile-automation-plugin/selecting-app-locales/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ofcskn/mobile-automation-plugin/selecting-app-locales"><img src="https://agentmods.dev/badge/skills/ofcskn/mobile-automation-plugin/selecting-app-locales.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00116 | $0.00511 |
| Opus 5.5 | $0.00046 | $0.00204 |
| Sonnet 5.5 | $0.00023 | $0.00102 |
| Haiku 4.5 | $0.00012 | $0.00051 |
Grade A, and why
selecting-app-locales scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Selecting App Locales
Why this must run first
Every downstream task — metadata validation, i18n JSON files, screenshot locales, App Store Connect locale folders, Google Play metadata folders — depends on a confirmed locale list. Starting without one causes rework.
The agent MUST ask the user before assuming any locale set. Even if the user says "just do English", that is a valid answer — write it to config.
Steps
-
Read
.msd/config/{app-id}.config.jsonand check iflocales[]is already confirmed.- If
locales[]exists and is non-empty: show the list and ask "Should I use these locales, or do you want to change them?" - If
locales[]is missing or empty: proceed to step 2.
- If
-
Ask the user which languages to support. Common starting points:
- English only:
en - English + Turkish:
en,tr - Major markets:
en,tr,de,fr,es,pt-BR,ja,ko,zh-Hans
- English only:
-
Run:
node skills/selecting-app-locales/scripts/resolve-locales.js {appId} "{locale-list}" -
Show the resolved locale table and confirm with user before proceeding.
-
Only proceed to downstream skills after explicit user confirmation.
RTL locales
For Arabic (ar), Hebrew (he), Farsi (fa), Urdu (ur): add ⚠️ flag and note that
React Native/Expo requires I18nManager.forceRTL(true) at app startup.
References
skills/selecting-app-locales/references/android-locales.md— BCP47 locale listskills/selecting-app-locales/references/apple-storefronts.md— storefront table
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 50 lines · 116 tokens per session scan A d8729baef09c
selecting-app-locales is a skill published in the GitHub repository ofcskn/mobile-automation-plugin (2 stars, last pushed 4mo ago), licensed MIT. It adds 116 tokens to every session and 511 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
cn-android-flavor
A release guide for the China-market Android version of a Flutter app. It covers China-based services such as JPush, WeChat, Alipay, and content moderation, while requiring the app to exclude Google services and follow local app-name and data-collection rules.
flutter-coding-conventions
A set of shared engineering rules for Flutter apps, including folder layout, app state, navigation, data models, languages, and version tracking. It is intended as a starting standard for Flutter and NestJS projects.
uniwind
Uniwind — Tailwind CSS v4 styling for React Native. Use when adding, building, or debugging components in a React Native project that uses Uniwind classNames. Covers setup, Metro config, global.css, theming, className props, accent- color props, platform/data/state/responsive variants, CSS variables, custom utilities…
react-native
Use when writing the JS/TS inside a React Native or Expo app — screens, Expo Router navigation, lists, Reanimated gestures, platform forks, offline state, native modules — or killing jank and render storms. NOT eas build/submit/OTA/config-plugin (that is expo), NOT a Dart app (that is flutter), NOT web React/DOM (that…
expo
Use when shipping a React Native app with Expo — EAS Build/Submit/Update, eas.json profiles and channels, config plugins, prebuild/CNG, runtime-version policy, OTA updates that never land, SDK upgrades, the New Architecture. NOT RN UI, navigation or native-module authoring (that is react-native), NOT a Dart app (that…
maui-localization-theming
Implement MAUI localization and theming. USE FOR: RESX/AppResources, runtime culture switching, RTL/FlowDirection, platform language metadata, AppThemeBinding, DynamicResource, light/dark/system themes, UserAppTheme. DO NOT USE FOR: general layout, accessibility audits, icon/splash assets.