fanfuaji
npx skills add https://github.com/shihyuho/skills --skill fanfuaji
Agent 安装分布
Skill 文档
Fanfuaji – Chinese Terminology Converter
Convert Chinese text between simplified/traditional, regional variants (China/Taiwan/Hong Kong), and phonetic forms (Pinyin/Bopomofo).
Includes scripts/fanfuaji.py – zero-dependency Python wrapper with multi-encoding support.
When to Use
- User requests Traditional Chinese, Taiwan/Hong Kong/China terminology
- Simplified â Traditional conversion
- Pinyin or Bopomofo transcription
- Custom replacement rules or term protection needed
Converter Selection (REQUIRED)
If user does NOT specify conversion target, MUST ask using question tool.
Available converters (priority order):
| Name | API Value | Description |
|---|---|---|
| å°ç£å | Taiwan |
Traditional + Taiwan terminology |
| ç¹é«å | Traditional |
Traditional characters only |
| 注é³å | Bopomofo |
Bopomofo (Zhuyin) phonetic |
| ä¸å½å | China |
Simplified + China terminology |
| 馿¸¯å | Hongkong |
Traditional + Hong Kong terminology |
| ç®ä½å | Simplified |
Simplified characters only |
| æ¼é³å | Pinyin |
Pinyin romanization |
| ç«æå | Mars |
Internet slang variant |
| ç¶åºç¹é«å | WikiTraditional |
Wikipedia Traditional |
| ç»´åºç®ä½å | WikiSimplified |
Wikipedia Simplified |
Ambiguity examples:
- â “è½ææç¹é«” â Ask: Traditional, Taiwan, or Hongkong?
- â
“使ç¨å°ç£ç¨èª” â Clear: use
Taiwan
Output Handling (REQUIRED)
Recommendation: Use absolute paths for input/output files to avoid directory context issues.
1. Output Destination (if unclear, MUST ask)
If user does NOT specify output destination, ask using question tool:
When input is from file (--file input.txt):
How would you like to receive the result?
- Display in chat (stdout)
- Overwrite original file (input.txt)
- Save to new file (specify filename)
When input is text (no --file):
How would you like to receive the result?
- Display in chat (stdout)
- Save to file (specify filename)
2. File Overwrite Check
Rule: When output will write to a file AND file exists, MUST ask using question tool.
File will be written when:
| Command Pattern | Target File | Check Needed? |
|---|---|---|
"text" --output file.txt |
file.txt | â If exists |
--file input.txt (no –output) |
input.txt (overwrite) | â Always |
--file input.txt --output out.txt |
out.txt | â If exists |
"text" (stdout) |
– | â No |
Question template:
File "filename" already exists. What would you like to do?
- Overwrite existing file
- Save to new file (filename_YYYY-MM-DD.txt)
- Cancel operation
Basic Usage
# Text conversion
python scripts/fanfuaji.py "软件å¼å" --converter Taiwan
# â è»é«éç¼
# File conversion
python scripts/fanfuaji.py --file input.txt --converter Taiwan --output output.txt
# Different encodings (Big5, GBK, GB2312, Shift_JIS)
python scripts/fanfuaji.py --file big5_file.txt --encoding big5 --converter Taiwan
# Term protection
python scripts/fanfuaji.py "软件" --converter Taiwan --protect "软件"
# Post-conversion replacement
python scripts/fanfuaji.py "å¦" --converter Taiwan --post-replace "å¦=å,å°=å"
Python Library Usage
import sys
sys.path.insert(0, 'scripts')
from fanfuaji import convert_text, Converter
result = convert_text("软件å¼å", Converter.TAIWAN)
print(result) # è»é«éç¼
Encoding Support
Default: UTF-8
Supported: big5, gbk, gb2312, and all Python codecs
Output: Always UTF-8
# Auto-detect and handle legacy encodings
python scripts/fanfuaji.py --file legacy.txt --encoding big5 --converter Taiwan
Script Features
- â Zero dependencies (stdlib only)
- â Multi-encoding support (UTF-8, Big5, GBK, etc.)
- â File and text input
- â Error handling (encoding, network, API)
- â Term protection & custom replacements
Notes
- Free tier available (no API key needed)
- Commercial use requires API key
- Output destination and file overwrite checks REQUIRED (see Output Handling)
- Converter selection confirmation REQUIRED if ambiguous