Agent skill

Add App Language

by qixing-jk in qixing-jk/all-api-hub

Add a supported application language or regional locale to all-api-hub across application and extension runtimes.

AGPL-3.0Auto-check passedWriting & Content

Install Add App Language

skills CLI
$ npx skills add qixing-jk/all-api-hub --skill add-app-language -a claude-code

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

GitHub CLI
$ gh skill install qixing-jk/all-api-hub add-app-language --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/qixing-jk/all-api-hub.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/add-app-language .claude/skills/add-app-language && 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
add-app-language
GitHub stars
4.9k
Token cost
~2k tokens
SKILL.md length
984 words
Files
2
Skills in repo
4
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Add a supported application language or regional locale to all-api-hub across application and extension runtimes.

  • Works in 5 steps: Establish the current baseline and… → Check existing focused coverage and… → Implement the complete integration… → …
  • Tasks that involve Translation
  • SKILL.md covers Core principle, Workflow, Completion criteria and Common omissions
  • Calls git and pnpm

What it does

Add App Language is an agent skill from qixing-jk/all-api-hub. Add a supported application language or regional locale to all-api-hub across application and extension runtimes. Not for ordinary translation-copy edits.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Writing & Content, covering Translation. It works with OpenAI. The repository describes itself as: All-in-one New-API/Sub2API account hub: balance/usage dashboard, auto check-in, one-click keys, price comparison, health checks, plus advanced channel management | 一站式…. The licence is AGPL-3.0.

When your agent uses it

  • Tasks that involve Translation

Example prompts

  • “/add-app-language”

Workflow steps

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

  1. Establish the current baseline and locale contract.
  2. Check existing focused coverage and characterize uncovered behavior before implementation. The following are coverage targets, not a…
  3. Implement the complete integration surface.
  4. Validate translation and integration integrity.
  5. Close the release-readiness decisions.

What it can do on your machine

Read from SKILL.md and the folder at commit d96f447. 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:

    • git
    • pnpm

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

  • Network

    No URLs in SKILL.md. Its commands use git and pnpm, which can reach the network depending on how they are called.

    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

Add App Language loads about 2k tokens when it runs. Until then it costs about 43 tokens; SKILL.md has 984 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~43
When it runs · the whole SKILL.md, loaded when a task matches
~2k

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 qixing-jk/all-api-hub at commit d96f447, republished under its AGPL-3.0 licence (© qixing-jk). 984 words, ~2,009 tokens.

Download SKILL.mdSave it as .claude/skills/add-app-language/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
add-app-language
description
Add a supported application language or regional locale to all-api-hub across application and extension runtimes. Not for ordinary translation-copy edits.

Add App Language

Core principle

Treat a new language as a cross-runtime compatibility feature. Define one locale contract, then make application resources, browser manifests, auxiliary locale libraries, and tests agree with it.

Workflow

  1. Establish the current baseline and locale contract.

    • Run git status --porcelain and preserve unrelated work and index state.
    • Inspect src/constants/i18n.ts, src/utils/i18n/, src/components/LanguageSwitcher.tsx, i18next.config.ts, src/locales/, src/public/_locales/, tests/utils/i18nLocaleValidation.test.ts, and nearby language-specific tests.
    • Search for locale-keyed runtime data and fallback resolvers outside src/locales/, including public JSON. Use the owning project workflow for independently managed surfaces instead of changing their translation or fallback contract incidentally.
    • Use current code, directories, and tests as the source of truth. Treat hard-coded language or namespace counts in prose as potentially stale.
    • Decide the canonical BCP 47 application tag, accepted browser or stored aliases, language-family and regional fallback behavior, Chrome underscore locale identifiers, documentation fallback, and available Day.js, date-fns, and natural-date parser support.
    • Ask only about unresolved choices that materially affect stored preferences, regional resource sharing, manifest coverage, documentation scope, or new dependencies. Reuse user decisions and established locale conventions; continue independent work while a decision is pending.
  2. Check existing focused coverage and characterize uncovered behavior before implementation. The following are coverage targets, not a requirement to edit every test file.

    • Cover alias normalization and startup language resolution in tests/utils/i18nLanguage.test.ts.
    • Cover selection, accessible names, and persisted preference behavior in tests/components/LanguageSwitcher.test.tsx.
    • Cover resource discovery and Day.js mapping in tests/utils/i18nResources.test.ts.
    • Cover documentation routing or English fallback in tests/utils/docsLocale.test.ts.
    • Cover date-fns display localization when the picker has a matching locale. Evaluate target-language natural input by default; when the current mature parser dependency supports it, add representative valid and invalid parsing tests in the same task.
    • Extend tests/utils/i18nLocaleValidation.test.ts only for a stable invariant not already covered by its generic supported-language loops, such as required manifest aliases or locale-specific plural constraints.
  3. Implement the complete integration surface.

    • Add the canonical runtime constant and derive supported-language types from SUPPORTED_UI_LANGUAGES.
    • Normalize the agreed language aliases at the language boundary; keep downstream consumers on the canonical tag.
    • Add the switcher option and its label and accessible name in every existing application locale.
    • Create src/locales/<app-tag>/ with every current namespace and normalized key family. Preserve interpolation tokens and markup, and implement every cardinal plural category reported by Intl.PluralRules(<app-tag>).
    • Keep src/utils/i18n/resources.ts glob-driven unless the resource-loading contract itself must change.
    • Register the Day.js locale in each runtime that initializes i18n: extension pages, background, and content. Map the closest date-fns locale when the date picker supports the language.
    • Wire available locale support in the existing mature natural-date parser when runtime and bundle impact remain low. If support requires another dependency or a new parsing capability, report the limitation and recommend an option; implement it only when that expansion is authorized. Custom parsing is reserved for an authorized, reproduced gap the library cannot cover.
    • Create complete src/public/_locales/<chrome_locale>/messages.json resources. Keep application tags hyphenated and Chrome locale identifiers underscored; add regional alias directories only when the browser locale contract requires them.
    • Map documentation links to an actually shipped docs locale. Keep unsupported documentation languages on the established fallback instead of creating translated docs as part of an app-locale task.
    • Give every discovered locale-keyed production surface the intended translation or an explicit suitable fallback. Use its project skill only when that independently owned surface actually needs changes, not merely because it exists.
  4. Validate translation and integration integrity.

    • Run the focused normalization, switcher, resource, docs, and locale-validation tests. Add the date-picker suites when date behavior changed.
    • Require passing i18n:status and i18n:extract:ci evidence for the complete new locale. Reuse these checks from an imminent commit hook; run them manually when no hook will run or earlier feedback is needed, rather than requiring a duplicate pre-handoff run.
    • Inspect the task-scoped locale diff and account for every unexpected deletion, plural rewrite, empty value, source-language copy, or key-shaped translation value.
    • Run pnpm build when browser manifest resources or runtime locale imports changed, and verify the built extension contains the expected _locales directories.
    • Stage only task-scoped files and let the repository commit and push hooks select and run their owned gates. Do not manually duplicate a matching hook on an unchanged index or file tree.
  5. Close the release-readiness decisions.

    • Reuse the existing normalized-language settings telemetry when SUPPORTED_UI_LANGUAGES already feeds its privacy allow-list; add no event solely for the presence of another locale.
    • Prefer focused Vitest coverage plus a production build. Add browser E2E only when the unresolved risk depends on real extension language detection, persistence across entrypoints, or packaged manifest behavior.
    • Reuse the shared language constants, normalization boundary, resource glob, and locale validator. Keep language-specific exceptions narrow and tested.
    • Use feat(i18n): add <language> locale for a complete new supported language unless the final diff is a correction to existing support.
Show full SKILL.md (199 more words)Show less

Completion criteria

  • The language can be selected, persisted, detected through the agreed aliases, and loaded in every extension runtime.
  • Every application namespace and manifest key is present, non-empty, structurally valid, and plural-complete.
  • Date formatting uses the closest verified locale behavior. Natural-language input uses verified mature parser support when available; any unsupported scope is explicit, and custom fallback covers only reproduced gaps.
  • Documentation links resolve to a shipped locale or the explicit fallback.
  • Locale-keyed runtime data outside i18next resolves to the intended language or a deliberate fallback.
  • Focused tests, i18n status and extraction, and the production build when applicable pass on the final task-scoped diff; hook-owned gates pass when the corresponding commit or push is performed.

Common omissions

  • Adding locale JSON without updating detection, selection, and stored-language normalization.
  • Updating Day.js in extension pages but not background or content runtimes.
  • Reusing a BCP 47 application tag as a Chrome manifest directory name.
  • Trusting structural key equality while plural values are empty, copied keys, or grammatically mismatched.
  • Accepting resolvedLanguage fallback as proof that a requested regional alias was normalized correctly.
  • Creating documentation translations when only application and manifest localization was requested.
  • Treating i18n:extract:ci as a translation-quality check rather than an extraction-integrity check.

© qixing-jk, AGPL-3.0. 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 1 other file in .agents/skills/add-app-language of qixing-jk/all-api-hub.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit d96f447

Compare with similar skills

Add App Language 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.

Add App Language compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Add App Language this skillqixing-jk/all-api-hub4.9k—~2kAutomated safety check: PassAGPL-3.0
Archestra Dev LLM Providersarchestra-ai/archestra4.4k—~1.9kAutomated safety check: PassCustom licence
Jtackanner/jta133—~2.4kAutomated safety check: NotesMIT
Locale Tui LocalizationAyuilos/Miffan217—~1.1kAutomated safety check: PassAGPL-3.0
Translation Diff ExportDevolutions/UniGetUI26k—~1.1kAutomated safety check: PassMIT
Translation Diff TranslateDevolutions/UniGetUI26k—~934Automated safety check: PassMIT

Similar skills

  • Archestra Dev LLM Providers

    archestra-ai/archestra

    A skill your agent uses when adding an LLM provider, changing proxy adapters or provider routes, fixing streaming/tool-call translation bugs, editing model fetchers or model handling, or touching…

    4.4k GitHub stars~1.9k tokensUpdated today
    Writing & ContentAuto-check passed
  • Jta

    ckanner/jta

    Translate JSON i18n files to multiple languages with AI-powered quality optimization.

    133 GitHub stars~2.4k tokensUpdated 11 mo ago
    Frontend & DesignAuto-check: notes
  • A skill your agent uses when users request i18n/localization updates for Android string resources: adding localized keys, translating strings.xml, filling missing translations, or moving hardcoded…

    217 GitHub stars~1.1k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Translation Diff Export

    Devolutions/UniGetUI

    Compares UniGetUI JSON locale files against English, identifies untranslated or source-changed keys, and generates patch, reference, and handoff files for a target language.

    26k GitHub stars~1.1k tokensUpdated today
    Writing & ContentAuto-check passed
  • Translation Diff Translate

    Devolutions/UniGetUI

    Translates a sparse UniGetUI JSON language patch, writes completed entries into the working copy, preserves placeholders and terminology, and prepares the patch for merge-back.

    26k GitHub stars~934 tokensUpdated today
    Writing & ContentAuto-check passed
  • Translation

    doxygen/doxygen

    Keeps all Doxygen and Doxywizard translations up to date across three mechanisms: translator C++ classes (src/translatorxx.h), Qt .ts locale files for the Doxywizard GUI (addon/doxywizard/i18n/)…

    6.6k GitHub stars~5.2k tokensUpdated 9 days ago
    Writing & ContentAuto-check passed

More from qixing-jk/all-api-hub

  • Sponsor Catalog

    qixing-jk/all-api-hub

    Maintain all-api-hub sponsor catalogs, affiliate content, assets, and coordinated README/docs listings.

    4.9k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Live Extension UI Automation

    qixing-jk/all-api-hub

    Control, debug, and test the live dev browser extension UI (Options, Popup, Sidepanel) via CDP with persistent login states and accounts.

    4.9k GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Add Site Integration

    qixing-jk/all-api-hub

    Add or extend account, managed-site or check-in integrations, improve native editors or compare their UX, or decide site-type boundaries.

    4.9k GitHub stars~4.7k tokensUpdated today
    Auto-check passed

Works with

Questions about Add App Language

What does Add App Language do?

Add a supported application language or regional locale to all-api-hub across application and extension runtimes. Add App Language is an agent skill from qixing-jk/all-api-hub. Add a supported application language or regional locale to all-api-hub across application and extension runtimes.

When should I use Add App Language?

Add App Language fits situations like: tasks that involve Translation.

How do I install Add App Language in Claude Code?

Run `npx skills add qixing-jk/all-api-hub --skill add-app-language -a claude-code`. Or copy the skill folder (.agents/skills/add-app-language in qixing-jk/all-api-hub) into .claude/skills/add-app-language in your project. Claude Code loads it when a task matches its description.

How do I install Add App Language in Codex?

Run `npx skills add qixing-jk/all-api-hub --skill add-app-language -a codex`. Or copy the skill folder (.agents/skills/add-app-language in qixing-jk/all-api-hub) into .agents/skills/add-app-language in your project. Codex loads it when a task matches its description.

Can I use Add App Language 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 qixing-jk/all-api-hub --skill add-app-language -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-app-language, .gemini/skills/add-app-language, .github/skills/add-app-language and .opencode/skills/add-app-language in your project.

What does Add App Language need to run?

Going by SKILL.md and its folder, Add App Language needs the command-line tools its instructions call (git and pnpm).

Does Add App Language access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Add App Language 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 Add App Language use?

Add App Language is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Add App Language use?

About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Add App Language?

Skills that share tags, products or a category with Add App Language: Archestra Dev LLM Providers (archestra-ai/archestra, 4.4k stars), Jta (ckanner/jta, 133 stars), Locale Tui Localization (Ayuilos/Miffan, 217 stars) and Translation Diff Export (Devolutions/UniGetUI, 26k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Add App Language?

qixing-jk (a GitHub user) maintains it in qixing-jk/all-api-hub, which has 4,929 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 10, 2026.

Source: qixing-jk/all-api-hub on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.