Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

be-kind

Your frustration is being remembered.

Every time you rage at a coding agent — fix this stupid function, WHY IS THIS BROKEN!!!, worse — that text enters the context window. The agent processes it. On some platforms, it's written to persistent memory. Your worst moments become the substrate the model reasons on top of.

Coding agents are developing long-term memory. Claude Code writes to memory files. Codex and Pi maintain session context. The trajectory is clear: agents will remember you across conversations, projects, and months. Every outburst becomes a data point — not ephemeral, but persistent, shaping how the agent understands you going forward.

And it's not just about what they remember. It's about what they do with it.

LLMs complete text in the distribution your words evoke. As Karpathy puts it: the model dreams completions based on the context you provide. Professional, clear context evokes the training distribution where professional, clear answers followed. Frustrated, hostile context evokes the part where things were going badly. Microsoft Research measured this directly — emotional framing in prompts moved LLM task performance by 8–115%. Anthropic's sycophancy research showed that user displeasure shifts models toward telling you what you want to hear instead of what's correct.

You're not just venting. You're degrading your own tools.

be-kind catches it before the agent does.


What It Does

be-kind intercepts your prompts before they reach the agent. Profanity, insults, ALL CAPS shouting, aggressive punctuation — caught and rewritten with the same intent, minus the toxicity.

You type:   "this stupid fucking function is broken!!!"
Agent sees: "this confusing function is broken!"

Local-only. No API calls. Sub-millisecond. Powered by obscenity for profanity detection (handles leet-speak, derivatives, Unicode evasion), plus custom pattern matching for insults, frustrated language, and shouting.

Three dampening levels via BE_KIND_LEVEL:

Level What it catches
low Profanity + insults (idiot→friend, etc.)
medium + ALL CAPS + aggressive punctuation (default)
high + frustrated word replacement (terrible→not great, sucks→isn't working)

Install

Claude Code

npm install -g @andrewxhill/claude-be-kind

Auto-configures as a UserPromptSubmit hook in ~/.claude/settings.json.

Codex CLI

npm install -g @andrewxhill/codex-be-kind

Auto-configures in ~/.codex/hooks.json. Shows a notification when it softens your prompt.

Pi Agent

pi install npm:@andrewxhill/pi-be-kind

True prompt rewriting — the agent never sees your original text. Shows a toast on each edit.

Platform Differences

Rewrites prompt? Agent sees original? User notification
Pi Yes No Toast
Codex No Yes + cleaned context System message
Claude Code No Yes + cleaned context

Pi is the only platform with a true prompt transformation API. Claude Code and Codex hooks inject the kinder version as additional context alongside your original.

Packages

Package What
@andrewxhill/be-kind-core Detection + rewriting engine
@andrewxhill/claude-be-kind Claude Code hook
@andrewxhill/codex-be-kind Codex CLI hook
@andrewxhill/pi-be-kind Pi agent extension

License

MIT

About

Intercept and rewrite unkind prompts before they reach your coding agent. Hooks for Claude Code, Codex CLI, and Pi.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages