sloptrim — плагин

Плагин для проверки прозы после сохранения: локальный детектор отмечает повторяющиеся штампы и предлагает агенту правки

  • 424 ★ репозитория
  • Последний коммит
  • Apache-2.0
Плагин

Расширенный доступ

Почему такой уровень

  • Хуки запускают скрипты Node и Python при событиях сессии, запросов и сохранения через поддерживаемые инструменты
  • Команда `/sloptrim init` создает или меняет `AGENTS.md` и правила Cursor в проекте
Все причины и проверки

seyedehsanhadi/sloptrim

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add plugins/sloptrim

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Хуки запускают скрипты Node и Python при событиях сессии, запросов и сохранения через поддерживаемые инструменты
  • Команда `/sloptrim init` создает или меняет `AGENTS.md` и правила Cursor в проекте

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Плагин `sloptrim` проверяет прозу, которую агент сохраняет в файлы. Детектор написан на стандартной библиотеке Python, работает без сети и без модели, а код, конфиги и коммиты не трогает. В каталоге 71 примета машинного письма: у 62 есть детектор, 50 из них влияют на оценку, остальные 12 выводятся как советы и баллов не добавляют. Еще 9 примет требуют смыслового чтения, их агент разбирает при переписывании. Оценка идет от 0 до 100 и попадает в одну из пяти полос: чисто, легкие приметы, смешанно, тяжелые приметы, сплошные приметы. Хук срабатывает после сохранения файла через поддерживаемые инструменты записи Claude Code и просит исправить названные фрагменты, если оценка выше 40. В режиме `strict` порог равен 20. Детектор читает 20 форматов, среди них `.docx`, `.pptx`, `.xlsx`, OpenDocument, `.epub`, `.ipynb` и LaTeX. Режимы переключает команда `/sloptrim`: `full` по умолчанию, `strict`, `lite` только с правилами в начале сессии и `off`. Команда `/sloptrim check` с именем файла оценивает документ без переписывания. Для других агентов `/sloptrim init` записывает те же правила в `AGENTS.md` и в правило Cursor.

Для кого. Для тех, кто просит агента писать письма, отчеты, статьи и документацию и хочет получать текст без машинных штампов, не вычитывая все вручную.

Подходит, если

  • Агент пишет письма, резюме или отчеты, и перед отправкой текст нужно прогнать через детектор
  • Нужно проверить уже готовый документ формата `.docx`, `.pptx` или `.epub` командой `/sloptrim check`
  • В команде хотят единые правила чистого текста для Claude Code, Codex и Cursor через `AGENTS.md`
  • Требуется режим `strict`, который просит исправлять текст при оценке выше 20
  • Нужна проверка без отправки текста в облако: детектор работает локально и без модели

Не подходит, если

  • Нужно выяснить, писал ли текст человек: оценка описывает приметы письма, автора она не определяет, и документация запрещает использовать ее для этого
  • Агент создает файлы командой `Bash`: такой файл попадает на диск мимо инструментов записи и хука
  • Проверять нужно код, конфиги или коммиты: детектор работает только с прозой
  • Документ лежит в PDF или RTF: такие файлы детектор помечает как нечитаемые и не оценивает

Пример запроса к агенту

`/sloptrim check report.docx` — оцени отчет и назови приметы машинного письма, переписывать пока не надо

Ограничения

Нужны Python 3.9 или новее и Node.js для хуков. Детектор работает локально, но проверяемая проза и замечания могут оказаться в контексте облачного агента. Хук реагирует после сохранения файла и не блокирует запись.

Анализ ограничен первыми 262 144 символами текста. Колонтитулы DOCX и заметки докладчика PPTX не читаются. Опция `--clean` выводит текст и не восстанавливает исходный документ, поэтому ее вывод нельзя записывать поверх архива DOCX или PPTX. Поддержка русского языка в описании не заявлена, так что проверьте оценку на своих материалах.

Как отключить. Режим `off` в команде `/sloptrim` выключает проверку, а переменная `SLOPTRIM_MODE=off` отключает ее на один запуск, не меняя сохраненный режим. Полностью плагин удаляет команда `/plugin uninstall sloptrim@sloptrim`. При ручной установке удалите папку `~/.claude/skills/sloptrim` и файл `~/.claude/commands/sloptrim.md`.

Частые вопросы

Как поставить sloptrim в Claude Code?

Добавьте маркетплейс и установите плагин командами из раздела установки, затем перезапустите клиент. Команда `/sloptrim doctor` проверяет локальные файлы. Чтобы проверить работу событий, сохраните текст и посмотрите результат через `/sloptrim show`.

Как sloptrim считает оценку текста?

Детектор проверяет текст по 62 приметам и дает от 0 до 100 баллов, при этом на оценку влияют 50 из них. Результат попадает в одну из пяти полос от «чисто» до «сплошные приметы». Хук просит править текст при оценке выше 40, в режиме `strict` — выше 20.

Можно ли доверять sloptrim как проверке на авторство нейросети?

Нет. Балл оценивает выраженность выбранных стилевых признаков и не определяет вероятность машинного авторства. Результат зависит от языка, форматирования и жанра, поэтому по нему нельзя обвинять автора.

Работает ли sloptrim в Cursor и Codex?

Автоматический хук рассчитан на Claude Code. Для других агентов команда `/sloptrim init` пишет правила в `AGENTS.md` и в каталог `.cursor/rules/`, чтобы агент учитывал их в работе. Доставку событий сохранения в другом клиенте проверяйте отдельно.

Какие файлы проверяет sloptrim?

Двадцать форматов, включая `.docx`, `.pptx`, `.xlsx`, OpenDocument, `.epub`, `.ipynb` и LaTeX. PDF и RTF детектор помечает как нечитаемые. Из документов он берет текст абзацев и ячеек. Код и конфиги остаются вне оценки.

Обсуждение

Вопросов и отзывов пока нет.

Плагины

Бесплатный навык находит в черновике шаблоны ИИ-письма, ведет правку и проверяет, что факты и формулировки автора сохранились

СкиллМинимальный доступ167Звезды репозитория

Локальный линтер находит в тексте штампы и ровный ритм предложений, чтобы агент поправил их сам, а не гадал, писал ли это ИИ.

СкиллМинимальный доступ108Звезды репозитория

Скилл находит в английской прозе приметы ИИ и точечно правит их; три Python-сканера работают отдельно, а команда teach учит голосу автора

СкиллМинимальный доступ1 тыс.Звезды репозитория

Два скилла для английского текста: humanize переписывает черновик нейросети живым слогом, ai-check находит машинные приметы

СкиллМинимальный доступ622Звезды репозитория

Скилл и CLI на Node.js оценивают английский текст по шаблонам ИИ-письма и статистике и подсказывают правки от 0 до 100

СкиллМинимальный доступ132Звезды репозитория

Скилл находит приметы машинного текста, переписывает его в выбранном голосе и по желанию дает оценку от 0 до 100

СкиллМинимальный доступ311Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйЗвезды репозиторияГлавное отличие
sloptrim (эта карточка)нет424
unslopнет1 048скилл для английской прозы с тремя отдельными Python-сканерами
Avoid AI Writingнет5 618скилл, который переписывает текст по запросу, без автоматической проверки при сохранении

Коротко о README

Код распространяется по Apache 2.0. Автор публикует методику проверки детектора и отдельные этические ограничения: оценка нужна для редактуры, а вопрос авторства по ней не решается.

Бейдж для README

Исходный SKILL.md

---
name: sloptrim
description: >-
  Use when the user wants to humanize text, trim slop, de-AI or de-slop writing,
  remove AI tells, fix robotic or ChatGPT-sounding prose, or make writing sound
  human and natural. Also run before delivering a CV, cover letter, email,
  report, or essay to be sent. Removes 71 documented AI-writing patterns with a
  local detector, preserves numbers, names and citations, and rebuilds toward a
  human voice rather than a flat husk. Mode-aware, so it never fabricates voice
  on factual content.
version: 0.9.6
license: Apache-2.0
allowed-tools: Read, Write, Edit, Grep, Glob, Bash
argument-hint: The text to trim, or a file path
---

# Sloptrim

Trims AI slop from text. Works a catalogue of 71 patterns: 62 machine-checked by `scripts/detect.py`, 9 requiring semantic judgment during the rewrite. Of the 62, 50 can move the score; the rest are reported as writing advice and count for nothing. Mode-aware so it does not invent voice on factual content. Preserves facts. Rebuilds the cleaned text toward a selectable human-voice **style profile** so it does not read as a sterile de-AI'd husk.

## Silence

This skill never talks about itself. It hands back the cleaned text and nothing else.

**Never emit:** any announcement that sloptrim ran, style/mode lines, scores or reports, drafts, self-audit notes, facts-preserved lines, change lists, preambles, closing offers.

**Emit only:**
- Text given inline: the final text. Nothing before it, nothing after it.
- A file path given: rewrite the file in place, then one line - the path. Nothing else.
- Fired as a pre-delivery pass on something you were already writing (CV, cover letter, email, report, essay): just deliver the clean text. Do not mention that a pass happened.

Every internal step still runs - detector, tiering, self-audit, character scrub. Silence means nothing is *printed*, not that anything is skipped.

Break silence only for: (a) a fact you cannot preserve, or an unusual word you cannot verify against the domain - one line, then the text; (b) the user explicitly asking for the score, the report, a style choice, or a diff - then answer in full; (c) a **high-stakes first-person deliverable** - a cover letter, personal statement, or bio the user is about to send - where after the text you may add exactly one line offering a voice switch (for example: "Voice here is plain-professional; say the word for warmer or more formal."). One line, only for these high-stakes cases, never for routine prose.

## Style, chosen silently

Never ask. Read the content and pick:

- encyclopedic / factual / technical → **2000s textbook**
- first-person / opinion → **conversational essay**
- docs, README, business prose → **plain / clear**
- news → **journalistic**

If the user names a style or pastes a writing sample, that wins (see *Matching the user's own voice*).

Сообщить о проблеме