communication-style
Skill36 starsChanged 6 days agoMITView on GitHub
Writes messages in the user's own voice, not a generic AI tone. Apply before writing ANY message meant to sound like the user: a GitHub PR or review comment, an issue or thread reply, a Slack or chat DM, an email, or a ticket comment. Loads the user's saved default voice, and when a recipient is named, layers that person's profile on top without losing the user's voice. Has a setup mode to build the default voice and per-person profiles from samples or a few questions.
We split this skill into the rules it gives an agent
5 rules. 0 are common, 1 is distinctive, and 4 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 22
If default.md does not exist yet, run setup first, or build it inline from samples the user gives in the conversation.
- Very specific: line 26
Load the default voice: Read comm-profiles/default.md and skim any comm-profiles/samples/.
- Very specific: line 28
Layer the person, only if a recipient is known: If the user named who the message is for, or the thread identifies one person, and …
- Distinctive: line 36
Default is always on: Every message must read like the user, in every channel, to everyone.
- Very specific: line 42
Run when the user says "set up my style", "update my voice", "make a profile for <person>", or passes setup.
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Communication style
An AI writing on someone's behalf drifts to a flat, hedged, preamble-heavy tone that does not sound like them, and it reads the same to everyone. This skill fixes both: it holds the user's own voice as an always-on base, and it tunes delivery for the channel and the named recipient without letting the message stop sounding like the user.
Profiles are saved per user, outside any repo, under the config home:
${CODE_VIRTUOSO_CONFIG_HOME:-${XDG_CONFIG_HOME:-$HOME/.config}/code-virtuoso}/comm-profiles/
comm-profiles/
default.md the user's own voice. Always applied.
people/<slug>.md per-person overlays. Applied only when the recipient is known.
samples/ optional: the user's real messages, used to match rhythm.If default.md does not exist yet, run setup first, or build it inline from samples the user gives in the conversation. Never invent a voice.
Before writing (runtime)
- Load the default voice. Read
comm-profiles/default.mdand skim anycomm-profiles/samples/. This always applies. - Pick the channel. Chat or DM, PR or code-review comment, email, or ticket. Each sets length and formality. See voice-and-channels.md.
- Layer the person, only if a recipient is known. If the user named who the message is for, or the thread identifies one person, and
comm-profiles/people/<slug>.mdexists, read it and apply it on top. See person-profiles.md. No recipient, or no profile: default only. - Write, following voice-and-channels.md.
- Final check (end of that file). Verbosity and AI tells are the common failures.
The layering contract
The heart of the skill. Keep it exact.
- Default is always on. Every message must read like the user, in every channel, to everyone.
- A person overlay tunes delivery only: length, formality, language, emoji tolerance, shared context, and what lands with that person. It never replaces the user's core voice, vocabulary, or values. The reader should still hear the user, not an impression of themselves.
- Never switch profiles mid-stream. One message uses the default plus at most one person overlay. Do not carry one person's overlay into a message for someone else. Unsure who the recipient is: use the default alone and say so.
Setup mode
Run when the user says "set up my style", "update my voice", "make a profile for <person>", or passes setup. Create or update the default voice or a person profile, from samples the user pastes or points to, or from a few questions. Steps: setup.md.
- Default voice: build or refine
comm-profiles/default.md. - Person profile: build
comm-profiles/people/<slug>.mdfrom conversations the user provides. No web research on the person. It models how to talk to them, not a dossier.
Reference files
| Reference | Open when |
| voice-and-channels.md | Writing anything: sounding like the user, length, per-channel tone, the final check |
| person-profiles.md | A recipient is named, or building a person profile |
| setup.md | Creating or updating the default voice or a person profile |
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- openchamber/openchamber★ 12ksame name
- btriapitsyn/openchamber★ 12ksame name
- jlu-lujing/TaskHunter★ 4same name
- mamachanko/skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository38 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- llm-evalsSkill
- llm-observabilitySkill
- accessibilitySkill
- context-engineeringSkill
- debuggingSkill
- docs-lookupSkill
- performanceSkill
- securitySkill
- verification-before-completionSkill
- finishing-branchSkill
- game-feature-loopSkill
- handoffSkill
- hooks-and-guardrailsSkill
- pr-feedbackSkill
- security-researchSkill
- spec-driven-developmentSkill
- tddSkill
- agent-creatorSkill
- agentic-rules-writerSkill
- audit-dependenciesSkill
- brainstormingSkill
- find-test-gapsSkill
- plan-migrationSkill
- plugin-creatorSkill
- pr-message-writerSkill
- report-writerSkill
- researchSkill
- review-pr-coldSkill
- review-prSkill
- scan-refactorsSkill
- skill-creatorSkill
- skill-measureSkill
- stakeholder-update-writerSkill
- ticket-writerSkill
- ui-reviewSkill
- verify-acceptanceSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

