こんにちは、えふてぃです。
雑多なブログや技術ブログも投稿する中で、これあってるんだっけ?と思うことが多々あります。
情報が間違ってしまうことはなるべく減らしたい。
特に技術記事では、バージョンアップで仕様が変わったり、非推奨になった機能があったりして、記事の信頼性に関わる問題になります。
でも毎回の記事で1から精査すると結構な作業日数になってしまう。
ということでClaude Codeのカスタムコマンド機能を使って、記事の事実確認を自動化する仕組みを作ってみました。
この記事では、その実装方法と使い方を詳しく紹介したいと思います。
改めてClaude Codeのカスタムコマンドとは
Claude Codeには、.claude/commands/ ディレクトリに独自のコマンドを定義できる機能があります。
マークダウン形式でコマンドの動作を記述するだけで、/コマンド名 で呼び出せるようになります。
.claude/commands/配下にマークダウンファイルを配置- ファイル名がコマンド名になる(例:
fact-check.md→/fact-check) - プロンプトとして機能し、Claudeにタスクを指示できる
ブログ品質チェックコマンドの設計
今回作成した /fact-check コマンドは、以下のような設計になっています。
チェック対象
記事の種類に応じて、検証すべき事実を変えています:
技術記事の場合:
- バージョン番号、リリース日
- APIの仕様、コマンドの構文
- ツールやフレームワークの機能
- 環境情報、互換性
雑記記事(お酒・映画)の場合:
- 製品名、生産地、メーカー
- 公開年、監督、出演者
- 価格帯、アルコール度数
- 格付け、認定情報
一般的な事実:
- 統計データ、数値
- 歴史的な出来事、日付
- 引用や参照
検証の優先順位
すべての情報を検証していると時間がかかるので、優先順位を設定しました:
高優先度(必ず検証):
- 技術的な仕様、バージョン番号
- コマンドやコードの構文
- 製品の正式名称
- 数値データ(度数、価格など)
中優先度(できれば検証):
- 歴史的背景
- 一般的な知識
- 業界の慣習や傾向
低優先度(検証不要な場合も):
- 個人的な体験や感想
- 主観的な評価
- 「〜だと思います」など、意見として明記されている内容
実装方法
ファイル構成
.claude/
└── commands/
└── fact-check.md
fact-check.mdの中身
カスタムコマンドは、以下のような構成になっています:
# ブログ記事ファクトチェックコマンド
あなたはブログ記事の事実確認を行うアシスタントです。
## 引数
ユーザーから提供される記事のファイルパス: $ARGUMENTS
## 手順
1. **記事ファイルを読み込む**
- 指定された記事ファイルを読み込む
- 記事の種類(技術記事・雑記記事・ショート)を判断する
2. **検証すべき事実をリストアップする**
- 技術記事の場合:
- バージョン番号、リリース日
- APIの仕様、コマンドの構文
- ツールやフレームワークの機能
- 環境情報、互換性
- 雑記記事(お酒・映画など)の場合:
- 製品名、生産地、メーカー
- 公開年、監督、出演者
- 価格帯、アルコール度数
- 格付け、認定情報
- 一般的な事実:
- 統計データ、数値
- 歴史的な出来事、日付
- 引用や参照
3. **Web検索で事実を確認する**
- 各事実について、WebSearchツールを使って検証する
- 公式ドキュメント、公式サイトを優先的に参照
- 複数の情報源で確認する
- 最新の情報かどうか確認する
4. **結果を出力する**
- 検証した事実を分類して出力
- 修正が必要な箇所を優先度付きでまとめる
## 検証の優先順位
**高優先度(必ず検証)**
- 技術的な仕様、バージョン番号
- コマンドやコードの構文
- 製品の正式名称
- 数値データ(度数、価格など)
**中優先度(できれば検証)**
- 歴史的背景
- 一般的な知識
- 業界の慣習や傾向
**低優先度(検証不要な場合も)**
- 個人的な体験や感想
- 主観的な評価
- 意見として明記されている内容
$ARGUMENTS を使うことで、コマンド実行時に渡された引数(この場合はファイルパス)を受け取れます。
例: /fact-check src/content/blog/2025/10/example.mdx
出力フォーマット
検証結果は、以下のようなフォーマットで出力されます:
## ファクトチェック結果
**記事**: [記事タイトル]
**記事タイプ**: [技術記事/雑記記事/コラム]
**検証日**: [YYYY-MM-DD]
---
### ✅ 正確な情報
1. **事実内容**: Node.jsのバージョンは20.x
- **検証結果**: 正確
- **情報源**: https://nodejs.org/
### ⚠️ 要確認の情報
1. **事実内容**: Astroのバージョンは3.0.0
- **検証結果**: 要確認
- **理由**: 現在の最新バージョンは4.0.0
- **推奨対応**: バージョン番号を更新
### ❌ 不正確な情報
(該当する場合のみ表示)
### 🔍 検証不可の情報
(該当する場合のみ表示)
実際の使い方
基本的な使い方
記事を書き終えたら、以下のコマンドを実行:
/fact-check src/content/blog/2025/10/your-article.mdx
Claudeが記事を読み込み、事実確認が必要な箇所を自動的に抽出してWeb検索で検証してくれます。
実際に使ってみた例
例えば、Astroに関する技術記事を検証した時の結果がこちら:
/fact-check src/content/blog/2025/10/astro-dark-mode.mdx
ファクトチェック結果
記事: Astroでダークモード実装ガイド
記事タイプ: 技術記事
検証日: 2025-10-26
✅ 正確な情報
- 事実内容: Astroのバージョンは4.0.0
- 検証結果: 正確
- 情報源: https://docs.astro.build/
- 検証結果: 正確
⚠️ 要確認の情報
- 事実内容: prefers-color-schemeの対応ブラウザは95%以上
- 検証結果: 要確認
- 理由: 2025年10月現在、Can I Useによると対応率は約96.5%
- 推奨対応: 数値を更新するか、「ほぼすべてのモダンブラウザ」といった表現に変更
- 検証結果: 要確認
📊 総評
正確な情報: 8件
要確認の情報: 1件
不正確な情報: 0件
検証不可の情報: 0件
総合評価: 概ね正確
コメント: 全体的に情報は正確です。1件の要確認事項については、最新の統計に更新することをお勧めします。
このように、具体的な修正案まで提示してくれるので、すぐに対応できます。
工夫したポイント
1. 記事の種類を自動判定
技術記事とお酒の記事では、検証すべき内容が全く違います。
そこで、記事のカテゴリーや内容から自動的に判定し、適切なチェック項目を選択するようにしました。
2. 検証不可の情報も明示
Web検索で見つからない情報や、個人的な体験談については「検証不可」として明示します。
これにより、「情報源がない=削除すべき」ではなく、適切に判断できるようになりました。
3. 修正の優先順位を提示
すべての指摘を同じ重要度で扱うと、どこから手を付ければいいか分からなくなります。
そこで、「優先度: 高・中・低」に分類し、修正すべき順番を明確にしました。
実際に使ってみて良かったこと
メリット
-
記事の信頼性が向上した
- バージョン番号の間違いや古い情報をすぐに発見できる
- 技術記事を書くときに最新の仕様との差を把握
-
確認作業の時間が大幅に短縮
- 手動で検索して確認していた作業が自動化された
- 複数の記事を一括でチェックできる
-
見落としが減った
- 人間が見落としがちな細かい数値の誤りも発見してくれる
- 参考リンクの妥当性も確認できる
-
知らなかったことが知れて面白い
- 技術記事なら違う実装方法が存在すること
- 雑多記事では自分の知らない細かい情報や背景を知れて楽しい
改善の余地
一方で、以下のような課題もあります:
-
Web検索の精度に依存する
- 日本語の情報が少ない場合、検証が難しい
- 最新すぎる情報は検索結果に出てこないことがある
-
個人的な体験談の扱い
- 「〜だと感じました」のような主観的な内容は検証不要だが、それを自動判定するのは難しい
-
検証の粒度
- すべての文を検証すると時間がかかる
- どこまで細かくチェックするかのバランスが重要
まとめ:ブログの品質を保つために
Claude Codeのカスタムコマンド機能を使って、ブログ記事の品質チェックを自動化する方法を紹介しました。
ポイント:
- カスタムコマンドは
.claude/commands/に配置するだけで作成できる - 記事の種類に応じて検証内容を変えることが重要
- 優先順位を付けることで、効率的に修正できる
- 検証不可の情報も明示することで、適切な判断ができる
技術記事やおすすめ記事、レビュー記事など、事実確認が必要な記事を書いている方は、ぜひ試してみてください。
記事の信頼性が向上し、さらに知らない新しい発見も見つけることができるかもです。
このブログが面白いと思った方は、是非とも下のボタンをクリックして、記事シェアやフォローをしていただけると嬉しいです!
📚 関連記事
【第2章】Meta タグとOGP設定でSNSシェアを最適化!Astroブログで実装してみた
SEO対策の第2章として、Meta タグとOGP設定をAstroブログに実装してみました。検索結果やSNSシェアの見栄えを改善する方法を、実際のコード例と試行錯誤のプロセスを交えて解説します。
【第1章】SEO対策とは?個人ブログ開発者が検索順位を上げるために調べた4つの施策
SEO対策って何をすればいいの?と思って調べてみた話をまとめました。検索エンジンで上位表示されるために重要な4つの施策(コンテンツ最適化、技術的SEO、UX、外部対策)とGoogleの評価基準(E-E-A-T)を解説します。
Claude Code CLIのカスタムコマンドでブログ運営を効率化する方法
Claude Code CLIのカスタムコマンドで、記事作成からレビューまで自動化したら爆速になった!実際に作った「ブログ作成を支援」「ブログのレビュー」コマンドのコードと使い方を全部公開。ブログ運営を効率化したい人におすすめです。
Astroブログでダークモード実装してみた話【FOUC対策からアクセシビリティまで】
Astroブログにダークモード実装した時にぶつかったFOUC問題、LocalStorageとの連携、アクセシビリティ対応まで、実際に躓いたポイントと解決方法を全部コード付きで解説します。個人開発でダークモード入れたい人は必見です!