kkarpushin

Tone Of Voice — Development skill for Claude Code

Development community

Claude Code skills that reverse-engineer an author's tone of voice into a reusable profile — and write new texts in it.

How to install Tone Of Voice

This entry records only its repository, not the path inside it, so there is no exact command to give. Open kkarpushin/tone-of-voice and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Tone Of Voice does

Claude Code skills that reverse-engineer an author's tone of voice into a reusable profile — and write new texts in it.

Alternatives in Development

  • Master Routing — reverse-skill PRIMARY 快路径 29.6k ★
  • Generic Extract Skill — You are an Autonomous 3D Technical Artist Agent 14.1k ★
  • Native Feel Skill — An Agent Skill for designing cross-platform desktop apps that feel native — distilled from Raycast's 2.0 deep 1.9k ★

README

![Tone of Voice](assets/banner.svg)

**English** · [Русский](README.ru.md) · [Українська](README.uk.md)

![Claude Code Skill](https://img.shields.io/badge/Claude_Code-Skill-d97757) ![Version](https://img.shields.io/badge/version-2.0.0-blue) ![License: MIT](https://img.shields.io/badge/license-MIT-yellow.svg) ![Dependencies](https://img.shields.io/badge/dependencies-stdlib_only-brightgreen)

**Tone of Voice** is a pair of [Claude Code](https://code.claude.com/docs/en/overview) skills that reverse-engineer how a person (or a brand) writes — and then write new texts that sound like them.

Feed it posts, emails, articles, or speech transcripts. Get back a structured **voice profile**: what makes the voice recognizable, which words it lives on, which it would never touch, how it changes when it sells versus when it apologizes — plus a compact *machine block* you can paste into any LLM as a system prompt.

The two skills

Skill What it does
tone-of-voice-analyzer Corpus in → metrics-grounded 8-level linguistic analysis → profile.md + blind validation test
tone-of-voice-writer Profile + brief in → a post/email/article in the profiled voice, verified against the profile before delivery

How it works

flowchart LR
    A["Corpus
posts · emails · transcripts"] --> B["Segmentation
by context & language"] B --> C["metrics.py
objective numbers"] B --> D["8-level analysis
per segment"] C --> D D --> E["Synthesis
Voice vs Tone"] E --> F["profile.md
incl. machine block"] F --> G{"Blind test:
real vs generated?"} G -- "grader tells them apart" --> D G -- "coin flip" --> H["Profile ready"] H --> I["tone-of-voice-writer
new texts in the voice"]

Three design decisions do most of the work:

  1. Numbers before adjectives. A bundled stdlib-only script (`metrics.py`) measures what a model should never eyeball: sen