Skill для Claude Code, который превращает твои реальные образцы текста в персональный writing-скилл, пишущий твоим голосом — с твоими словами-подписями, ритмом, маркерами иронии и каналами. Голос извлекается из реального корпуса (детерминированный анализатор частот), а не угадывается моделью.
git clone https://github.com/ponomr/voice-dna-builder.git ~/.claude/skills/voice-dna-builderСкилл подхватится автоматически. Проверь: в Claude Code набери /voice-dna-builder.
Требуется Python 3 (только стандартная библиотека, без зависимостей).
- В Claude Code напиши:
/voice-dna-builder(или просто «склонируй мой голос», «настрой мой стиль»). - Ответь на вопросы интервью (кто ты, темы, каналы, тон).
- Вставь 5–20 своих реальных текстов.
- Скилл соберёт и установит
~/.claude/skills/<твой-slug>/SKILL.md. - Зови его как
/<твой-slug>— и он пишет твоим голосом.
Образцы текста — это 80% качества. Чем их больше и чем они «живее», тем точнее клон.
- Сколько: 5–20+ кусков. Меньше 5 — голос выйдет приблизительным (скилл предупредит).
- Что брать: реальные посты, реплики в чатах, письма, твиты — то, что писал сам, без редактуры под «красиво».
- Разнообразие: дай и короткие реплики, и пару длинных текстов — так скилл поймает твой ритм (чередование коротких и длинных фраз).
- Как передать (любой способ):
- вставить прямо в чат, разделяя образцы строкой
---; - дать путь к файлу:
.txt,.md, экспорт переписки; - JSON-экспорт Telegram Desktop (лучший источник живого голоса) — скилл сам
достанет твои сообщения, отбросив форварды, медиа и ссылки:
(без
python3 ~/.claude/skills/voice-dna-builder/scripts/extract_telegram.py result.json --from "Имя" -o /tmp/corpus.txt
--fromпокажет список авторов в экспорте).
- вставить прямо в чат, разделяя образцы строкой
Пример вставки в чат:
Ну вроде можно с корп.карты снять.
---
sendpulse ¯\_(ツ)_/¯
---
Скриншотилок для мака вагон, но я остановился на Shottr. P.S. Поставьте значок :)
Коротко, порциями:
- Кто ты — род занятий, роль (1–2 фразы).
- Темы — о чём пишешь чаще всего.
- Каналы — где публикуешь (чат / личный канал / LinkedIn / X / e-mail / блог) и зачем.
- Тон одной фразой — прямой? тёплый? саркастичный? академичный?
- Тональности — нужны ли переключатели «нейтрально / мягче / жёстче / ироничнее».
- Анти-правила — чего ты НИКОГДА не делаешь (эмодзи, хэштеги, капс, мат).
На вопросах про каналы и тональности будут кнопки выбора — можно просто кликнуть.
Готовый скилл в ~/.claude/skills/<slug>/SKILL.md с:
- профилем (кто, темы, средняя длина из анализа);
- подписью голоса — твои реальные вводные слова, многословные обороты (n-граммы), типичные начала и концовки, маркеры (всё с частотами из корпуса);
- каналами — формат и длина под каждый, с твоими же образцами как эталон;
- тональностями — переключатели тона;
- анти-AI-слоем — общий список забаненных «AI-фраз» (одинаков для всех);
- voice-profile.json — сохранённые интервью и корпус, чтобы обновлять голос новыми образцами без повторного интервью.
- Вызвать:
/<slug>(slug скажут в конце сборки, напр.style-writer-ivanov). - Пробная генерация: попроси написать пост/реплику и оцени, похоже ли.
- Не похоже? Скажи что не так («слишком формально», «не хватает иронии») — скилл поправит профиль/правила/примеры. Калибровка примерами работает лучше всего.
- Несколько голосов. Можно собрать отдельный скилл для каждого человека или бренда
(
style-writer-ivanov,brand-voice-acmeи т.д.) — они не мешают друг другу. - Раздать коллеге. Упакуй в zip:
python3 ~/.claude/skills/skill-creator/scripts/package_skill.py ~/.claude/skills/<slug>
- Обновить голос. Накопились новые тексты — скажи «обнови мой голос» и дай свежие
образцы. Интервью повторять не нужно: скилл прочитает
voice-profile.json, объединит корпус, покажет diff подписи голоса (что добавилось/выпало) и пересоберёт SKILL.md. - Проверить вручную (без интервью) — можно прогнать только анализатор корпуса:
Он покажет частоты вводных, длину, ритм и маркеры — полезно понять «из чего» собран голос.
python3 ~/.claude/skills/voice-dna-builder/scripts/analyze_corpus.py /tmp/corpus.txt
- «Голос звучит как нейтральный AI» → мало образцов или они слишком «причёсанные». Добавь сырых, живых текстов и пересобери.
- «Выдумал слова, которых я не говорю» → сообщи; скилл берёт в подпись только то, что реально частотно в корпусе, поправит по отчёту.
- «Забанил тире, а я их люблю» → скажи об этом. Если в твоём корпусе тире много, скилл снимает жёсткий бан и только защищает от AI-накопления подряд.