berelevant-ai/slopless

Deterministic textlint rules and CLI for catching prose slop in English Markdown.

概要

Slopless は、英語の Markdown ファイルをスキャンして、README が「slop」と呼ぶもの——AI 生成と人間の散文の両方に共通する、曖昧で、決まり文句的で、過度に自信のある書き方——を検出するコマンドラインツールです。これは、テキスト用の人気のリンターフレームワークである textlint 上に構築されていますが、すべてをバンドルしているため、別途 textlint のセットアップは必要ありません。

仕組み

ファイルまたはフォルダに対して実行すると、見つかったすべての問題をリストした JSON が返されます。README には、5 つのルールにわたって 6 つの検出をトリガーするサンプル段落が示されています。たとえば、「let me be honest」(定型の枠組み)、「in a world where」(禁止フレーズ)、「We do not sell software. We sell outcomes.」(否定のリフレーム)、「everyone knows」(普遍化する主張)、「at the end of the day」(決まり文句)などです。つまり、禁止語リストだけでなく、構造とレトリックをチェックしています。

終了コード

  • 0 — 問題なし
  • 1 — 問題あり
  • 2 — 何かが失敗(例:入力なし)

ファイルパス、glob、または stdin なしの裸の npx slopless は、コード 2 で終了します。このツールは英語のみ対応です。

2 層のチェック

  1. 決定的ルール — ローカルで実行され、常にオン。これらはフレーズと構造のチェックです。
  2. Jev チェック — オプションで、JEV_API_KEY 環境変数に TypeSafe API キーが必要です。これらは、書き込みを TypeSafe に送信してセマンティックな判断(例:「空の takeaways」や「繰り返しの説明」)を行います。11 のファミリーにわたって 54 の Jev チェックがあります。これらは実験的であり、README によると品質はチェックによって異なり、--check フラグで明示的に選択した場合にのみ実行されます。

ナラティブスロップルール — フィクションと回想録用の別のルールセット(名前付き感情、空のビート、アクションのリズム、知覚密度、ナラティブの決まり文句)。これらはデフォルトでオフです。--narrative でオンにします。

3 つの使用方法

  1. CLI — npx slopless "docs/**/*.md"。出力は常に JSON です。自分でファイルにリダイレクトできます。
  2. ライブラリ — JavaScript/TypeScript で createSlopless と createJevClient をインポートし、lintText() または lintFiles() を呼び出します。中止シグナル、同時実行制限、タイムアウト、再試行をサポートします。
  3. textlint プリセット — すでに textlint を使用している場合は、.textlintrc.json に preset-slopless を追加すると、他のルールと一緒に実行され、textlint の出力フォーマッタをサポートします。

エージェント統合

npx slopless install-skill codex(または claude)で Codex または Claude Code 用の「スキル」をインストールできます。両方とも同じスキル本体をインストールします。想定されるワークフロー:スキルをインストールし、新しいエージェントセッションを開始し、エージェントに Slopless スキルを使用してチェック、書き直し、JSON 出力に検出がなくなるまで再実行するように指示します。

特定のルールを無視する

意図的な例外を HTML コメントで囲むことができます:

<!-- textlint-disable slopless/semantic-thinness -->

Something shifted in the room.

<!-- textlint-enable slopless/semantic-thinness -->

ID による抑制 — npx slopless --list-checks は各チェックの reportId を表示します。これは、これらの無効化コメントで使用できます。決定的 ID は安定しています。Jev モデル ID にはファミリー名が含まれます。

セキュリティ/来歴

0.2.13 以降のすべてのリリースは、OIDC を介して GitHub Actions から公開され、Sigstore 透明性ログに記録された SLSA v1 の来歴証明書を保持しています。npm audit signatures slopless で検証できます。

クレジット

flat-action-cadence ルールは、英語の単語分類に Compromise ライブラリを使用しています。その物理アクションとアクターの語彙は、Open English WordNet 2025(CC BY 4.0)に由来しています。README はまた、Graham Rowe に感謝しており、彼の antislop ライブラリは「完全に組み込まれています」。

結論

Slopless は、英語の Markdown 用のライティング品質リンターであり、AI モデルや急いでいる人間が生成する、自信に満ちているが空虚な散文を検出することを目的としています。デフォルトで決定的であり、オプションで AI ベースのセマンティックチェックで強化され、人間と、チェックが合格するまで反復できるライティングエージェントの両方で使用できるように設計されています。

関連

  • プロジェクト
  • Dispatch
  • プロジェクト
  • プロジェクト
  • プロジェクト