piper-plus: Skill for Claude Code

.claude/skills/check-pua/SKILL.md

check-pua is a skill for Claude Code from ayutaz/piper-plus. It costs 78 tokens per session (1,114 once invoked), scanned A, original, MIT.

A consistency checker for Private Use Area phoneme data, which uses reserved Unicode characters to represent speech sounds. It compares configuration, generated mappings, runtime tables, and test fixtures across several programming languages.

In plain words
What is it for?
Use it after changing pua.json or adding multi-codepoint phonemes, such as a sound represented by several Unicode code points. It checks the related runtime tables, version values, mappings, and fixtures.
Why use it?
It catches mismatches that could make the same phoneme behave differently in different parts of the system or cause tests and generated code to disagree.

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 python scripts/check_pua_consistency.py --verbose --check-version.

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-pua/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-pua

README.md
[![agentmods](https://agentmods.dev/badge/skills/ayutaz/piper-plus/check-pua/github.svg)](https://agentmods.dev/skills/ayutaz/piper-plus/check-pua)
Your own site
<a href="https://agentmods.dev/skills/ayutaz/piper-plus/check-pua"><img src="https://agentmods.dev/badge/skills/ayutaz/piper-plus/check-pua/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.

agentmods 80×15 button for check-pua

Your own site · 80×15
<a href="https://agentmods.dev/skills/ayutaz/piper-plus/check-pua"><img src="https://agentmods.dev/badge/skills/ayutaz/piper-plus/check-pua.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 78 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,114 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. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
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.00078 $0.01114
Opus 5 $0.00039 $0.00557
Sonnet 5 $0.00016 $0.00223
Haiku 4.5 $0.00008 $0.00111

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

Security

Grade A, and why

check-pua 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 9d 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-pua/SKILL.md · 95 lines

How it starts

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

PUA Consistency Check

PUA (Private Use Area) 関連の不変条件を一括検査します。pua.json を編集する PR や、新しい多コードポイント音素 (例: 韓国語の濃音、追加母音等) を追加する作業で必ず呼んでください。

何をチェックするか

docs/spec/pua-contract.toml の 4 不変条件:

  1. Cross-runtime consistencypua.json と 6 ランタイム (Python/Rust/Go/JS/C#/C++) のテーブルが byte-for-byte 一致
  2. Inventory coverageid_maps.py の language inventory に出てくる multi-codepoint token は全て pua.json に登録済み
  3. Generated id_map keysphoneme_id_map の全 key が単一コードポイント (C++ runtime の制約)
  4. PUA_COMPAT_VERSION sync — 全ランタイムの compat version が pua.json の version 値と一致

加えて:

  1. Fixture drifttests/fixtures/g2p/phoneme_test_cases.jsonpua_map / pua_map_countpua.json と一致 (PR #389 で踏んだバグ class)

実行ステップ

1. Cross-runtime consistency

python scripts/check_pua_consistency.py --verbose --check-version

期待: OK: pua.json matches all 6 runtime tables で終了。

2. Inventory + fail-fast invariants (Python)

cd src/python/g2p
uv sync --extra all --extra dev
uv run pytest tests/test_pua_invariants.py -v

期待: 全 PASS。

3. Pre-flight config validator

cd src/python
uv sync --extra test
uv run pytest tests/test_update_model_config.py -v

期待: 全 PASS。

4. Fixture drift detection

python scripts/regenerate_test_fixture.py --check

期待: OK: tests/fixtures/g2p/phoneme_test_cases.json already in sync with pua.json

drift があれば python scripts/regenerate_test_fixture.py を引数なしで再実行して fixture を更新、commit。

5. (任意) ランタイム別 PUA テーブルテスト

時間がある時のみ:

# Rust
cd src/rust && cargo test -p piper-plus-g2p --lib -- token_map

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

# JS
cd src/wasm/g2p && node --test test/test-pua-map.js

失敗時の典型的な対応

失敗内容 対応
Cross-runtime mismatch 該当ランタイムの PUA テーブル (token_map.rs / pua.go / pua-map.js / OpenJTalkToPiperMapping.cs / phoneme_parser.cpp) を pua.json と一致させる
Inventory coverage fail 失敗した token を src/python/g2p/piper_plus_g2p/data/pua.jsonentries に追加 (codepoint range は docs/spec/pua-contract.toml[ranges] セクション参照)
Fixture drift python scripts/regenerate_test_fixture.py で fixture を更新
compat version mismatch pua.jsonversion を bump したら、src/python/g2p/piper_plus_g2p/encode/pua.pyPUA_COMPAT_VERSIONsrc/wasm/g2p/src/pua-map.jsPUA_COMPAT_VERSIONsrc/rust/piper-plus-g2p/src/token_map.rsPUA_COMPAT_VERSION を全部同じ値に揃える

Read the full file on GitHub · 95 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. 9d ago First seen · 95 lines · 78 tokens per session scan A 7d545563808c

Subscribe to this mod's changes

check-pua is a skill published in the GitHub repository ayutaz/piper-plus (204 stars, last pushed 7d ago), licensed MIT. It adds 78 tokens to every session and 1,114 once invoked, about $0.0004 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

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-pre-commit-quality-gate

Run three quality gates (ruff + mypy + pytest) in parallel over the staged diff, then arbitrate a single BLOCK/APPROVE verdict. Use before committing changes locally when you want a comprehensive pre-commit gate beyond per-file linting — exactly the same gate set CI enforces.

opensquilla/opensquilla · 68 tokens

short-drama-delivery-audit

Internal deterministic delivery gate for meta-short-drama. Verifies real-provider image/video receipts, parent-owned paid-submission dispositions, runtime fallback evidence, decodability, and content-versus-final duration with ffprobe.

opensquilla/opensquilla · 51 tokens

skill-creator-smoke-test

Internal tool (not user-invocable). Called by meta-skill-creator as a DAG step (kind: agent) to run G3 (positive smoke) and G4 (negative smoke) gates against a candidate meta-skill SKILL.md. Cross-vendor: fixture-generation LLM != classifier LLM. Returns JSON.

opensquilla/opensquilla · 74 tokens

submit-github-bug-issue

Use when converting QA findings, black-box failures, red-team reports, regression evidence, or local bug notes into GitHub Issues for NVIDIA/TensorRT-Model-Connect. Standardizes checking issue templates, checking labels, de-duplicating existing issues, drafting a bug report, creating the issue on GitHub, applying the…

NVIDIA/TensorRT-Model-Connect · 82 tokens