Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .factory-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,12 @@
"description": "Pull request lifecycle skills: create PRs with consistent conventions and follow up on them until merge-ready",
"source": "./plugins/code-review",
"category": "productivity"
},
{
"name": "humanizer-ru",
"description": "Remove AI-generation markers from Russian text: 64 patterns, 21 hard bans, rewrite / audit / targeted-fix modes, and a deterministic scanner",
"source": "./plugins/humanizer-ru",
"category": "writing"
}
]
}
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,16 @@ Skills for continuous learning and improvement.

Autonomous experiment loop for optimization research. Try an idea, measure it, keep what works, discard what doesn't, repeat. Works standalone or as a mission worker.

### humanizer-ru

Remove AI-generation markers from Russian text and make it read like a human wrote it. Russian-language counterpart to `human-writing`.

**Skills:**

- `humanizer-ru` - 64 AI-text patterns across 14 categories, 21 hard bans, rewrite / audit / targeted-fix modes, optional deterministic 0-100 scanner (`scripts/scan.py`)

See [plugins/humanizer-ru/README.md](plugins/humanizer-ru/README.md) for details.

## Plugin Structure

Each plugin follows the Factory plugin format:
Expand Down
13 changes: 13 additions & 0 deletions plugins/humanizer-ru/.factory-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"name": "humanizer-ru",
"description": "Remove AI-generation markers from Russian text: 64 patterns across 14 categories, 21 hard bans, rewrite / audit / targeted-fix modes, and a deterministic 0-100 scanner",
"version": "3.21.0",
"author": {
"name": "Ilya Utov",
"email": "ilyautov@gmail.com"
},
"homepage": "https://humanizer-ru.aifrontier.tech/",
"repository": "https://github.com/ilyautov/humanizer-ru",
"license": "MIT",
"keywords": ["humanizer", "russian", "writing", "ai-detection", "text", "русский", "очеловечивание"]
}
23 changes: 23 additions & 0 deletions plugins/humanizer-ru/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# humanizer-ru

Removes AI-generation markers from Russian text and makes it read like a human wrote it. The skill is a Russian-language counterpart to `human-writing`: it works only with Russian and routes English text to the English skill.

## Skills

### `humanizer-ru`

Catalog of 64 AI-text patterns across 14 categories (bureaucratic phrasing, calques from English, em-dash overuse, rule of three, hollow intensifiers, rhythm flatness and others) plus 21 hard bans. Three modes: full rewrite, audit only, targeted fix. Keeps source facts locked (numbers, dates, names, links are carried over unchanged) and calibrates the voice to the author's samples.

A deterministic scanner ships with the skill (`skills/humanizer-ru/scripts/scan.py`): it scores a text 0-100, lists the markers it found and compares before/after versions. It is optional; the skill works from the catalog alone when Python or the `razdel` and `pymorphy3` packages are not available.

Thresholds were calibrated on 55K labeled Russian texts (human vs. generated).

## Install

```bash
droid plugin install humanizer-ru@factory-plugins
```

## Source and license

Upstream repository: https://github.com/ilyautov/humanizer-ru (MIT). Site with examples and an online audit: https://humanizer-ru.aifrontier.tech/
320 changes: 320 additions & 0 deletions plugins/humanizer-ru/skills/humanizer-ru/SKILL.md

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions plugins/humanizer-ru/skills/humanizer-ru/agents/openai.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
interface:
display_name: "Humanizer RU"
short_description: "Убирает следы нейросети из русского текста: 64 паттерна, 21 жёстких банов, голос автора."
policy:
allow_implicit_invocation: true
40 changes: 40 additions & 0 deletions plugins/humanizer-ru/skills/humanizer-ru/edit-log.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Дневник правок

Журнал живого фидбека на конкретные тексты. Скилл читает его в Шаге 1 (диагностика)
и применяет накопленные правила поверх дефолтов каталога.

Зачем это нужно: каталог `references/catalog.md` описывает общие признаки, но у
каждого владельца свои больные места. Тексты, которые не зашли, оставляют здесь
конкретное правило. Так фидбек, который иначе ловится вручную на третьем проходе,
оседает один раз и перестаёт повторяться.

## Как это работает

- Правила отсюда **сильнее** дефолтов каталога: если запись противоречит общей
рекомендации, побеждает запись.
- Правила отсюда **не отменяют HARD BANS**: жёсткие запреты из SKILL.md выше всего.
- Файл append-only: новые записи дописываются вниз, старые не редактируются
(история решений важна). Ошибочное правило гасится новой записью, а не правкой
старой.
- Каждая запись привязана к области применения, чтобы правило для соцсетей не
поехало в юридический текст.

## Формат записи

```
## ГГГГ-ММ-ДД - <короткая тема>

Фидбек: <что не понравилось в конкретном тексте, своими словами>

Правило: <конкретное действие для редактора: заменить X на Y, не делать Z>

Область: <тип текстов, к которым применимо; «все» по умолчанию>
```

Правило должно быть механическим и проверяемым, а не «пиши живее». Плохо:
«сделай теплее». Хорошо: «в приветствии писем не начинать с „Здравствуйте!“ на
отдельной строке, сразу переходить к делу».

## Записи

Пока пусто. Первая запись появится после первого живого фидбека.
Loading