SKILL.md
只读
名称
korean-character-count
描述
精准计算韩文文本字数、行数与字节数。基于明确的字素(grapheme)、换行及字节契约进行确定性统计,专为自我介绍、求职表单等有字数限制的场景设计。
韩文字数统计
功能说明
针对自我介绍、求职申请表、自由问答表单等对字数限制极高的韩文文本,抛弃大模型的模糊估计,采用确定性逻辑进行精准统计。
- 基础字数:基于
Intl.Segmenter的 Unicode extended grapheme cluster(扩展字素集群) - 行数:将
CRLF、LF、CR、U+2028、U+2029统一计为 1 次换行 - 基础字节数:UTF-8 实际编码长度
- 兼容配置:支持
neis字节规则
适用场景
- "帮我准确查一下这份自我介绍有没有超过 1000 字"
- "按 UTF-8 字节标准计算这段文本的长度"
- "把行数和字节数也一起统计出来"
- "这段包含韩文、英文、Emoji 的句子别凭感觉猜,用代码帮我精确统计"
为什么需要此 Skill
- 在有字数限制的场景下,差 1 个字都可能导致提交失败。
- 大模型凭视觉估算字数缺乏可复现性与稳定性。
- 本 Skill 绝不会随意 trim 或正则归一化输入文本,完全严格按文档约定进行统计。
统计契约 (Contracts)
default 配置
- characters(字数):
Intl.Segmenter("ko", { granularity: "grapheme" }) - bytes(字节数):
Buffer.byteLength(text, "utf8") - lines(行数):
- 空字符串 =>
0 - 非空文本 => 换行序列数量 +
1 CRLF计为 1 次换行,而非 2 次换行
- 空字符串 =>
neis 配置
- characters(字数):与
default一致 - lines(行数):与
default一致 - bytes(字节数):
- 韩文字素(grapheme)=>
3B - ASCII 字素 =>
1B - Enter/换行序列 =>
2B - 其他字符兜底退回 UTF-8 实际字节长度
- 韩文字素(grapheme)=>
前置条件
node18+- 已安装 Skill 的 payload 目录中需包含
scripts/korean_character_count.js辅助脚本 - 无需任何 API Key
执行流程
- 直接接收文本输入,或从文件/STDIN 读取。
- 运行
node scripts/korean_character_count.js执行确定性字数统计。 - 选择所需的配置 Profile(
default/neis)与输出格式 Format(json/text)。 - 原样返回统计结果,并说明所使用的统计契约规则。
CLI 使用示例
node scripts/korean_character_count.js --text "가나다"
node scripts/korean_character_count.js --text $'첫 줄\r\n둘째 줄🙂'
node scripts/korean_character_count.js --text $'첫 줄\n둘째 줄🙂' --profile neis --format text
node scripts/korean_character_count.js --file ./essay.txt --profile default
cat essay.txt | node scripts/korean_character_count.js --stdin --profile neis
输出规范
- 切勿盲目预测,必须直接使用 helper 脚本返回的结果。
- 输出结果时必须标明所使用的 Profile 配置。
- 如无特殊要求,默认使用
defaultProfile。 - 仅在提交目标明确要求 NEIS / 韩国教育信息系统(학교생활기록부)等特殊契约时,才使用
neisProfile。
验收标准
- 能够同时返回字数、行数与字节数。
- 文档中明确标注了
default与neis契约规则的区别。 node scripts/korean_character_count.js --help可正常运行。- 针对韩文/英文/空格/换行/Emoji 混合输入的测试均已通过。
参考资料
- Unicode grapheme clusters: https://www.unicode.org/reports/tr29/
- WHATWG Encoding Standard: https://encoding.spec.whatwg.org/
- Node
Buffer.byteLength: https://nodejs.org/api/buffer.html






