GitHub - cotapon/humanizer-ja: Claude Code skill that removes signs of AI-generated writing from text · GitHub
Skip to content
 
 

Latest commit

 

History

37 Commits

Folders and files

Repository files navigation

Humanizer-JA

Claude CodeおよびOpenCode向けのスキルで、日本語テキストからAI生成の痕跡を検出・除去し、より自然で人間らしい文章に修正します。

インストール

Claude Code

Claude Codeのスキルディレクトリに直接クローン:

mkdir -p ~/.claude/skills
git clone https://github.com/cotapon/humanizer-ja.git ~/.claude/skills/humanizer-ja

すでにこのリポジトリをクローン済みの場合は手動でコピー:

mkdir -p ~/.claude/skills/humanizer-ja
cp SKILL.md ~/.claude/skills/humanizer-ja/

OpenCode

OpenCodeのスキルディレクトリに直接クローン:

mkdir -p ~/.config/opencode/skills
git clone https://github.com/cotapon/humanizer-ja.git ~/.config/opencode/skills/humanizer-ja

すでにこのリポジトリをクローン済みの場合は手動でコピー:

mkdir -p ~/.config/opencode/skills/humanizer-ja
cp SKILL.md ~/.config/opencode/skills/humanizer-ja/

Note: OpenCodeは ~/.claude/skills/ もスキャンするため、~/.claude/skills/humanizer-ja/ への一度のクローンで両方のツールで動作します。

使い方

Claude Code

/humanizer-ja

[修正したいテキストをここに貼り付け]

OpenCode

/humanizer-ja

[修正したいテキストをここに貼り付け]

または、どちらのツールでも直接依頼:

このテキストを人間らしくしてください: [テキスト]

声のキャリブレーション

自分の文体に合わせて修正したい場合、自分が書いた文章サンプルを提供する:

/humanizer-ja

私の文体サンプル:
[自分が書いた2〜3段落を貼り付け]

このテキストを人間らしくしてください:
[AI生成テキストを貼り付け]

スキルが文の長さのリズム、語彙選択、文末パターンの癖を分析し、汎用的な「クリーン」出力ではなく、あなたの文体に合わせて書き換えます。

概要

Wikipedia「AI生成文の特徴」ページおよびZenn記事(m0370氏「humanizer をベースに日本語向けの設定に改良した話」)をベースに、日本語に特化した20のパターンを検出・修正します。

また、最終的な「AIっぽいか確認する」監査パスと二度目の書き換えにより、初稿に残ったAI的特徴を取り除きます。

Wikipediaからの重要な知見

「LLMは統計アルゴリズムを使って次に来るべき内容を予測する。その結果は、最も幅広いケースに当てはまる最も統計的に可能性の高い結果に向かう傾向がある。」

20のパターン(Before/After例付き)

内容パターン

# パターン 修正前 修正後
1 意義の過剰な強調 「地域統計の歴史における重要な転換点となりました」 「地域統計を集計・公表するために設立されました」
2 注目度・メディア言及の過剰強調 「多くのメディアで取り上げられ、各方面から注目を集め」 「2024年のインタビューで〜と主張しました」
3 曖昧な出典への言及 「専門家によると〜とされています」 「中国科学院の2019年調査によると」
4 宣伝的・広告的な表現 「魅力的な自然環境に囲まれた、息をのむような景観」 「週市と18世紀建立の神社で知られています」
5 定型的な「課題と展望」セクション 「課題はあるものの、今後の発展が期待されます」 具体的な課題と取り組みの事実
6 三点セットの強制 「速度・品質・信頼性の三点において」 実際の数で列挙

語彙・文法パターン

# パターン 修正前 修正後
7 AI頻出語彙(日本語版) 「さらに」「加えて」「特筆すべきは」「〜において」 具体的でシンプルな表現
8 過剰な接続詞の連鎖 「また〜。さらに〜。加えて〜。」が規則的に続く 自然な接続または省略
9 回りくどい繋辞(コピュラ回避) 「〜として位置づけられています」「〜を担っています」 「〜です」「〜があります」
10 同義語の無意味な循環 「課題」「問題点」「懸念事項」「論点」と言い換え 一語を使い続ける
11 〜ing的な付け足し構文 「〜を浮き彫りにしており」「〜を示唆しています」 除去、または出典付きで展開

スタイルパターン

# パターン 修正前 修正後
12 ダッシュ類の使用 全角ダッシュ(――)の多用 読点や句点に置き換え
13 太字の機械的多用 OKRKPIBSCを組み合わせ」 「OKRとKPIとBSCを組み合わせ」
14 インラインヘッダー付き箇条書き 「- 速度: コード生成が高速化」 散文に変換
15 絵文字の装飾的使用 「🚀 ローンチフェーズ: 💡 重要な知見:」 絵文字を除去

コミュニケーションパターン

# パターン 修正前 修正後
16 チャットボット残留表現 「お役に立てれば幸いです!ご質問があればお気軽に」 完全に除去
17 知識カットオフの注意書き 「公開情報が限られているため確実ではありませんが」 出典を探すか除去
18 追従的・お世辞的トーン 「素晴らしいご質問ですね!おっしゃる通りです」 直接的に答える

冗長表現・ヘッジング

# パターン 修正前 修正後
19 過剰なヘッジング・定型結論 「今後の展開が注目されます」「〜ではないでしょうか」 具体的な事実か削除
20 カタカナ語の過剰使用 「イノベーション・ソリューション・ステークホルダー」 「革新・解決策・関係者」等(定着語は除く)

全体の例

修正前(AI生成臭い文章):

素晴らしいご質問ですね!AIコーディング支援について以下にまとめます。

AIコーディング支援は、ソフトウェア開発の歴史における重要な転換点として位置づけられています。さらに、この画期的なテクノロジーは、開発者の生産性向上に大きく貢献しており、多くの専門家から注目を集めています。イノベーション・ソリューション・ステークホルダーへの価値提供という観点において、非常に重要な役割を担っています。

  • 🚀 速度: コード生成が大幅に高速化し、開発者の負担を軽減します。
  • 💡 品質: 出力品質が向上しています。
  • 採用: 利用者数は増加傾向にあります。

こうした課題もあるものの、今後の展開が注目されます。これこそが、現代の開発者に必要なソリューションではないでしょうか。

修正後(人間らしい文章):

AIコーディング支援は退屈な部分を速くする。全部じゃない。アーキテクチャはまず無理。

ボイラープレートは強い。設定ファイル、テスト雛形、繰り返しリファクタリング。「自信満々に間違える」のも強い。コンパイルが通りlintも通り、なのに意図と違うことをする提案を、確認をやめて全部受け入れてしまったことがある。

周囲の話を聞くと大体ふたつに分かれる。「面倒なコードの補完として使いつつ全行見る」か、「古いパターンを出し続けるから切った」か。どちらも合理的に聞こえる。

生産性の指標はすべりやすい。「30%の提案を承諾」と言われても、承諾は正確さじゃないし、正確さは価値でもない。テストがなければその違いはほぼわからない。

アップストリーム同期の仕組み

本家 blader/humanizer の変更を定期的に取り込むため、2つのGitHub Actionsワークフローが連携しています。

Upstream Sync Check

役割: アップストリームの変更を検知して通知する

  • トリガー: 毎日 18:00 JST(スケジュール)または手動実行
  • 処理: .github/upstream-state.json の最終同期SHAと本家の最新SHAを比較し、差分があれば upstream-sync ラベル付きIssueを作成。IssueのコメントでClaudeに日本語適応を依頼する

Update Upstream State After Sync PR Merged

役割: 同期PRがマージされたあとに状態を更新する

  • トリガー: upstream-sync ラベル付きのPRがマージされたとき
  • 処理: PRのdescriptionに埋め込まれた <!-- upstream-new-sha: ... --> を読み取り、.github/upstream-state.jsonlast_synced_sha を更新してコミット

全体の流れ

[毎日 18:00 JST] Upstream Sync Check 実行
  ↓ 差分あり
Issue作成 → Claudeが日本語適応してPRを作成
  ↓ PRマージ
Update Upstream State After Sync PR Merged
  ↓ upstream-state.json を更新
  ↓ 翌日
Upstream Sync Check が「変更なし」と判定 → Issue作成されない

参考文献

バージョン履歴

  • 3.0.0 — 日本語特化版に完全書き換え。20の日本語向けパターン、全文日本語化、声のキャリブレーション日本語対応
  • 2.5.1 — 受動態・主語省略ルールを追加し、29パターンに
  • 2.5.0 — 説得的フレーミング・サインポスティング・断片的ヘッダーパターン追加
  • 2.4.0 — 声のキャリブレーション機能追加
  • 2.3.0 — パターン#25: ハイフン付き複合語の多用を追加
  • 2.2.0 — 最終「AIっぽいか」監査と二度目の書き換えパスを追加
  • 2.1.0 — 全24パターンにBefore/After例を追加
  • 2.0.0 — Wikipedia記事原文をベースに全面改訂
  • 1.0.0 — 初回リリース

ライセンス

MIT

About

Claude Code skill that removes signs of AI-generated writing from text

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors