piper-plus: Skill for Claude Code

.claude/skills/check-cross-runtime/SKILL.md

check-cross-runtime is a skill for Claude Code from ayutaz/piper-plus. It costs 100 tokens per session (5,334 once invoked), scanned A, original, MIT.

A pre-merge check for changes to Piper's Python code that looks for missing updates in seven other runtimes and two Docker images. A runtime is an environment that runs the software; Docker images package software and its dependencies.

In plain words
What is it for?
Checking cross-runtime consistency before a pull request, across C#, Rust, Go, JavaScript/WebAssembly, C, mobile platforms, and the listed inference and web-interface images.
Why use it?
It catches behaviour differences when a Python change affects phonemizers, configuration, command-line options, data formats, APIs, or container recipes but the other implementations were not updated.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

This is ayutaz/piper-plus's own configuration. It tells Claude Code how to work on piper-plus itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything piper-plus configures →

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is echo " uv run python scripts/check_phoneme_set_version.py".

Reuse

Borrowing it

Nothing to install: this file belongs to ayutaz/piper-plus. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/ayutaz/piper-plus/dev/.claude/skills/check-cross-runtime/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/ayutaz/piper-plus

Made for: Claude Code.

Wrote 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.

agentmods badge for check-cross-runtime

README.md
[![agentmods](https://agentmods.dev/badge/skills/ayutaz/piper-plus/check-cross-runtime.svg)](https://agentmods.dev/skills/ayutaz/piper-plus/check-cross-runtime)
Your own site
<a href="https://agentmods.dev/skills/ayutaz/piper-plus/check-cross-runtime"><img src="https://agentmods.dev/badge/skills/ayutaz/piper-plus/check-cross-runtime.svg" alt="Measured on agentmods" height="20"></a>
Per session 100 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,334 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00100 $0.05334
Opus 5 $0.00050 $0.02667
Sonnet 5 $0.00020 $0.01067
Haiku 4.5 $0.00010 $0.00533

Measured 7d ago against content hash 540707ba406c, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

check-cross-runtime 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 7d 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.

.claude/skills/check-cross-runtime/SKILL.md · 348 lines

How it starts

The opening of the file, as written. The whole thing — 348 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Python 変更 → N ランタイム追随漏れチェック

src/python_run/piper_plus/*.pysrc/python/piper_train/*.py、 または src/python/g2p/piper_plus_g2p/*.py を変更した PR で、 他 7 ランタイム (C# / Rust × 2 crate / Go / JS-WASM / C API / iOS SPM / Kotlin-Android / Swift G2P) + 2 docker image (python-inference / webui) が 同じ振る舞いに 追随しているか を PR 提出前に確認する。

なぜこの skill が必要か (既存 2 skill との関係)

skill スコープ 補完範囲
/check-runtime-parity ONNX グラフ I/O (入出力名・形状・dtype) の変更 推論バックエンドだけ
/check-new-runtime-asset 新規データファイル (JSON/TOML/TSV) の 7 箇所 metadata 配布 wheel/sdist 同梱漏れだけ
/check-cross-runtime (本 skill) それ以外の Python 変更 = phonemizer ロジック / config field / CLI flag / data file 形式変更 / API 変更 / docker recipe 既存 2 skill の網からこぼれる広い領域

3 skill を組み合わせると、 Python canonical の変更が 7 ランタイム + 2 docker 全部に伝播しているかを 1 PR ごとにチェックできる。

過去事故サマリ

PR Python 修正内容 追随漏れ 検出方法
#391 speaker_embedding 形状修正 5 ランタイム (Rust / Go / C# / C++ / WASM) が古い形状のまま PR #443 で偶然発見 (silent regression)
#443 MB-iSTFT speaker_embedding 未対応の修正 4 runtime (Rust / Go / C# / WASM) + 2 docker image (python-inference / webui) で同じバグ 手動レビューでようやく発見
#384 ZH-EN loanword 辞書 schema 拡張 Rust / Go / C# / WASM / C++ で旧 schema のままパース失敗 CI gate を後付けで作成

共通パターン:

  1. Python で 1 関数 / 1 schema を 「サクッと」 修正
  2. ローカル pytest は green、 CI も Python 観点だけ通る
  3. レビュアーも Python diff しか見ない
  4. 別 PR / リリース後ユーザー報告で 「他ランタイム壊れている」 が判明

この skill は PR 提出前 に local で同じ修正が他ランタイムにも入っているか チェックリスト化する。

スコープ判定 (何を見るか)

Canonical Python の 3 source of truth

カテゴリ パス 対応する他ランタイム
A. ランタイム推論 src/python_run/piper_plus/*.py (voice.py, http_server.py, text_splitter.py, timing.py, model_manager.py) C# / Rust core / Go / WASM / C API / iOS SPM
B. G2P / phonemizer src/python/g2p/piper_plus_g2p/*.py (japanese.py, chinese.py, multilingual.py, ssml.py 等) Rust piper-plus-g2p / Go phonemize / C# Phonemize / WASM g2p / C++ *_phonemize.cpp / Kotlin / Swift G2P
C. モデルエクスポート / 学習 src/python/piper_train/*.py (export_onnx.py / vits/models.py / infer_onnx.py) ONNX I/O 変更なら /check-runtime-parity を使う。 それ以外の周辺ロジック (chunking / scaling / sentence split 等) が本 skill 対象

Read the full file on GitHub · 348 lines

Changes

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.

  1. 7d ago First seen · 348 lines · 100 tokens per session scan A 540707ba406c

Subscribe to this mod's changes

check-cross-runtime is a skill published in the GitHub repository ayutaz/piper-plus (204 stars, last pushed 5d ago), licensed MIT. It adds 100 tokens to every session and 5,334 once invoked, about $0.0005 per session on Opus 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-30.

Related

Other skills, from other repositories

physicsnemo-shard-tensor

Official NVIDIA-authored guidance for PhysicsNeMo ShardTensor domain parallelism — integrate domain parallelism into training/inference scripts (new or existing) with DDP or FSDP2, write and register shard patches to enable new layers/ops, and bootstrap multi-GPU correctness tests. Use when working with ShardTensor…

NVIDIA/physicsnemo · 152 tokens

github

GitHub operations via gh CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing run logs. NOT for: complex web UI interactions requiring manual browser flows (use browser tooling when available)…

opensquilla/opensquilla · 101 tokens

physicsnemo-discover

Official NVIDIA-authored guidance for navigating PhysicsNeMo — pick the model, datapipe, or example for a SciML/AI4Science task (surrogates, forecasting, downscaling, physics-informed, inverse, generative). Points at existing files via live repo search; never writes code. Do NOT use for installation or environment…

NVIDIA/physicsnemo · 124 tokens

meta-codereview-current-diff

Read the current uncommitted diff, run three independent reviewers (safety + tests-coverage + style) in parallel, then arbitrate a single BLOCK / BLOCKWITHOVERRIDE / PASSWITHNOTES verdict. Use before commit when you want a multi-perspective second-opinion instead of a single-reviewer agent loop.

opensquilla/opensquilla · 73 tokens

pr-babysitter

Use when monitoring GitHub pull request CI, diagnosing failed checks, rebasing branches onto github/main, applying narrowly scoped fixes, and updating PRs until their latest checks are green or a human blocker is identified.

NVIDIA/TensorRT-Model-Connect · 48 tokens

submit-github-pr

Use when publishing an existing TensorRT-Model-Connect change as a GitHub pull request. Verifies authenticated repository access, branch and diff scope, validation evidence, commit identity, reviewer-facing text, exact pushed head, and the created draft PR without merging it.

NVIDIA/TensorRT-Model-Connect · 58 tokens