こんにちは、えふてぃです。
ブログを書くのが大変だよおおおおーーー!!!(心からの叫び)
書くのは楽しいけど結構時間がかかっている!!!
…というのが、ブログを始めて1週間の正直な感想です。記事の執筆そのものは楽しいんですが、品質管理やスタイルの統一、細かいチェック項目の確認など、やることがいっぱいで気づけば数時間経っていることも。
特に大変だったのが、AIと協力して記事を書く時でした。頭の中にあるブログのルールやスタイルを、毎回ゼロから説明するのって想像以上に手間なんですよね。「前も同じこと言ったな…」と思いながら、またイチから説明して、それでもルールが完全には伝わらなくて、結局あとで修正する羽目に。
「もっと効率的な方法、絶対あるはず…!」
そんな時にふと思い出したのが、普段の開発で使っているClaude Code CLIのカスタムコマンド機能でした。「これ、ブログ運営にも使えるんじゃない?」と思いついて試してみたところ、記事作成の時間が劇的に短縮されました。
この記事では、実際に私のブログプロジェクトで使っているカスタムコマンドを例に、ブログ運営を効率化した方法を共有していきます。「ブログ楽しいけど時間かかりすぎる…!」と感じている方に、ぜひ読んでいただきたい内容です。
Claude Code CLIとカスタムコマンドとはなんぞや??
Claude Code CLIの概要
Claude Code CLIは、AnthropicがリリースしたClaude AIの公式コマンドラインインターフェースです。ターミナルから直接Claudeと対話でき、コード生成やファイル操作、タスクの自動化などが可能になります。
カスタムコマンドの仕組み
カスタムコマンドは、プロジェクトの .claude/commands ディレクトリに配置したMarkdownファイルを、スラッシュコマンドとして実行できる機能です。
つまり一度のコマンドで手間なく要件を伝えられる神機能ということです。
基本的な構造:
- ファイルパス:
.claude/commands/command-name.md - 実行方法:
/command-name 引数 - 内容: プロンプトやタスクの手順をMarkdown形式で記述
普通のプロンプトと何が違うの?
カスタムコマンドを使うと、よく使うプロンプトを再利用できます。毎回同じ指示を入力する手間が省けて、作業の標準化もできますよ。
実際に使っているカスタムコマンド
私のブログプロジェクトでは、以下のカスタムコマンドを運用しています。
1. create-blog: 記事作成コマンド
書きたい記事の要件を伝えるだけで、記事を作成してくれる大変ありがたいコマンドです。
使い方:
/create-blog Astroでブログを作る方法について技術記事を書く
コマンドの役割:
- 記事の種類を判断(技術記事、雑記、コラム)
- 適切なガイドラインを参照
- フロントマター、導入部、本論、まとめの構成で記事を作成
- 必要なコンポーネント(ChatBubble、InfoBoxなど)を適切に配置
ファイルの中身(抜粋):
## 手順
1. **記事の種類を判断する**
- 技術系の内容なら: `docs/guidelines/tech-article.md` を参照
- ライフスタイル・趣味系なら: `docs/guidelines/casual-article.md` を参照
- 短めのコラムなら: `docs/guidelines/column.md` を参照
2. **共通ガイドラインを確認する**
- `docs/guidelines/article.md`: 基本構成ルール
- `docs/guidelines/style-guide.md`: 文体・表現のルール
3. **記事を作成する**
- 適切なガイドラインに従って記事を執筆する
- フロントマター、導入部、本論、まとめ、シェア案内の構成で
ガイドラインファイルへの参照を含めることで、Claudeがプロジェクトのルールを理解し、あなたのスタイルに沿った記事を一緒に作り上げてくれます。さらに、ガイドラインを更新した際も、カスタムコマンド自体を修正する必要がありません。ファイルパス参照なら、ガイドラインファイルを編集するだけで、すべてのカスタムコマンドに自動的に反映されます。
2. review-blog: 記事レビューコマンド
作成した記事を自動的にレビューして、改善点を提案するコマンドです。
使い方:
/review-blog src/content/blog/2025/10/my-article.mdx
コマンドの役割:
- 記事ファイルを読み込み
- 記事の種類を判断
- ガイドラインに基づいて採点(100点満点)
- 問題点と改善案を出力
採点基準:
- 構成(30点): フロントマター、導入部、本論、まとめ、シェア案内
- 文体(20点): です・ます調、語りかけ、親しみやすさ
- 内容(30点): 文字数、情報の充実度、具体性
- 技術的正確性(10点): コードやコマンドの正確性
- コンポーネント活用(10点): ChatBubble、InfoBox、Tableの適切な使用
出力フォーマット(例):
## 記事レビュー結果
**記事タイプ**: 技術記事
**総合評価**: 85/100点
### 📊 詳細スコア
- 構成: 28/30点
- 文体: 18/20点
- 内容: 27/30点
### 🚨 致命的な問題点(Critical)
- [ ] 導入部に[えふてぃ](https://x.com/ft_blogs)へのリンクがない
### 💡 改善提案(Improvement)
1. **コード例の追加**
- 現状: 説明のみ
- 改善案: 実際に動作するコード例を追加
- 理由: 読者がすぐに試せるようになる
カスタムコマンドの作り方
実際にカスタムコマンドを作成する手順を紹介します。
ステップ1: ディレクトリの作成
プロジェクトルートに .claude/commands ディレクトリを作成します。
mkdir -p .claude/commands
ステップ2: コマンドファイルの作成
.claude/commands/my-command.md のような形式でMarkdownファイルを作成します。
例: シンプルなコマンド
# コード改善コマンド
あなたはコードレビューの専門家です。
## 引数
ユーザーから提供されるファイルパス: $ARGUMENTS
## 手順
1. 指定されたファイルを読み込む
2. コードの問題点を特定する
3. 改善案を提案する
4. リファクタリング後のコードを提示する
## チェック項目
- [ ] 命名規則は適切か
- [ ] コメントは十分か
- [ ] エラーハンドリングは適切か
- [ ] パフォーマンスに問題はないか
ステップ3: コマンドの実行
Claude Code CLIから以下のように実行します。
/my-command src/utils/helper.ts
コマンド名はファイル名(拡張子なし)から自動的に決まります。create-blog.md なら /create-blog として使えます。
カスタムコマンドのベストプラクティス
実際に運用してみて分かった、効果的なカスタムコマンドの作り方を紹介します。
1. 明確な手順を記述する
コマンドには具体的な手順を番号付きリストで記述します。
良い例:
## 手順
1. **ファイルを読み込む**
- 指定されたパスのファイルを確認
2. **内容を分析する**
- 構造を理解する
- 問題点を特定する
3. **改善案を提示する**
- 具体的な修正方法を説明
2. ガイドラインファイルを参照する
外部のガイドラインファイルを参照することで、プロンプトをシンプルに保てます。
## 参照ドキュメント
- `docs/guidelines/style-guide.md`: 文体ルール
- `docs/guidelines/tech-article.md`: 技術記事の書き方
3. チェックリストを活用する
チェックリスト形式で確認項目を記述すると、漏れが防げます。
## チェック項目
- [ ] タイトルは適切か
- [ ] 文字数は十分か
- [ ] コード例は動作するか
4. 出力フォーマットを指定する
期待する出力形式を明示すると、一貫性のある結果が得られます。
### 出力フォーマット
\```
## レビュー結果
- 総合評価: [点数]/100点
- 問題点: [詳細]
- 改善案: [具体的な提案]
\```
カスタムコマンドの活用例
記事作成ワークフロー
私の実際のワークフローを紹介します。
1. 記事のアイデア出し
# 通常の会話でテーマを相談
「次はどんな技術記事を書こうか相談したい」
2. 記事の作成
/create-blog Astroのパフォーマンス最適化について技術記事を書く
3. 記事のレビュー
/review-blog src/content/blog/2025/10/astro-performance.mdx
4. 改善点の修正
# レビュー結果を基に修正依頼
「レビューで指摘された導入部のリンクを追加して」
このワークフローにより、記事の品質を保ちながら効率的に執筆できています。
その他の活用例
カスタムコマンドは、ブログ運営以外にも様々な場面で活用できます。
コードレビュー:
/code-review src/components/Button.tsx
テストの生成:
/generate-test src/utils/validator.ts
ドキュメント更新:
/update-docs APIの仕様変更に合わせてREADMEを更新
カスタムコマンドのメリット
実際に使ってみて感じたメリットを紹介します。
1. 作業の標準化
ガイドラインに沿った記事を毎回同じ品質で作成できます。「今回はこのチェックを忘れた」といったミスが減りました。
裏でいくつか並行して記事をスタックしていると、どこまで書いたかわからなくなり抜けが出てきてしまうので助かる!
2. 時間の節約
以前は記事執筆に2時間ほどかかっていましたが、カスタムコマンドを使うことで1時間以内に短縮できました。特に、構成の下書きやレビューの自動化が大きな効果を発揮しています。
まだブログ書き慣れておらず…構成とか悩んでしまうので助かる!
3. ガイドラインの一元管理
コマンドから自動的にガイドラインを参照するため、常に最新のルールに従った記事が作成できます。ガイドラインを更新すれば、すべての記事作成に反映されます。
ガイドラインを更新するだけですべての記事作成に反映されるので、管理が楽!
4. レビューの客観性
自分で書いた記事は、どうしても見落としが出てしまう。 でもカスタムコマンドによる自動レビューで、客観的な視点からのフィードバックが得られて執筆仲間が一人増えた気持ちです。
導入時に躓いたポイント
カスタムコマンド自体の導入は簡単でしたが、AIに読ませるガイドラインファイルの設計で苦労しました。
問題: ガイドラインファイルの構造化
**状況:**ブログには技術記事、雑記記事、コラムなど、複数の種類の記事があります。それぞれルールが異なるのに、どうガイドラインを整理すれば良いのか。
最初は1つのファイルにすべてのルールを書いていましたが、記事の種類によって不要な情報まで読み込まれてしまい、効率がよろしくない…。
**解決方法:**ガイドラインを以下のように分離しました:
共通ルール:
article.md: 基本構成ルール(すべての記事で共通)style-guide.md: 文体・表現のルール(すべての記事で共通)
種類別ルール:
tech-article.md: 技術記事特有のルールcasual-article.md: 雑記記事特有のルールcolumn.md: コラム記事特有のルール
そして、カスタムコマンド内で記事の種類を判断し、適切なガイドラインを参照させる仕組みを構築しました。これにより、記事の内容に合わせて必要なルールだけを読み込めるようになり、効率的に記事を作成できるように!
まとめ:カスタムコマンドでブログ運営を効率化しよう
Claude Code CLIのカスタムコマンドを活用することで、ブログ記事の作成とレビューを大幅に効率化できました。
この記事のポイント:
- カスタムコマンドは
.claude/commandsにMarkdownファイルを配置するだけ - 記事作成、レビュー、コード改善など様々な用途に活用できる
- ガイドラインファイルを参照することで、プロンプトをシンプルに保てる
- チェックリストや出力フォーマットを明示すると、一貫性のある結果が得られる
ブログ運営だけでなく、日々の開発作業でも活用できる機能です。よく使うタスクがあれば、ぜひカスタムコマンドとして定義してみてください。
作業の効率化だけでなく、品質の向上にもつながりますよ〜。
PS:実は品質チェックを兼ねた事実チェックのコマンドが存在するのですが、効果を確認中ですのでまた別記事でお伝えします!お楽しみにー。
このブログが面白いと思った方は、是非とも下のボタンをクリックして、記事シェアやフォローをしていただけると嬉しいです!
📚 関連記事
【第2章】Meta タグとOGP設定でSNSシェアを最適化!Astroブログで実装してみた
SEO対策の第2章として、Meta タグとOGP設定をAstroブログに実装してみました。検索結果やSNSシェアの見栄えを改善する方法を、実際のコード例と試行錯誤のプロセスを交えて解説します。
Claude Code CLIのカスタムコマンドでブログ記事の品質チェックを効率化した話
Claude Codeのカスタムコマンド機能を使って、ブログ記事の事実確認を自動化する方法を紹介。技術記事や雑記記事の信頼性を高めるための実装例を解説します。
【第1章】SEO対策とは?個人ブログ開発者が検索順位を上げるために調べた4つの施策
SEO対策って何をすればいいの?と思って調べてみた話をまとめました。検索エンジンで上位表示されるために重要な4つの施策(コンテンツ最適化、技術的SEO、UX、外部対策)とGoogleの評価基準(E-E-A-T)を解説します。
Astroブログでダークモード実装してみた話【FOUC対策からアクセシビリティまで】
Astroブログにダークモード実装した時にぶつかったFOUC問題、LocalStorageとの連携、アクセシビリティ対応まで、実際に躓いたポイントと解決方法を全部コード付きで解説します。個人開発でダークモード入れたい人は必見です!