If you've ever had a Korean college application or job form reject your carefully written essay because you were off by three characters, this is for you. It counts Korean text deterministically using Unicode grapheme clusters, not LLM guesses. You get exact character, line, and byte counts with two profiles: default uses UTF-8 encoding, while neis follows the byte rules used by Korea's education records system. It doesn't trim or normalize your input, just counts what's actually there. Runs as a Node.js helper script with no API keys needed. Honestly, it's solving a very specific problem, Korean form limits with exact counting requirements, but it solves it correctly.
npx -y skills add nomadamas/k-skill --skill korean-character-count --agent claude-codeInstalls into .claude/skills of the current project.
자기소개서, 지원서, 자유서술형 폼처럼 글자 수 제한이 중요한 한국어 텍스트를 대상으로 LLM 추정 없이 결정론적으로 카운트한다.
Intl.Segmenter 기반 Unicode extended grapheme clusterCRLF, LF, CR, U+2028, U+2029 를 줄바꿈 1회로 계산neis byte 규칙default profileIntl.Segmenter("ko", { granularity: "grapheme" })Buffer.byteLength(text, "utf8")01CRLF 는 2줄바꿈이 아니라 1줄바꿈으로 센다.neis profiledefault 와 동일default 와 동일3B1B2Bnode 18+scripts/korean_character_count.js helper 포함node scripts/korean_character_count.js 로 결정론적 카운트를 실행한다.default/neis)과 출력 형식(json/text)을 고른다.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
default profile을 사용한다.neis 를 쓴다.default 와 neis 계약 차이가 문서에 명시된다.node scripts/korean_character_count.js --help 가 동작한다.Buffer.byteLength: https://nodejs.org/api/buffer.htmljuliusbrussee/caveman
mattpocock/skills
shadcn/improve
obra/superpowers
forrestchang/andrej-karpathy-skills
vercel-labs/skills