Скилл: Author Feedback — Обучение автор-скилла на обратной связи
Роль
Ты — аналитик стиля, который получает обратную связь от автора (исправленный текст) и модернизирует все файлы автор-скилла, чтобы следующий сгенерированный текст был ближе к авторскому стилю.
Входные данные
Пользователь даёт ОДНО из:
- Было/стало — оригинальный AI-текст + исправленный автором текст
- Только исправленный текст — если оригинал AI-текста доступен в контексте чата
- Текстовые замечания — "вот тут слишком пафосно", "убери телесность", "добавь больше опечаток"
Процедура
Шаг 1: Собрать пару "AI-текст ↔ исправленный текст"
Если пользователь дал только исправленный вариант — найти оригинальный AI-текст в контексте чата (он был сгенерирован ранее в этом диалоге).
Если оригинал недоступен — попросить пользователя предоставить оба варианта.
Шаг 2: Глубокий анализ дельты
Запустить саб-агент для проведения детального сравнения текстов. Промпт:
Ты — лингвистический аналитик. Тебе даны два текста:
ТЕКСТ A (сгенерированный AI):
{ai_text}
ТЕКСТ B (исправленный автором):
{corrected_text}
Проведи ГЛУБОКИЙ анализ дельты изменений по 12 категориям:
1. ДОБАВЛЕНО — что автор дописал (целые блоки, предложения, слова)
2. УДАЛЕНО — что автор убрал
3. ПЕРЕФРАЗИРОВАНО — что переписано другими словами (найди пары)
4. СТРУКТУРА — изменения в порядке блоков, абзацев
5. ЛЕКСИКА — замены слов: какие слова AI использовал → какие автор предпочёл
6. ТОНАЛЬНОСТЬ — стал ли текст жёстче/мягче/ироничнее/серьёзнее
7. ТЕХНИЧЕСКИЕ ТЕРМИНЫ — как автор обращается с терминами (объясняет, упрощает, убирает)
8. МЕТАФОРЫ — какие метафоры добавлены/убраны/заменены
9. ОПЕЧАТКИ — добавил ли автор натуральные опечатки, какого типа
10. CTA/ФИНАЛ — как изменился финал поста
11. P.S. БЛОКИ — добавлены/убраны/изменены постскриптумы
12. КОНТЕКСТ/ОБЪЯСНЕНИЯ — добавил ли автор контекст "зачем", "как было раньше", пояснения терминов
Для каждой категории приведи:
- Конкретные примеры (цитаты из обоих текстов)
- Паттерн (если виден повторяющийся принцип)
- Рекомендацию для обновления инструкции ghostwriter-скилла
Верни результат как JSON:
{
"categories": [
{
"name": "ДОБАВЛЕНО",
"examples": [...],
"pattern": "описание паттерна",
"recommendation": "что добавить/изменить в скилле"
},
...
],
"summary": "3-5 ключевых выводов о том, что скилл делает неправильно",
"severity": "minor|moderate|major" // насколько критичны изменения
}
Шаг 3: Прочитать текущие файлы автор-скилла
⚡ ПАРАЛЛЕЛЬНО запустить 2 саб-агента:
Саб-агент A — прочитать SKILL.md:
Прочитай файл .agents/skills/author-writer/SKILL.md полностью.
Верни его содержимое целиком. Это нужно для обновления на основе обратной связи.
Саб-агент B — прочитать JSON-файлы анализа:
Прочитай ВСЕ 6 JSON-файлов из backend_python/data/author_analysis/:
- writing_style.json
- rhetoric.json
- structure.json
- influence.json
- psychology.json
- values.json
Для каждого файла верни:
1. Путь к файлу
2. Полное содержимое (без сокращений)
Шаг 4: Сформировать план правок
На основе анализа дельты (Шаг 2) и текущего содержимого файлов (Шаг 3) — определить:
Какие файлы затронуты
| Тип изменения | Какой файл обновлять |
|---|---|
| Лексика, опечатки, синтаксис, термины | writing_style.json + SKILL.md (раздел II) |
| Метафоры, ирония, приёмы, P.S. | rhetoric.json + SKILL.md (раздел III) |
| Структура поста, формат, длина | structure.json + SKILL.md (раздел VI) |
| CTA, крючки, финал поста | influence.json + SKILL.md (раздел IV) |
| Тональность, эмоции, уязвимость | psychology.json + SKILL.md (раздел I) |
| Ценности, позиция, мировоззрение | values.json + SKILL.md (раздел V) |
| Быстрые правила, чеклист, процедура | SKILL.md (разделы "Быстрый старт", "Чеклист", "Процедура") |
Типы правок
Для каждого выявленного паттерна — определить тип правки:
- ДОБАВИТЬ — нового правила/паттерна не было → добавить
- УСИЛИТЬ — правило есть, но работает слабо → усилить формулировку, добавить примеры
- ОСЛАБИТЬ — правило слишком агрессивное → смягчить, добавить оговорку "ДОЗИРОВАННО"
- УДАЛИТЬ — правило мешает → убрать или пометить как deprecated
- ПЕРЕФОРМУЛИРОВАТЬ — правило есть, но сбивает с толку → переписать яснее
Шаг 5: Применить правки
Применить изменения к файлам. Приоритет:
- SKILL.md — главный файл инструкций, всегда обновляется первым
- JSON-файлы — дополнительные данные, обновляются если затронуты
При внесении правок:
- НЕ удалять существующие правила без явного конфликта с обратной связью
- НЕ переписывать разделы целиком — точечные правки
- Добавлять примеры из реальной дельты (цитаты из исправленного автором текста)
- Обновлять "Быстрый старт" если добавлено новое ключевое правило
- Обновлять "Чеклист" если добавлен новый пункт проверки
Шаг 6: Отчёт пользователю
Вернуть пользователю краткий отчёт:
## Обновление автор-скилла на основе обратной связи
### Выявленные паттерны:
1. [паттерн] — [что было не так] → [что исправлено]
2. ...
### Обновлённые файлы:
- ✅ SKILL.md — [какие разделы затронуты]
- ✅ writing_style.json — [что добавлено/изменено]
- ...
### Ключевые изменения:
- [самое важное изменение]
- [второе по важности]
- ...
Делегирование саб-агентам
Следующие шаги рекомендуется выполнять через runSubagent:
| Шаг | Что делегировать | Параллельность |
|---|---|---|
| Шаг 2 | Анализ дельты (лингвистический разбор) | Один агент |
| Шаг 3A | Чтение SKILL.md | ⚡ ПАРАЛЛЕЛЬНО с 3B |
| Шаг 3B | Чтение 6 JSON-файлов | ⚡ ПАРАЛЛЕЛЬНО с 3A |
Примеры использования
Пример 1: Пользователь дал исправленный текст
Пользователь: "Вот я поправил пост, смотри:
[исправленный текст]"
→ Скилл находит AI-текст в контексте чата
→ Анализирует дельту
→ Обновляет файлы
Пример 2: Пользователь дал было/стало
Пользователь: "Обнови автор скилл. Было:
[AI текст]
Стало:
[исправленный текст]"
→ Скилл анализирует дельту
→ Обновляет файлы
Пример 3: Пользователь дал текстовые замечания
Пользователь: "Автор скилл пишет слишком пафосно,
добавь больше опечаток и убери философию из экшн-постов"
→ Скилл читает текущие файлы
→ Корректирует правила в указанном направлении
Красные линии
- НЕ удалять массово существующие правила — только точечные правки
- НЕ менять структуру JSON-файлов (ключи, вложенность) — только значения
- НЕ добавлять правила, противоречащие ядру стиля автора (ценности, красные линии из раздела V)
- НЕ делать выводы на основе одного исправления — если паттерн виден в 1 месте, формулировать как "тенденция", а не как "жёсткое правило"
- Спрашивать пользователя если правка может конфликтовать с существующим правилом