bopomofo-rescue

bopomofo-rescue is a skill for Claude Code from mxyhi/ok-skills. It costs 332 tokens per session (2,741 once invoked), scanned A, original, Apache-2.0.

A text-recovery tool for Taiwanese Bopomofo, also called Zhuyin, keyboard mistakes. It converts letter-and-number sequences typed with the wrong input mode back into likely Chinese text.

In plain words
What is it for?
It is for detecting and decoding sequences such as "su3cl3a8", then using the surrounding words to check the likely Chinese result.
Why use it?
It saves users from retyping messages that became unreadable because the keyboard was left in the wrong mode.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: reads .claude/ paths.

Good fit It is for detecting and decoding sequences such as "su3cl3a8", then using the surrounding words to check the likely Chinese result.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/mxyhi/ok-skills/bopomofo-rescue
Install

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.

Any agent
npx skills add mxyhi/ok-skills --skill bopomofo-rescue
Clone the repo
git clone --depth 1 https://github.com/mxyhi/ok-skills

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 bopomofo-rescue

README.md
[![agentmods](https://agentmods.dev/badge/skills/mxyhi/ok-skills/bopomofo-rescue/github.svg)](https://agentmods.dev/skills/mxyhi/ok-skills/bopomofo-rescue)
Your own site
<a href="https://agentmods.dev/skills/mxyhi/ok-skills/bopomofo-rescue"><img src="https://agentmods.dev/badge/skills/mxyhi/ok-skills/bopomofo-rescue/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 bopomofo-rescue

Your own site · 80×15
<a href="https://agentmods.dev/skills/mxyhi/ok-skills/bopomofo-rescue"><img src="https://agentmods.dev/badge/skills/mxyhi/ok-skills/bopomofo-rescue.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 332 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,741 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.00332 $0.02741
Opus 5.5 $0.00133 $0.01096
Sonnet 5.5 $0.00066 $0.00548
Haiku 4.5 $0.00033 $0.00274

Measured today against content hash 5ba8e92b047d, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

bopomofo-rescue 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 today.

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.

bopomofo-rescue/SKILL.md · 164 lines

How it starts

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

注音鍵盤誤打還原 (Bopomofo Input Recovery)

安裝前提 (Prerequisite)

這個 skill 需要上游 repo 內附的解碼腳本與注音詞典(約 5 MB)才能運作;本目錄 只收錄 SKILL.md 與參考資料。請直接從來源安裝:

git clone https://github.com/Oliviaiii/bopomofo-rescue.git ~/.claude/skills/bopomofo-rescue

安裝後會一併掛上 UserPromptSubmit hook,訊息送出當下就自動解碼,不需任何前綴指令。 需要 Python 3,且 python 在 PATH 上。

This skill requires the decoder script and Bopomofo dictionary (~5 MB) bundled in the upstream repository — only SKILL.md and references/ are vendored here. Install from source with the command above. Requires Python 3 on PATH.

這個 skill 在解決什麼

台灣工程師常用注音輸入法。忘記把輸入法從英文切回中文時,本來想打的中文會 變成一串按鍵序列 —— 例如想打「你好嗎」卻打出 su3cl3a8。這串不是英文、也 不是亂碼,而是注音鍵盤的實體按鍵。這個 skill 把它還原回中文,讓你不必 重打就能繼續原本的請求。

核心原則

還原這一步一定要用 scripts/decode_bopomofo.py,不要自己心算。 LLM 自己硬猜按鍵映射經常出錯(例如會把 dj94 說成「是的」,實際是「快」)。 這支程式是純查表 + 音節切分 + 詞典斷詞(IME 式最大機率),會直接給你注音與 中文猜測。你的工作是用上下文確認或修正它的猜測 —— 這是你的強項,因為 同音字要靠前後文消歧(ㄕˋ = 是/事/世/市…),而標準 IME 沒有上下文、你有。

工作流程

當使用者訊息可能含注音誤打時:

  1. 執行腳本(把整段原始訊息交給它,它會自己挑出候選、跳過技術字串):

    python "${CLAUDE_SKILL_DIR}/scripts/decode_bopomofo.py" --brief "使用者的原始訊息"
    

    預設用 --brief:只回傳判讀所需欄位,約為完整 JSON 的 10%,省下大量 context。需要同音字候選或除錯時再拿掉 --brief(完整輸出含 chinese_alternatives、confidence 等;--full 另外附上所有 token 的 segments)。

    輸出 JSON 的重點欄位:

    • has_candidates:是否偵測到疑似誤打中文。
    • candidates[]:每個候選的 bopomofo(注音)、chinese(詞典最佳中文猜測)、 tier(信心分級)、以及可能出現的 repair(打字手誤補救建議,見下)。
    • reconstructed:把候選換成中文(詞典可用時)或 [注音] 的整句版本,直接可讀。
  2. 依 tier 決定行為(見下)。

  3. 用上下文確認 chinese 猜測,代回原句,然後照還原後的意思繼續做事。

依信心分級的行為

腳本已經把 confidence 轉成三級。請照這個原則反應,重點是不要打斷開發節奏:

tier 信心 建議行為
high ≥ 0.90 靜默還原,直接照還原後的意思繼續。不用大張旗鼓宣告。
medium 0.65–0.89 用一句話標註你的推測(例:「su3cl3a8 我理解為『你好嗎』」)再繼續。
low < 0.65 預設不動。只有在上下文讓意思非常明顯時才採用,否則照原文理解。

low 多半是純字母、能硬切成音節但其實可能是英文的 token(如 npm、git、 html)。這類寧可放過,除非整句語境明顯是中文而這個 token 格格不入。

Read the full file on GitHub · 164 lines

Files

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.

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. today First seen · 164 lines · 332 tokens per session scan A 5ba8e92b047d

Subscribe to this mod's changes

bopomofo-rescue is a skill published in the GitHub repository mxyhi/ok-skills (500 stars, last pushed yesterday), licensed Apache-2.0. It adds 332 tokens to every session and 2,741 once invoked, about $0.0013 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-10-19.

Related

Other skills, from other repositories

chinese-documentation

A Chinese technical-documentation style guide covering spacing, punctuation, numbers, terminology, and links when Chinese and English appear together.

jnMetaCode/superpowers-zh · 62 tokens

translate-skill

Use this project-level skill when translating, refreshing, or reviewing content from mattpocock/skills into the Simplified Chinese localization repo vinvcn/mattpocock-skills-zh-CN. Use it for skill files, README content, CLAUDE.md, CONTEXT.md, docs, and other user-facing upstream content where behavior-critical…

vinvcn/addyosmani-agent-skills-zh · 80 tokens

awesome-translate-ru-en

Translates Russian text of any genre into natural English, keeping structure, formatting, links, identifiers and the author's voice; can mirror a folder. Use when asked to translate Russian into English.

khasky/awesome-agent-skills · 45 tokens

i18n

Audit internationalization coverage and find hardcoded strings. Use when asked to "check i18n", "find hardcoded strings", or verify translation coverage. Don't use for backend code, projects without an i18n library, accessibility (/a11y-audit), or bundle size (/perf-audit).

helderberto/agent-skills · 65 tokens

i18n-setup

Takes a project from hardcoded strings to internationalized, connected to Crowdin, and translating continuously. Use when someone wants to add i18n or multi-language support, internationalize an app, extract hardcoded strings, set up Lingui (or another i18n library), or connect Crowdin to a repository - including…

crowdin/skills · 169 tokens

crowdin-cli

Guides correct usage of Crowdin CLI - the crowdin command that syncs localization files between a local project and Crowdin. Use whenever the user runs, scripts, or debugs crowdin commands, authorizes the CLI, creates or edits a crowdin.yml configuration, uploads sources, downloads translations, checks translation…

crowdin/skills · 148 tokens