Voice dna builder
Skill ponomr/voice-dna-builder
Claude Code skill that clones your writing voice — interviews you, analyzes your real samples, and generates a personal voice-cloning skill
npx -y skills add ponomr/voice-dna-builderAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Создаёт персональный voice-скилл для любого пользователя — интервьюирует его, анализирует его реальные образцы текста и генерирует готовый устанавливаемый SKILL.md с индивидуальным Voice DNA (профиль, каналы, тональности, забаненные фразы, калибровочные примеры). Используй когда пользователь хочет «настроить свой стиль», «склонировать свой голос», «сделать скилл под мой стиль письма», «voice dna», «свой style-writer», «обучить агента писать как я».
SKILL.md
8.4 KB, as published. Nobody here has run it
Voice DNA Builder
Мастер, который превращает образцы текста человека в персональный writing-скилл,
устанавливаемый в ~/.claude/skills/. Результат — такой же по структуре, как
style-writer-ponomar, но с голосом конкретного пользователя: его вводными
словами, ритмом, маркерами иронии, каналами и тональностями.
Когда использовать
- Пользователь хочет, чтобы агент писал его голосом (посты, письма, реплики).
- Просит «настроить мой стиль», «склонировать голос», «свой voice dna».
- Хочет раздать коллегам инструмент для их собственных голосов.
Что внутри (bundled resources)
| Ресурс | Назначение |
|---|---|
scripts/analyze_corpus.py | Детерминированно считает длину, ритм, вводные, n-граммы-обороты, начала/концовки, маркеры иронии, пунктуацию |
scripts/extract_telegram.py | Достаёт корпус автора из JSON-экспорта Telegram Desktop (фильтрует форварды, медиа, ссылки) |
references/extraction-guide.md | Вопросы интервью + правила маппинга «отчёт → шаблон» + схема voice-profile.json |
references/skill-template.md | Шаблон выходного SKILL.md (структура как у style-writer-ponomar) |
references/universal-anti-slop.md | Общий анти-AI-слой (баны фраз, RU+EN), встраивается в каждый скилл |
Рабочий процесс
Выполнять по шагам. Интерфейс мастера — на русском; сгенерированный скилл — на языке образцов пользователя (RU/EN/смешанный).
Обновление существующего голоса? Если у пользователя уже есть скилл с
references/voice-profile.json— не проводить интервью заново, перейти к разделу «Обновление голоса» ниже.
Шаг 1 — Интервью
Прочитать references/extraction-guide.md (Часть 1) и провести интервью порциями:
сначала блок А (личность, темы, каналы), потом блок Б (тон, тональности, анти-правила).
Не задавать всё одним списком. Для выбора каналов/тональностей удобно использовать
структурированные вопросы.
Шаг 2 — Сбор образцов
Запросить 5–20+ реальных образцов в нужном голосе. Способы (любой):
- вставка в чат через разделитель
---; - путь к файлу (.txt / .md);
- JSON-экспорт Telegram Desktop — лучший источник живого голоса:
python3 ~/.claude/skills/voice-dna-builder/scripts/extract_telegram.py result.json # покажет авторов
python3 ~/.claude/skills/voice-dna-builder/scripts/extract_telegram.py result.json --from "Имя" -o /tmp/corpus.txt
Если образцов мало (<5) — честно предупредить, что голос выйдет приблизительным.
Шаг 3 — Анализ корпуса
Сохранить образцы во временный файл и прогнать:
python3 ~/.claude/skills/voice-dna-builder/scripts/analyze_corpus.py /tmp/corpus.txt
Отчёт даёт реальные числа. Не выдумывать статистику — брать только из отчёта.
Шаг 4 — Сборка скилла
По references/extraction-guide.md (Части 3–4) заполнить references/skill-template.md:
- подставить данные интервью и числа из отчёта;
- вместо
{{ANTI_SLOP}}вставить RU- или EN-секцию изreferences/universal-anti-slop.md; - в Usage-примеры вставить 3–4 дословных образца автора (они калибруют тон сильнее правил);
- учесть тире-исключение: если автор сам активно использует тире — не банить их жёстко.
Шаг 5 — Установка
Записать результат в ~/.claude/skills/{{slug}}/SKILL.md, где slug — kebab-case
латиницей (напр. style-writer-ivanov). Проверить frontmatter (валидный name +
description с триггер-фразами).
Рядом сохранить профиль голоса ~/.claude/skills/{{slug}}/references/voice-profile.json
(ответы интервью + корпус + дата; схема — в extraction-guide.md, Часть 4). Без него
обновление голоса потребует повторного интервью и повторной вставки всех образцов.
Шаг 6 — Проверка и калибровка
Сообщить пользователю команду вызова (/{{slug}}) и предложить пробную генерацию.
Если голос звучит не так — вернуться к Шагу 4, поправить профиль/правила/примеры.
Опционально упаковать скилл для раздачи:
python3 ~/.claude/skills/skill-creator/scripts/package_skill.py ~/.claude/skills/{{slug}}
Обновление голоса (без повторного интервью)
Когда пользователь просит «обнови мой голос» / «добавь новые образцы»:
- Прочитать
~/.claude/skills/{{slug}}/references/voice-profile.json— интервью уже там, заново не спрашивать (только уточнить, если что-то изменилось: новые каналы, тон). - Принять новые образцы (чат / файл /
extract_telegram.py), добавить к корпусу из профиля. - Прогнать
analyze_corpus.pyпо объединённому корпусу. - Показать пользователю diff подписи голоса: какие вводные/обороты добавились, какие выпали.
- Пересобрать SKILL.md (Шаг 4), обновить
voice-profile.json(корпус +updated).
Принципы качества
- Только настоящее. В «подпись голоса» идут лишь реально частотные слова из отчёта, не выдуманные.
- Примеры > правила. Реальные образцы автора в Usage — половина качества клона.
- Анти-слой общий, голос личный. Баны AI-фраз одинаковы для всех; всё остальное индивидуально.
- Язык вывода = язык образцов, даже если интервью шло на русском.