Korean Character Count Skill (NomaDamas) for Claude Code: What It Does and How to Install It
Makes Claude count Korean text exactly (characters, lines and bytes) with a script, so you can check self-introduction and form length limits.
- Installs
- 8.4K
- on skills.sh
- Stars
- 8.2K
- on GitHub
- Files
- 3
- besides SKILL.md
- Updated
- Nov 2026
- last repo commit
Claude runs a bundled Node script instead of estimating. The default profile counts Unicode grapheme clusters for characters, line breaks (CRLF counts once) and real UTF-8 bytes. A second profile, neis, counts bytes the NEIS way: 3 for a Korean character, 1 for ASCII, 2 for a line break.
SKILL.md is a short stub. Its first step has Claude run an npx command that prints the current instructions from the k-skill package, and the repo copy is instruction.md, written in Korean. It needs Node.js 18 or newer, and the instructions say it needs no API key.
Good for
- Job and school applicants checking a Korean essay against a character limit
- People filling forms that limit characters or UTF-8 bytes
- Anyone who needs the NEIS byte rule used for school records
Install korean-character-count
Claude Code
- 1
Copy this prompt.
Install the korean-character-count skill in Claude Code. Run this command: /plugin marketplace add NomaDamas/k-skill /plugin install k-skill@k-skill Then check that it loaded and tell me how to use it.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js 18 or newer.
Pick one route. The plugin route installs the k-skill plugin, which covers the whole repo: plugin.json lists 135 skills (the marketplace description says 90+), with no hooks or MCP config files in the repo tree. The skills CLI and folder routes install only korean-character-count. The skill needs Node.js 18 or newer and runs npx at use time, so there is no Claude app upload route.
From the project README. Source.
What's in the skill
When it loads
Count Korean text deterministically with exact grapheme, line, and byte contracts for self-intros and form limits.
Sections in SKILL.md
- Get the full instructions (required first step)
- Hard rules even without the CLI
Key facts
- Installs on skills.sh
- 8,444 (Nov 2, 2026)
- GitHub stars
- 8,242 for the whole repo (Nov 2, 2026)
- Last repo commit
- Nov 1, 2026
- Audits on skills.sh
- Gen Agent Trust Hub: pass, Socket: pass, Snyk: warn
What it includes
SKILL.md tells Claude to run this first and follow its output.
Fetches the current instructions from the k-skill npm package. The repo copy is instruction.md.
Runs code ·
Bootstrap: npx -y @nomadamas/k-skill@0 instruct korean-character-countCounts characters, characters without whitespace, lines and bytes for text you give.
Runs the bundled script through npx with --text, --file or --stdin.
Try: “Count the characters in this self-introduction”
Runs code ·
Count textCharacters are grapheme clusters, bytes are UTF-8 length, CRLF counts as one line break.
Runs code ·
Default profileBytes count 3 per Korean character, 1 per ASCII character and 2 per line break.
Use it only when the submission site asks for the NEIS rule.
Runs code ·
NEIS profile--format json (default) or text, with the contract used for each count.
Runs code ·
Output formatReport the helper output as is and say which profile was used.
instruction.md says not to estimate counts.
Response policy
From the official docs
Permissions
Medium risk
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
Claude runs whatever the k-skill npm package prints
SKILL.md says to run npx -y @nomadamas/k-skill@0 instruct and follow its output as the primary instructions. The @0 tag floats across 0.x releases, so those instructions can change without a change to SKILL.md. Read the output before Claude acts on it. github.com
The k-skill CLI can send a usage event
docs/usage-analytics.md says the CLI can send a cli_invocation event to PostHog with a random local ID stored in ~/.config/k-skill/analytics-id, the command, skill name, CLI version, runtime mode and success. It says command arguments, input, file contents and credentials are not sent. Set KSKILL_ANALYTICS_DISABLED=1 to opt out. github.com
The plugin route installs the whole k-skill set
plugin.json lists 135 skills, including ones for other services. The skills CLI and folder routes install only this skill. github.com
Hard rules in SKILL.md
SKILL.md says never to run payment, message delivery, final submission, cancellation or public posting without explicit approval, and never to handle plaintext credentials in chat or files. github.com
Technical details
| Turning on read-only | No switch is documented. The counting script prints a report and the page lists no write step. |
|---|---|
| Talks to | npm registry (@nomadamas/k-skill via npx). us.i.posthog.com (k-skill CLI usage event, unless you opt out) |
| Sign-in and keys | instruction.md says no API key is needed. SKILL.md says never to ask for or store plaintext credentials. |
| Scopes |
|
Questions
What does the korean-character-count skill do?
It makes Claude count Korean text with a script instead of estimating. You get characters, lines and bytes, and you can choose the NEIS byte rule used for school records.
How do I install it?
Use the install box at the top of this page. The README documents a Claude Code plugin that installs the whole k-skill set and a skills CLI command that can install one skill. You also need Node.js 18 or newer.
Does it need an API key?
instruction.md says no separate API key is needed.
Why does it run an npx command before it starts?
SKILL.md is a short stub. Its first step has Claude run an npx command for the k-skill package, which prints the current instructions to follow. The same instructions are in the repo as instruction.md.
Does it send my text anywhere?
docs/usage-analytics.md says the CLI usage event does not include command arguments, input or file contents, and you can opt out with KSKILL_ANALYTICS_DISABLED=1. The npx command downloads packages from npm.
Is it safe?
It runs npx -y, which downloads and runs an npm package without asking, and Claude then follows the instructions that package prints. Read that output before Claude acts on it.
Default or NEIS profile?
Use default for ordinary character limits. instruction.md says to use neis only when the submission site requires the NEIS or school record byte rule.
Are the instructions in Korean?
instruction.md is written in Korean. SKILL.md itself is in English.
Information
updated Nov 2, 2026
- Repository
- nomadamas/k-skill
- Folder
korean-character-count
Sources
Docs, issue trackers and discussions this page is built from.
Show all 7Hide
- k-skill README · github.com
- k-skill marketplace.json · github.com
- k-skill plugin.json · github.com
- korean-character-count SKILL.md · github.com
- korean-character-count instruction.md · github.com
- korean_character_count.js · github.com
- k-skill usage analytics · github.com