pordee: a Claude Code plugin that forces terse Thai answers
ตอบสั้นๆ ก็เข้าใจแบบพอดีๆ
At a glance
- What is it?
- pordee is a Claude Code plugin that trims Thai filler, politeness particles and hedging so the agent answers in short Thai while keeping English technical terms. It claims 60 to 75 percent fewer output tokens, and it does that by rewriting how the model talks, not what it knows.
- Who is it for?
- Adopt pordee if your Claude Code sessions run in Thai and you want shorter answers without losing technical terms, and start with /pordee lite so grammar stays intact while you judge whether the trimmed voice suits your team. Skip it if your sessions are mostly English, or if you need the agent to explain reasoning at length, because the full level compresses exactly that prose.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 68 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What pordee trims, and who it is for
Thai technical writing carries a lot of politeness scaffolding: ครับ and ค่ะ at the end of sentences, น่าจะ and อาจจะ in front of claims, การ- and ความ- turning verbs into nouns. None of it is wrong, and in a chat with a colleague it reads as normal. In an agent transcript it is repeated on every turn, and it is what the token bill is paying for.
pordee is a Claude Code plugin that removes that layer from the model's output. The README describes it as a Thai-language take on caveman, a project it credits as the inspiration, and says the goal is to cut output tokens without losing technical accuracy. English technical terms stay as they are. The plugin does not translate useMemo into Thai, and it does not summarize your code. It changes the register the agent answers in.
That makes the audience narrow and specific. You are running Claude Code, you work in Thai, and you have noticed that answers arrive longer than the question deserves. The README's own framing is a rhetorical question: why use many words when a short answer is understood.
Two levels: lite keeps grammar, full cuts particles
There is no model fine-tuning here and no proxy sitting between you and the API. pordee ships as a plugin with hooks, skills and a slash command, and the levels differ in how aggressive the trimming rule is.
Lite removes politeness particles (ครับ, ค่ะ, นะคะ), hedging words (อาจจะ, น่าจะ, จริงๆแล้ว) and greeting openers (ได้เลยครับ, แน่นอน). Grammar stays complete. The README's claim is that a lite answer still reads as normal professional Thai.
Full is the default when you type /pordee with no argument. It does everything lite does, then also drops repeated particles (ที่, ซึ่ง, ว่า, อยู่, กำลัง), strips nominalizers (การ-, ความ-), swaps longer verbs for short ones (ดู instead of ตรวจสอบ), and allows short sentences. The README gives the pattern as [ของ] [ทำ] [เหตุผล]. [ขั้นต่อ]. which is a shape rather than a grammar: subject, action, reason, then the next step.
The README's before-and-after tables show the difference on five prompts. A question about why a React component re-renders goes from roughly 80 output tokens to about 45 in lite and about 22 in full, which the README labels as 44 percent and 73 percent saved. A lunch recommendation, notably not a coding question, goes from roughly 70 tokens to about 32 and about 14, labeled 54 and 80 percent. The range quoted in the package description, 60 to 75 percent, sits inside those examples. Treat them as illustrations of the trimming rule rather than as a benchmark, because the README does not describe how the counts were produced.
Installing pordee and turning it on for one session
The README offers three routes. The one-line installer detects agents already present on the machine and installs for them. On macOS, Linux, WSL or Git Bash the command is a curl pipe into bash:
curl -fsSL https://raw.githubusercontent.com/kerlos/pordee/main/install.sh | bashOn Windows with PowerShell 5.1 or newer, the equivalent uses irm and iex:
irm https://raw.githubusercontent.com/kerlos/pordee/main/install.ps1 | iexIf your agent supports the skills registry, the README gives a third route through npx. It names Cursor, Windsurf, Cline and Codex as agents that support it, and says you enable pordee per session with /pordee afterward.
npx skills add kerlos/pordeePer-agent commands and flags live in INSTALL.md, which the README links rather than reproducing. Once installed, the slash command is the control surface. /pordee turns on the default full level, /pordee lite switches to the lighter rule, /pordee full goes back, and /pordee stop turns it off. /pordee-stats reports token statistics for the current session, and /pordee-stats --share produces a one-line summary the README says is copy-pasteable.
There is also a keyword path for people who would rather not type a slash command. Typing พอดี, พอดีโหมด or พูดสั้นๆ as a whole line of chat turns the plugin on; หยุดพอดี or พูดปกติ turns it off. The README is explicit that the keyword must be the entire line, not part of a sentence, which is the constraint that keeps the trigger from firing during ordinary discussion.
Where the compression costs you
Full mode removes nominalizers and repeated particles, and that is a real edit to Thai, not a neutral one. Nominalization is how Thai technical prose carries abstraction: การทำงาน, ความสามารถ. Strip it and a sentence about a mechanism can read as a list of actions instead of a description of a system. For a bug report or a fix instruction that is an improvement. For an explanation of why an architecture was chosen, it is a loss, and the README does not offer a level between lite and full that keeps abstraction while dropping politeness.
The plugin is also Thai-specific by construction. Its rules operate on Thai particles and Thai nominalizers. If your sessions are mostly English, pordee has nothing to trim, and the plugin is dead weight in your setup. The README makes no claim about English output.
The savings figures deserve the same caution. They come from five examples in the README, each labeled with an approximate token count, and the package description repeats the 60 to 75 percent range. Five hand-picked prompts are not a measurement of your workload, and the README does not document how the counts were taken. The honest way to use the number is as a hypothesis to check with /pordee-stats against a session you would have run anyway.
One more limitation is structural: pordee reduces output tokens. It does not touch input tokens, so a long file you paste into the conversation costs the same whether the plugin is on or off.
How pordee differs from caveman
The README names caveman as the direct inspiration, so the useful comparison is between the two rather than against some unrelated tool. Caveman is the original project; pordee is described as its Thai version. The difference is the rule set, not the mechanism. Caveman's trimming logic is written for English, where the filler is different: articles, auxiliaries, transitional phrases. pordee's rules are written for Thai, where the filler is politeness particles, hedging adverbs and nominalizers, and where the preserved vocabulary is English technical terms embedded in Thai sentences.
That means choosing between them is a question about your output language, not about which project is better maintained. If your agent answers in English, caveman's rules apply and pordee's do not. If it answers in Thai, pordee's rules match the text it is actually editing. Running both would be redundant, and the README does not suggest it.
The other distinction is the level system. The README documents lite and full as separate rule sets with a documented difference in what each removes, which gives you a way to dial the compression back without uninstalling. That is the design decision worth noting: the plugin treats terseness as a spectrum rather than a single switch.
Maintenance, licence and upgrade cost
The repository is not archived, and the last push was on 2026-07-09. There are no releases in the repository, and package.json carries version 0.1.0, so installation is from the main branch or through the skills registry rather than from a tagged release. The practical consequence is that the one-line installer pulls whatever is on main at the moment you run it. If you need a fixed version, pin it yourself; the README does not document a version flag or a rollback procedure.
The plugin requires Node 18 or newer, per the engines field in package.json. The test script runs node --test over tests/test_*.js, so the test suite is the Node built-in runner with no extra dependency to install.
The licence is MIT, which permits commercial use and modification, and requires the copyright notice and permission notice to be included in copies or substantial portions. That is the standard MIT obligation and nothing here changes it. This is a description of the licence text, not legal advice; if you are redistributing pordee inside a product, have your own counsel read the LICENSE file.
Upgrade cost is low in the ordinary case, because the surface is a slash command, a set of keywords and two rule levels. The thing to watch on an upgrade is the rule set itself: a change to what full mode strips changes the voice of every answer, and the README does not describe a changelog or a compatibility policy for rule changes.
Editorial conclusion
Adopt pordee if your Claude Code sessions run in Thai and you want shorter answers without losing technical terms, and start with /pordee lite so grammar stays intact while you judge whether the trimmed voice suits your team. Skip it if your sessions are mostly English, or if you need the agent to explain reasoning at length, because the full level compresses exactly that prose. Before trusting the 60 to 75 percent figure, run /pordee-stats on your own session and compare it against your normal output, since the README's numbers come from five worked examples rather than a measured run.
Frequently asked questions
What does pordee mean?
พอดี means roughly just right or appropriately, and the README uses it as the name of a plugin whose point is answering briefly without losing technical accuracy. The English gloss in the package description is Thai+English terse mode for Claude Code.
How do I install the pordee plugin for Claude Code?
The README gives a one-line installer for macOS, Linux, WSL and Git Bash, a PowerShell equivalent for Windows, and a third route through the skills registry with npx skills add kerlos/pordee. Per-agent commands and flags are in INSTALL.md.
How do I turn pordee off or switch levels?
Type /pordee to enable the default full level, /pordee lite or /pordee full to switch, and /pordee stop to disable it. The keywords หยุดพอดี and พูดปกติ also turn it off, but only when they are the entire line of chat.
Does pordee really cut output tokens by 60 to 75 percent?
That range comes from five before-and-after examples in the README, each with an approximate token count, not from a described measurement run. The README provides /pordee-stats and /pordee-stats --share so you can check the figure on your own session.
Community notes