Agent skill

Check Loanword

by ayutaz in ayutaz/piper-plus

ZH-EN code-switching loanword の同期と forward-compat を 1 コマンドで検査。zhenloanword.json を編集したり 5 ランタイムのいずれかに新規エントリを追加する前後に呼ぶ。Python source を canonical とし、Rust×2 / Go / C / WASM / C++ の 6 mirror + Python…

MITAuto-check passedDevelopment

Install Check Loanword

skills CLI
$ npx skills add ayutaz/piper-plus --skill check-loanword -a claude-code

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

GitHub CLI
$ gh skill install ayutaz/piper-plus check-loanword --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/ayutaz/piper-plus.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/check-loanword .claude/skills/check-loanword && 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
check-loanword
GitHub stars
234
Token cost
~1.1k tokens
SKILL.md length
302 words
Files
1
Skills in repo
20
Repo updated
First seen
Licence
MIT

At a glance

ZH-EN code-switching loanword の同期と forward-compat を 1 コマンドで検査。zhenloanword.json を編集したり 5 ランタイムのいずれかに新規エントリを追加する前後に呼ぶ。Python source を canonical とし、Rust×2 / Go / C / WASM / C++ の 6 mirror + Python…

  • Works in 5 steps: ローカルで sync 状態を確認 → drift 発見時は自動修復 → Schema validation のみ確認 (CI 用) → …
  • Development work in your project
  • SKILL.md covers 何をチェックするか, 実行ステップ, 確認すべき事項 and トラブルシューティング, plus 1 more section
  • Calls python, git and cargo

What it does

Check Loanword is an agent skill from ayutaz/piper-plus. ZH-EN code-switching loanword の同期と forward-compat を 1 コマンドで検査。zhenloanword.json を編集したり 5 ランタイムのいずれかに新規エントリを追加する前後に呼ぶ。Python source を canonical とし、Rust×2 / Go / C / WASM / C++ の 6 mirror + Python runtime mirror = 計 7 copy + 6 fixture mirror が byte-for-byte 一致しているかを確認。

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development. It works with Python, C++, Rust and C#. The repository describes itself as: Multilingual neural TTS (6 languages: JA/EN/ZH/ES/FR/PT, code supports SV) — C++, C, Rust, Go, Python, npm (WASM). VITS + Prosody, streaming, CUDA/CoreML/DirectML. pip install…. The licence is MIT.

When your agent uses it

  • Development work in your project

Example prompts

  • “/check-loanword”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Bash(python *), Bash(uv run *), Bash(cargo test *), Bash(go test *), Bash(node *), Bash(dotnet test *), Bash(git diff *), Bash(git status *)

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. ローカルで sync 状態を確認
  2. drift 発見時は自動修復
  3. Schema validation のみ確認 (CI 用)
  4. 各ランタイムの forward-compat loader test を回す
  5. CI workflow が green か確認

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(python *)
    • Bash(uv run *)
    • Bash(cargo test *)
    • Bash(go test *)
    • Bash(node *)
    • Bash(dotnet test *)
    • Bash(git diff *)
    • Bash(git status *)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python
    • git
    • cargo
    • go
    • dotnet
    • node
    • gh

    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 gh, 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

Check Loanword loads about 1.1k tokens when it runs. Until then it costs about 71 tokens; SKILL.md has 302 words of instructions outside code blocks.

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

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 ayutaz/piper-plus at commit b5f6073, republished under its MIT licence (© ayutaz). 302 words, ~1,126 tokens.

Download SKILL.mdSave it as .claude/skills/check-loanword/SKILL.md (or your agent's skills folder).
name
check-loanword
description
ZH-EN code-switching loanword の同期と forward-compat を 1 コマンドで検査。zh_en_loanword.json を編集したり 5 ランタイムのいずれかに新規エントリを追加する前後に呼ぶ。Python source を canonical とし、Rust×2 / Go / C# / WASM / C++ の 6 mirror + Python runtime mirror = 計 7 copy + 6 fixture mirror が byte-for-byte 一致しているかを確認。
allowed-tools
Bash(python *), Bash(uv run *), Bash(cargo test *), Bash(go test *), Bash(node *), Bash(dotnet test *), Bash(git diff *), Bash(git status *)
disable-model-invocation
false

ZH-EN Loanword Consistency Check

ZH-EN code-switching (Issue #384) で使う loanword 辞書 (zh_en_loanword.json) を 5 ランタイムに展開する際の同期チェック。pua-contract.toml の PUA 同期と同じ哲学で、Python source を 唯一の真実 とし、CI で 7 copy + 6 fixture mirror が byte-for-byte 一致することを保証する。

何をチェックするか

docs/reference/zh-en-loanword/README.md の不変条件:

  1. 7 mirror byte-for-byte sync — Python source と以下の 6 mirror が SHA256 一致:
    • Python runtime (src/python_run/piper_plus/phonemize/data/zh_en_loanword.json)
    • Rust 2 crate (src/rust/piper-plus-g2p/data/, src/rust/piper-core/data/)
    • Go (src/go/phonemize/data/zh_en_loanword.json)
    • C# (src/csharp/PiperPlus.Core/Phonemize/Data/zh_en_loanword.json)
    • WASM (src/wasm/g2p/data/zh_en_loanword.json)
    • C++ (src/cpp/data/zh_en_loanword.json)
  2. Schema validation — Python の _load_loanword_data と同じ書式 ('<section>.<key>' must be list[str]) でエラーを出すこと
  3. 6 fixture mirror sync — tests/fixtures/g2p/zh_en_loanword_matrix.json と以下の mirror が一致:
    • src/go/phonemize/testdata/
    • src/csharp/PiperPlus.Core.Tests/Phonemize/TestData/
    • src/cpp/tests/fixtures/
    • src/wasm/g2p/test/fixtures/
    • src/rust/piper-plus-g2p/tests/fixtures/, src/rust/piper-core/tests/fixtures/
  4. Forward-compat (YELLOW-5) — 各ランタイムの loader が schema_version: 2 未来の追加フィールドを silent ignore すること

実行ステップ

1. ローカルで sync 状態を確認
bash
python scripts/check_loanword_consistency.py

期待: OK All 7 copies + 6 fixture mirrors in sync で終了 (exit 0)。

2. drift 発見時は自動修復

Python source を canonical とした 一方向コピー で復元:

bash
python scripts/check_loanword_consistency.py --diff   # 差分確認 (dry-run)
python scripts/check_loanword_consistency.py --fix    # 6 mirror + 6 fixture を Python source に揃える

注意: Mirror を直接編集しても --fix で上書きされる。JSON 変更を提案する場合は 必ず Python source (src/python/g2p/piper_plus_g2p/data/zh_en_loanword.json) を編集 すること。

3. Schema validation のみ確認 (CI 用)
bash
python scripts/check_loanword_consistency.py --schema-only
4. 各ランタイムの forward-compat loader test を回す

各ランタイムに *Loader*Schema*V2* 系の test が存在し、未来の schema_version: 2 を受理することを pinning している:

bash
# Rust (両 crate)
cd src/rust && cargo test test_zh_en_loader_accepts_unknown_fields_in_schema_v2

# Go
cd src/go && go test ./phonemize/... -run TestLoaderAcceptsUnknownFieldsInSchemaV2

# C#
cd src/csharp && dotnet test --filter "FullyQualifiedName~Loader_AcceptsUnknownFieldsInSchemaV2"

# WASM
node --test src/wasm/g2p/test/test-chinese-zh-en.js  # forward-compat assertion 含む
5. CI workflow が green か確認
bash
gh workflow view "ZH-EN Loanword Sync Gate" --branch <branch>

json-sync job (5 分以内) が PASS していれば OK。

確認すべき事項

  • python scripts/check_loanword_consistency.py が OK All 7 copies + 6 fixture mirrors in sync を返す
  • schema validation でエラーなし
  • 5 ランタイムの forward-compat loader test が PASS
  • CI workflow ZH-EN Loanword Sync Gate / json-sync が green
  • git diff src/python/g2p/piper_plus_g2p/data/zh_en_loanword.json が意図した変更のみ
  • PR description に "loanword JSON updated, 6 mirrors auto-synced via --fix" を明記

トラブルシューティング

症状対処
MISMATCH src/.../zh_en_loanword.json--fix で復元、または Python source の意図しない変更を revert
MISSING src/.../zh_en_loanword.json--fix で作成、または該当ランタイム実装が未着手 (Phase 6a 想定なら --allow-missing を一時利用)
'acronyms.GPS' must be list[str]Python source で値型が間違っている。["ji4", "pi4", "ai1", "si4"] の形式に修正
FIXTURE OUT OF SYNCtests/fixtures/g2p/zh_en_loanword_matrix.json を更新後 --fix で 6 mirror に展開
Windows で sha256 不一致が常時出る.gitattributes の *.json text eol=lf で CRLF 強制 LF。再正規化: git rm --cached <file> && git add <file>

関連ドキュメント

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

Files

Just SKILL.md in .claude/skills/check-loanword of ayutaz/piper-plus.

Open the folder on GitHubat commit b5f6073

Compare with similar skills

Check Loanword 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.

Check Loanword compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Check Loanword this skillayutaz/piper-plus234—~1.1kAutomated safety check: PassMIT
Fory Performance Optimizationapache/fory4.6k—~2.2kAutomated safety check: PassApache-2.0
Test Runnernoumena-labs/Sipp121—~854Automated safety check: PassApache-2.0
MCP Debuggerdebugmcp/mcp-debugger174—~4.2kAutomated safety check: PassMIT
Dbgtheodo-group/debug-that158—~2.5kAutomated safety check: PassMIT
Style Checkernoumena-labs/Sipp121—~1.4kAutomated safety check: PassApache-2.0

Similar skills

  • Run profile-driven bottleneck optimization across Apache Fory implementations (Java, C++, Python/Cython, Go, Rust, Swift, C, JavaScript/TypeScript, Dart, Kotlin, Scala).

    4.6k GitHub stars~2.2k tokensUpdated yesterday
    MobileAuto-check passed
  • Test Runner

    noumena-labs/Sipp

    Runs the narrowest relevant tests to validate changes. An agent skill from noumena-labs/Sipp.

    121 GitHub stars~854 tokensUpdated 21 days ago
    AI & LLM EngineeringAuto-check passed
  • MCP Debugger

    debugmcp/mcp-debugger

    A skill your agent uses when investigating a bug, failing test, or unexpected runtime behavior and the mcp-debugger MCP server is available — drives real step-through debuggers (breakpoints, stack…

    174 GitHub stars~4.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Dbg

    theodo-group/debug-that

    Debug applications using the dbg CLI debugger. An agent skill from theodo-group/debug-that.

    158 GitHub stars~2.5k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Style Checker

    noumena-labs/Sipp

    Enforces this monorepo's coding style rules by inspecting git diffs, reading .agents/skills/style-checker/references/styleguidance.md, fixing style violations, and reporting the result.

    121 GitHub stars~1.4k tokensUpdated 21 days ago
    DevelopmentAuto-check passed
  • Code Review Excellence

    andrew-yangy/gru-ai

    Provides comprehensive code review guidance for React 19, Vue 3, Rust, TypeScript, Java, Python, and C/C++.

    155 GitHub stars~1.7k tokensUpdated 7 mo ago
    DevelopmentAuto-check: notes

More from ayutaz/piper-plus

All 20 skills in this repo
  • Skill Health

    ayutaz/piper-plus

    .claude/skills//SKILL.md の frontmatter / referenced script 実在 / trigger 衝突 / .claude/hooks/.sh の executable+shebang を検査する meta-skill。

    234 GitHub stars~626 tokensUpdated today
    Auto-check passed
  • Bump Deps

    ayutaz/piper-plus

    ORT / openjtalk / ruff のような cross-runtime に canonical sync が必要な依存関係を 1 コマンドで bump する read-mostly skill。

    234 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Check Cross Runtime

    ayutaz/piper-plus

    Python canonical (src/pythonrun/piperplus/, src/python/pipertrain/, src/python/g2p/piperplusg2p/) を変更した PR で、 ONNX I/O 以外の追随漏れ (phonemizer / config schema / CLI flag / data 形式 / API 変更) を 7 ランタイム +…

    234 GitHub stars~3.5k tokensUpdated today
    Auto-check passed
  • Check New Runtime Asset

    ayutaz/piper-plus

    新規データアセット (JSON/TOML) を追加した PR で「7 箇所の package metadata 更新が全て揃っているか」を 1 コマンドで確認。MANIFEST.in / pyproject package-data / Cargo features / npm files / C Content / Android assets / SPM resources の更新漏れを…

    234 GitHub stars~964 tokensUpdated today
    Auto-check passed
  • Check PR Ready

    ayutaz/piper-plus

    PR 作成前の最終チェックリスト (lint/test/docs/CHANGELOG/未コミット確認)。/precheck の拡張版で、ドキュメント整合性も検証します。

    234 GitHub stars~687 tokensUpdated today
    Auto-check passed
  • Check Pua

    ayutaz/piper-plus

    PUA テーブル / fixture / config の整合性を 1 コマンドで検査。pua.json を編集したり ɔɪ/œ̃/ɐ̃ のような multi-codepoint 音素を扱う前後に呼ぶ。docs/spec/pua-contract.toml の 4 不変条件を全部チェック。

    234 GitHub stars~768 tokensUpdated today
    Auto-check passed

Categories

Questions about Check Loanword

What does Check Loanword do?

ZH-EN code-switching loanword の同期と forward-compat を 1 コマンドで検査。zhenloanword.json を編集したり 5 ランタイムのいずれかに新規エントリを追加する前後に呼ぶ。Python source を canonical とし、Rust×2 / Go / C / WASM / C++ の 6 mirror + Python…. Check Loanword is an agent skill from ayutaz/piper-plus.

When should I use Check Loanword?

Check Loanword fits situations like: development work in your project.

How do I install Check Loanword in Claude Code?

Run `npx skills add ayutaz/piper-plus --skill check-loanword -a claude-code`. Or copy the skill folder (.claude/skills/check-loanword in ayutaz/piper-plus) into .claude/skills/check-loanword in your project. Claude Code loads it when a task matches its description.

How do I install Check Loanword in Codex?

Run `npx skills add ayutaz/piper-plus --skill check-loanword -a codex`. Or copy the skill folder (.claude/skills/check-loanword in ayutaz/piper-plus) into .agents/skills/check-loanword in your project. Codex loads it when a task matches its description.

Can I use Check Loanword 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 ayutaz/piper-plus --skill check-loanword -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/check-loanword, .gemini/skills/check-loanword, .github/skills/check-loanword and .opencode/skills/check-loanword in your project.

What does Check Loanword need to run?

Going by SKILL.md and its folder, Check Loanword needs the command-line tools its instructions call (python, git, cargo, go, dotnet and node). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Bash(python *), Bash(uv run *), Bash(cargo test *), Bash(go test *), Bash(node *), Bash(dotnet test *), Bash(git diff *), Bash(git status *).

Does Check Loanword access the network?

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

Is Check Loanword 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 Check Loanword use?

Check Loanword 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 Check Loanword use?

About 1.1k tokens (SKILL.md is roughly 4.5k 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 Check Loanword?

Skills that share tags, products or a category with Check Loanword: Fory Performance Optimization (apache/fory, 4.6k stars), Test Runner (noumena-labs/Sipp, 121 stars), MCP Debugger (debugmcp/mcp-debugger, 174 stars) and Dbg (theodo-group/debug-that, 158 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Check Loanword?

ayutaz (a GitHub user) maintains it in ayutaz/piper-plus, which has 234 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on October 10, 2026.

Source: ayutaz/piper-plus on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.